name: Release on: push: tags: - "v*" permissions: contents: write packages: write jobs: release: name: Build & Release runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - uses: actions/setup-go@v5 with: go-version: "1.25" - uses: actions/setup-node@v4 with: node-version: "22" cache: "npm" cache-dependency-path: web/package-lock.json - name: Create web build placeholder for tests run: mkdir -p web/build && echo "placeholder" > web/build/.gitkeep - name: Run tests run: go test ./... - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Run GoReleaser uses: goreleaser/goreleaser-action@v6 with: version: "~> v2" args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}