goreleaser Pro's --split mode pushes Docker images during the
per-target build job (see 'pushing docker images from partial release'
in goreleaser output). The shared workflow previously only logged in
to ghcr.io during the merge job, so the build-phase push failed with
'unauthorized: unauthenticated: User cannot be authenticated with the
token provided'.
Added docker/login-action + docker/setup-buildx-action to the build
step, gated on matrix.goos == 'linux' since Docker images are
Linux-only in every consumer of this workflow. Uses the default
GITHUB_TOKEN, which has packages:write per the existing permissions
block.
- Add build-tags input parameter to go-test action
- Add build-tags input to go-pr workflow with CGO support
- Pass build-tags to go-test action in go-release-cgo workflow
- Enable CGO_ENABLED=1 in go-pr test job
This allows projects requiring CGO and build tags (e.g., SQLite FTS5)
to properly compile and test with sqlite-vec and other CGO dependencies.
Fixes test failures for projects using sqlite-vec-go-bindings.
Added Docker buildx setup with docker-container driver to support
multi-platform Docker image builds in the release job.
Changes:
- Set up Docker buildx with moby/buildkit driver
- Login to GitHub Container Registry before GoReleaser
This fixes the error:
"Multi-platform build is not supported for the docker driver"
The release job needs an explicit if condition to run even when optional
jobs like frontend are skipped. Without this, GitHub Actions skips the
release job when any dependency doesn't have 'success' status.
Now release will run as long as version and build jobs succeed.
Allow repos to optionally run a ./workflow-prepare.sh script
after checkout to handle any pre-build setup like downloading
dependencies or generating files.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add goreleaser-key input for Pro license
- Use goreleaser-pro distribution for split/merge modes
- Split: goreleaser release --clean --split
- Merge: goreleaser continue --merge
- Pass GORELEASER_PRO secret to action
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change merge mode to use 'release --skip=build' since binaries are pre-built
- Upload full dist/ directory, not just files with extensions
- This ensures binary directories are preserved across the artifact upload/download
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
macOS-13 runners are deprecated, switching to macos-15-large for
darwin_amd64 builds.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add frontend job that builds Node.js frontend once on ubuntu
- Platform builds now download the frontend artifact
- New inputs: node-cache-dependency-path, node-output-path, node-embed-path
- Reduces build time by avoiding redundant frontend builds on each platform
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>