name: Release on: push: tags: - 'v*' jobs: build: runs-on: ubuntu-latest strategy: matrix: include: - goos: linux goarch: amd64 - goos: linux goarch: arm64 - goos: darwin goarch: amd64 - goos: darwin goarch: arm64 steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Build env: GOOS: ${{ matrix.goos }} GOARCH: ${{ matrix.goarch }} run: | go build \ -ldflags "-X main.version=${{ github.ref_name }}" \ -o terdut-tui-${{ github.ref_name }}-${{ matrix.goos }}-${{ matrix.goarch }} \ . - uses: actions/upload-artifact@v4 with: name: terdut-tui-${{ github.ref_name }}-${{ matrix.goos }}-${{ matrix.goarch }} path: terdut-tui-${{ github.ref_name }}-${{ matrix.goos }}-${{ matrix.goarch }} release: needs: build runs-on: ubuntu-latest permissions: contents: write steps: - uses: actions/download-artifact@v4 with: merge-multiple: true - uses: softprops/action-gh-release@v2 with: files: 'terdut-tui-*'