name: Publish Go Releases concurrency: group: release-${{ github.event_name }}-${{ github.ref }} cancel-in-progress: true on: push: tags: - '*' jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Check out code into the Go module directory uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v4 with: check-latest: true go-version: '1.21' - name: Cache go module uses: actions/cache@v3 with: path: ~/go/pkg/mod key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-go- - name: Run test run: | go test ./... - name: Build if: startsWith(github.ref, 'refs/tags/') run: make -j releases - name: Upload Releases uses: softprops/action-gh-release@v1 if: startsWith(github.ref, 'refs/tags/') with: files: build/* draft: true prerelease: false