name: Build and Release on: push: branches: - main tags: - 'v*' pull_request: jobs: release: name: 'Go Releaser' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.21' check-latest: true - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '20.x' cache: 'yarn' cache-dependency-path: ui/yarn.lock - name: Build frontend run: | yarn install --frozen-lockfile --non-interactive yarn run build working-directory: ./ui - name: Test build release uses: goreleaser/goreleaser-action@v6 if: "!startsWith(github.ref, 'refs/tags/v')" with: version: latest args: release --snapshot - name: Build and publish release uses: goreleaser/goreleaser-action@v6 if: "startsWith(github.ref, 'refs/tags/v')" with: version: latest args: release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}