release.yaml 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. name: Release Go Binaries
  2. on:
  3. release:
  4. types: [created]
  5. # Declare default permissions as read only.
  6. permissions: read-all
  7. jobs:
  8. releases-matrix:
  9. name: Release Go Binary
  10. runs-on: ubuntu-latest
  11. strategy:
  12. matrix:
  13. goos: [freebsd, linux, windows]
  14. goarch: [amd64, arm64]
  15. permissions:
  16. contents: write
  17. packages: write
  18. steps:
  19. - name: Harden Runner
  20. uses: step-security/harden-runner@002fdce3c6a235733a90a27c80493a3241e56863 # v2.12.1
  21. with:
  22. egress-policy: audit
  23. - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
  24. - name: Set APP_VERSION env
  25. run: echo APP_VERSION=$(echo ${GITHUB_REF} | rev | cut -d'/' -f 1 | rev ) >> ${GITHUB_ENV}
  26. - name: Set BUILD_TIME env
  27. run: echo BUILD_TIME=$(date) >> ${GITHUB_ENV}
  28. - uses: wangyoucao577/go-release-action@481a2c1a0f1be199722e3e9b74d7199acafc30a8 # v1.53
  29. with:
  30. github_token: ${{ secrets.GITHUB_TOKEN }}
  31. goos: ${{ matrix.goos }}
  32. goarch: ${{ matrix.goarch }}
  33. goversion: "1.24"
  34. extra_files: LICENSE README.md smtprelay.ini
  35. ldflags: -s -w -X "main.appVersion=${{ env.APP_VERSION }}" -X "main.buildTime=${{ env.BUILD_TIME }}"