name: Release permissions: write-all on: push: tags: - "v*" jobs: build: name: Build runs-on: ubuntu-latest strategy: matrix: os: - windows - linux - darwin arch: - amd64 - arm64 exclude: - os: windows arch: arm64 steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v4 with: go-version: '1.23' - name: Build binary run: | export GOOS=${{ matrix.os }} export GOARCH=${{ matrix.arch }} go build -ldflags "-X holesail-proxy/utils.Version=1" - name: Pack binary run: zip holesail-proxy-${{ matrix.os }}-${{ matrix.arch }}.zip holesail-proxy${{ matrix.os == 'windows' && '.exe' || '' }} - name: Create release uses: ncipollo/release-action@v1.15.0 with: tag: ${{ needs.create-tag.outputs.new_tag }} artifacts: holesail-proxy-${{ matrix.os }}-${{ matrix.arch }}.zip allowUpdates: true