name: Gitea Actions Demo run-name: ${{ gitea.actor }} build go🚀 on: push: tags: - '*' jobs: releases-matrix: name: Release Go Binary runs-on: ubuntu-latest strategy: matrix: # build and publish in parallel: linux/386, linux/amd64, linux/arm64, windows/386, windows/amd64, darwin/amd64, darwin/arm64 goos: [linux, windows, darwin] goarch: ["386", amd64, arm64] exclude: - goarch: "386" goos: darwin - goarch: arm64 goos: windows steps: - uses: actions/checkout@v4 - uses: wangyoucao577/go-release-action@v1 id: go-release-action with: github_token: ${{ secrets.GITHUB_TOKEN }} goos: ${{ matrix.goos }} goarch: ${{ matrix.goarch }} multi_binaries: true project_path: ./cmd/... upload: false # output is release_asset_dir - name: rename artifact # append os and arch to the artifact name (handle windows .exe) run: | cd ${{ steps.go-release-action.outputs.release_asset_dir }} for f in *; do if [[ $f == *.exe ]]; then noextname=$(basename "$f" .exe) mv "$f" "${noextname}-${{ matrix.goos }}-${{ matrix.goarch }}.exe" else mv "$f" "${f}-${{ matrix.goos }}-${{ matrix.goarch }}" fi done cd - - name: Compress binaries uses: svenstaro/upx-action@v2 with: files: | ${{ steps.go-release-action.outputs.release_asset_dir }}/** - uses: akkuman/gitea-release-action@v1 with: files: |- ${{ steps.go-release-action.outputs.release_asset_dir }}/**