linux.yml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. name: Release to Linux repository
  2. on:
  3. release:
  4. types:
  5. - published
  6. jobs:
  7. build:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - name: Checkout
  11. uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
  12. with:
  13. fetch-depth: 0
  14. - name: Setup Go
  15. uses: actions/setup-go@v5
  16. with:
  17. go-version: ^1.22
  18. - name: Extract signing key
  19. run: |-
  20. mkdir -p $HOME/.gnupg
  21. cat > $HOME/.gnupg/sagernet.key <<EOF
  22. ${{ secrets.GPG_KEY }}
  23. echo "HOME=$HOME" >> "$GITHUB_ENV"
  24. EOF
  25. echo "HOME=$HOME" >> "$GITHUB_ENV"
  26. - name: Publish release
  27. uses: goreleaser/goreleaser-action@v5
  28. with:
  29. distribution: goreleaser-pro
  30. version: latest
  31. args: release -f .goreleaser.fury.yaml --clean
  32. env:
  33. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  34. GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
  35. FURY_TOKEN: ${{ secrets.FURY_TOKEN }}
  36. NFPM_KEY_PATH: ${{ env.HOME }}/.gnupg/sagernet.key
  37. NFPM_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}