name: Release on: push: tags: - "v*" permissions: contents: write jobs: build: strategy: matrix: include: - os: macos-latest goos: darwin goarch: amd64 - os: macos-latest goos: darwin goarch: arm64 - os: ubuntu-latest goos: linux goarch: amd64 - os: ubuntu-latest goos: linux goarch: arm64 - os: windows-latest goos: windows goarch: amd64 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: "1.26" - name: Build run: | mkdir -p dist GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} \ go build -o dist/termtap-${{ matrix.goos }}-${{ matrix.goarch }} ./cmd/tap/main.go - name: Upload artifact uses: actions/upload-artifact@v4 with: name: termtap-${{ matrix.goos }}-${{ matrix.goarch }} path: dist/* release: needs: build runs-on: ubuntu-latest steps: - uses: actions/download-artifact@v4 with: path: dist - uses: softprops/action-gh-release@v2 with: files: dist/**/*