Commit Graph
19 Commits
Author SHA1 Message Date
tozuo-home-cluster-eso[bot]GitHubtozuo-home-cluster-eso[bot] <287217661+tozuo-home-cluster-eso[bot]@users.noreply.github.com>
5cb1998345 chore(deps): update actions/setup-go action to v7 (#5)
Co-authored-by: tozuo-home-cluster-eso[bot] <287217661+tozuo-home-cluster-eso[bot]@users.noreply.github.com>
2026-10-03 23:00:59 +01:00
tozuo-home-cluster-eso[bot]GitHubtozuo-home-cluster-eso[bot] <287217661+tozuo-home-cluster-eso[bot]@users.noreply.github.com>
852afeb5aa chore(deps): update actions/setup-node action to v7 (#6)
Co-authored-by: tozuo-home-cluster-eso[bot] <287217661+tozuo-home-cluster-eso[bot]@users.noreply.github.com>
2026-10-03 23:00:46 +01:00
lukaszraczylo fe70d4c707 fix(release): pass a GoReleaser timeout of 60 minutes
The continue command that merges split builds stops after 30 minutes by
default. A slow multi-architecture docker build under QEMU hit that
limit and the superclaw release failed with context canceled after
30 minutes.

The goreleaser action takes a timeout input, default 60m, and passes it
to release, release --split and continue --merge. The release workflows
expose it as release-timeout.
2026-10-03 00:05:15 +01:00
lukaszraczylo 9533a6518f feat(preflight): probe release and ghcr push access
A caller can grant narrower permissions than the release job needs. The
release then fails at the end, when it creates the tag or pushes an
image.

The preflight job now declares the same contents and packages
permissions as the release job and probes with the real token. A git
push dry run checks that the token can create the tag and release. A
ghcr.io token request and a blob upload session check that the token can
push the image. The upload session creates no package.

The release-cgo workflow probes ghcr only when the GoReleaser config
builds ghcr.io images. The release workflow probes it when
docker-enabled is true and the registry is ghcr.io. A probe that cannot
reach a verdict warns and does not fail.
2026-10-02 01:27:01 +01:00
lukaszraczylo f9b22ef8d9 feat(preflight): fail early when a secret or repository access is missing
A release run used to fail at the GoReleaser step when a secret was
empty, after the tests and the version job had finished.

A new preflight action checks the required names, the .Env references
in the GoReleaser config and push access to optional repositories. It
lists every problem in one run. The release and release-cgo workflows
run it in a first job, so a missing secret fails in seconds.

The release-cgo workflow requires GORELEASER_PRO. The release workflow
requires the secrets that the GoReleaser config references. Set the
preflight input to false to skip the check. Set preflight-repos to check
access to a Homebrew tap or helm-charts repository.
2026-10-02 01:23:56 +01:00
lukaszraczylo a4cf065ea1 ci(goreleaser): commit build-time source changes into the tagged commit
Before tagging, fold any working-tree changes left by a repo-local workflow-prepare.sh (e.g. version stamping) into the tagged commit. Without this the tag captured the unstamped source AND GoReleaser's 'release --clean' failed on the dirty tree. The commit is reachable only via the tag (the branch is not pushed), so a 0.0.0-dev placeholder on main is preserved. No-op when the tree is clean, so repos that do not stamp are unaffected.
2026-05-30 13:09:30 +01:00
lukaszraczylo fb34ae51e5 Revert "fixup! chore(goreleaser): pin sigstore/cosign-installer to v4.1.2"
This reverts commit cc643787c5.
2026-05-22 00:33:40 +01:00
lukaszraczylo cc643787c5 fixup! chore(goreleaser): pin sigstore/cosign-installer to v4.1.2 2026-05-22 00:22:12 +01:00
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 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 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
lukaszraczyloandClaude Opus 4.5 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 <[email protected]>
2025-12-14 20:38:38 +00:00
lukaszraczyloandClaude Opus 4.5 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 <[email protected]>
2025-12-14 20:32:00 +00:00
lukaszraczyloandClaude Opus 4.5 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 <[email protected]>
2025-12-14 20:27:35 +00:00
lukaszraczyloandClaude Opus 4.5 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 <[email protected]>
2025-12-14 20:09:46 +00:00
lukaszraczylo f01c18353f Utilise composite workflows. 2025-12-14 19:54:19 +00:00