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@v3 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v3 with: go-version: '1.20' check-latest: true - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: '16.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@v4 if: "!startsWith(github.ref, 'refs/tags/v')" with: version: latest args: release --snapshot - name: Build and publish release uses: goreleaser/goreleaser-action@v4 if: "startsWith(github.ref, 'refs/tags/v')" with: version: latest args: release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}