Commit Graph

34 Commits

Author SHA1 Message Date
lukaszraczylo 486ef6e3a1 chore(goreleaser): pin sigstore/cosign-installer to v4.1.2 2026-05-21 03:28:54 +01:00
lukaszraczylo e4dac8969a chore(actions): bump shared actions to latest major versions
- actions/checkout v4 -> v6
- actions/setup-go v5 -> v6
- actions/setup-node v4 -> v6
- actions/upload-artifact v4 -> v7
- actions/download-artifact v4 -> v8
- actions/github-script v7 -> v9
- goreleaser/goreleaser-action v6 -> v7
- docker/login-action v3 -> v4
- docker/setup-buildx-action v3 -> v4
- docker/setup-qemu-action v3 -> v4
- sigstore/cosign-installer v3 -> v4
- peter-evans/create-pull-request v7 -> v8
2026-05-21 03:14:01 +01:00
lukaszraczylo d1f628c196 fix(go-release-cgo): add ghcr login + buildx to build step
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.
2026-04-19 23:33:20 +01:00
lukaszraczylo 8f7f235dde feat: add build tags support for Go tests
- 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.
2026-01-07 21:11:42 +00:00
lukaszraczylo edf7f3f2b8 fixup! fix: configure Docker buildx for multi-platform builds 2026-01-04 01:37:44 +00:00
lukaszraczylo ac2849fb9b fix: configure Docker buildx for multi-platform builds
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"
2026-01-03 23:19:14 +00:00
lukaszraczylo 6f59ddd894 fix: add condition to release job to prevent skipping when build succeeds
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.
2026-01-03 22:59:55 +00:00
lukaszraczylo b4d172b69c fixup! fixup! Add LFS support to the workflows. 2025-12-19 18:19:53 +00:00
lukaszraczylo 21b995bb16 fixup! Add LFS support to the workflows. 2025-12-19 04:47:31 +00:00
lukaszraczylo 18b88d10ed Add LFS support to the workflows. 2025-12-19 02:15:13 +00:00
lukaszraczylo d03ba1085e Remove the amd64 macs. 2025-12-16 13:39:45 +00:00
lukaszraczylo c0b292337a fixup! fixup! Extend workflows to allow for quirks. 2025-12-16 13:14:24 +00:00
lukaszraczylo 1b7d34effa fixup! Extend workflows to allow for quirks. 2025-12-16 12:38:41 +00:00
lukaszraczylo 08bda799dd Extend workflows to allow for quirks. 2025-12-16 12:19:28 +00:00
lukaszraczylo dd4f84aebd Add workflow prepare script hook to all jobs
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>
2025-12-16 12:17:22 +00:00
lukaszraczylo a663cc531f fixup! fixup! fixup! feat: use GoReleaser Pro for split/merge CGO builds 2025-12-15 00:15:24 +00:00
lukaszraczylo d4fa2819fb fixup! fixup! feat: use GoReleaser Pro for split/merge CGO builds 2025-12-14 23:56:30 +00:00
lukaszraczylo e9a3a6b5a5 fixup! feat: use GoReleaser Pro for split/merge CGO builds 2025-12-14 23:41:20 +00:00
lukaszraczylo 6b96327d17 feat: use GoReleaser Pro for split/merge CGO builds
- 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>
2025-12-14 20:38:38 +00:00
lukaszraczylo b25c6ad434 feat: use goreleaser for build/archive, gh CLI for release
Since GoReleaser Pro is needed for split/merge, use this approach:
- Split mode: goreleaser release --skip=publish --single-target (builds + archives)
- Merge mode: gh CLI to create release and upload artifacts

This allows CGO matrix builds without requiring Pro license.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 20:32:00 +00:00
lukaszraczylo 42c9680178 fix: use --skip=build for merge and capture full dist/ directory
- 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>
2025-12-14 20:27:35 +00:00
lukaszraczylo 0493dcf916 fix: update macos-13 to macos-15-large for Intel builds
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>
2025-12-14 20:18:32 +00:00
lukaszraczylo 47d7101d55 fix: use goreleaser build for CGO split mode instead of Pro feature
--split flag is GoReleaser Pro only. Use 'build --single-target' for
matrix builds and 'release --clean' for the merge step.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 20:09:46 +00:00
lukaszraczylo dce463c659 feat: build frontend once and share across platform builds
- 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>
2025-12-14 20:06:51 +00:00
lukaszraczylo f01c18353f Utilise composite workflows. 2025-12-14 19:54:19 +00:00
lukaszraczylo c489e4506c Update deprecated actions. 2025-12-14 19:54:18 +00:00
lukaszraczylo 06d102bbea Ensure that gosec does not pick the golang vulnerabilities. 2025-12-14 19:54:18 +00:00
lukaszraczylo df138828b9 Split checks to run in parallel. 2025-12-14 19:54:17 +00:00
lukaszraczylo a9204fcfbf Additional tests for shared workflows. 2025-12-14 19:54:16 +00:00
lukaszraczylo f08c7e9e76 Add pull request workflow. 2025-12-14 19:54:16 +00:00
lukaszraczylo ffc4f9f50e Auto merge on auto update. 2025-12-14 19:54:16 +00:00
lukaszraczylo b81a45fb55 Add ability to build docker images and gha's 2025-12-14 19:54:15 +00:00
lukaszraczylo 5f64b6c44f Add shared go release workflow. 2025-12-07 13:32:37 +00:00
lukaszraczylo ba8a762292 Add go autoupdate workflow 2025-12-07 13:07:42 +00:00