style(trashbin): update used icon #4075
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
pull_request: | |
branches: | |
- "main" | |
- "*/main/*/**" | |
push: | |
branches: | |
- "main" | |
- "*/main/*/**" | |
release: | |
types: [published] | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: "go.mod" | |
- name: Build | |
run: go build . | |
- name: Format | |
run: | | |
gofmt -s -l . | |
if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then exit 1; fi | |
release: | |
permissions: | |
id-token: write | |
contents: write | |
attestations: write | |
name: Release | |
strategy: | |
matrix: | |
os: ["linux", "darwin", "windows"] | |
arch: ["amd64", "arm64", "386"] | |
runs-on: ubuntu-latest | |
if: startsWith(github.ref, 'refs/tags/v2') | |
needs: build | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Get Tag | |
run: echo "TAG=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV | |
- name: Is Unix Platform | |
run: echo "IS_UNIX=${{ matrix.os != 'windows' && matrix.arch != '386' }}" >> $GITHUB_ENV | |
- name: Is Windows Platform | |
run: echo "IS_WIN=${{ matrix.os == 'windows' }}" >> $GITHUB_ENV | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version-file: "go.mod" | |
- name: Build | |
if: env.IS_UNIX == 'true' || env.IS_WIN == 'true' | |
run: | | |
go build -ldflags "-X main.version=${{ env.TAG }}" -o "./spicetify${{ matrix.os == 'windows' && '.exe' || '' }}" | |
chmod +x "./spicetify${{ matrix.os == 'windows' && '.exe' || '' }}" | |
env: | |
GOOS: ${{ matrix.os }} | |
GOARCH: ${{ matrix.arch }} | |
CGO_ENABLED: 0 | |
- name: Attest output | |
uses: actions/attest-build-provenance@v1 | |
if: env.IS_UNIX == 'true' || env.IS_WIN == 'true' | |
with: | |
subject-path: "./spicetify${{ matrix.os == 'windows' && '.exe' || '' }}" | |
subject-name: "spicetify v${{ env.TAG }} (${{ matrix.os }}, ${{ (matrix.os == 'windows' && matrix.arch == 'amd64' && 'x64') || (matrix.os == 'windows' && matrix.arch == '386' && 'x32') || matrix.arch }})" | |
- name: 7z - .tar | |
if: env.IS_UNIX == 'true' | |
uses: edgarrc/action-7z@v1 | |
with: | |
args: 7z a -bb0 "spicetify-${{ env.TAG }}-${{ matrix.os }}-${{ matrix.arch }}.tar" "./spicetify" "./CustomApps" "./Extensions" "./Themes" "./jsHelper" "globals.d.ts" "css-map.json" | |
- name: 7z - .tar.gz | |
if: env.IS_UNIX == 'true' | |
uses: edgarrc/action-7z@v1 | |
with: | |
args: 7z a -bb0 -sdel -mx9 "spicetify-${{ env.TAG }}-${{ matrix.os }}-${{ matrix.arch }}.tar.gz" "spicetify-${{ env.TAG }}-${{ matrix.os }}-${{ matrix.arch }}.tar" | |
- name: 7z - .zip | |
if: env.IS_WIN == 'true' | |
uses: edgarrc/action-7z@v1 | |
with: | |
args: 7z a -bb0 -mx9 "spicetify-${{ env.TAG }}-${{ matrix.os }}-${{ (matrix.arch == 'amd64' && 'x64') || (matrix.arch == 'arm64' && 'arm64') || 'x32' }}.zip" "./spicetify.exe" "./CustomApps" "./Extensions" "./Themes" "./jsHelper" "globals.d.ts" "css-map.json" | |
- name: Release | |
if: env.IS_UNIX == 'true' || env.IS_WIN == 'true' | |
uses: softprops/action-gh-release@v2 | |
with: | |
files: "spicetify-${{ env.TAG }}-${{ matrix.os }}-${{ (matrix.os == 'windows' && matrix.arch == 'amd64' && 'x64') || (matrix.os == 'windows' && matrix.arch == '386' && 'x32') || matrix.arch }}.${{ matrix.os == 'windows' && 'zip' || 'tar.gz' }}" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
trigger-release: | |
name: Trigger Homebrew/AUR Release | |
runs-on: ubuntu-latest | |
needs: release | |
steps: | |
- name: Update AUR package | |
uses: fjogeleit/http-request-action@master | |
with: | |
url: https://vps.itsmeow.dev/spicetify-update | |
method: GET | |
- name: Update Winget package | |
uses: vedantmgoyal9/winget-releaser@main | |
with: | |
identifier: Spicetify.Spicetify | |
installers-regex: '-windows-\w+\.zip$' | |
token: ${{ secrets.SPICETIFY_WINGET_TOKEN }} |