ci: add consolidated CodeBuild buildspec for lint+test#265
Merged
Conversation
Adds ci/buildspecs/ci.yml — a single buildspec that runs lint + test for every component (cli, server, plugin, schema, sdk-go, sdk-python, install, licenses, prompts-sync) in sequence. This is the CodeBuild replacement for the nine .github/workflows/ci-*.yaml workflows, run by the new consolidated CodeBuild project `8th-layer-agent-ci`. One pass/fail PR check instead of nine. Granular per-component splitting is deliberately out of scope for a fork this size — on failure the build log names the failing component. Toolchains are installed explicitly in the install phase so the build is reproducible regardless of the base image: Go 1.26.1 (all go.mod files pin it, newer than amazonlinux-standard:5.0 ships), golangci-lint v2.10.1, uv, and Node 22 + pnpm 10. The 9 ci-*.yaml workflows are removed in a follow-up PR once a green CodeBuild run confirms parity. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
CodeBuild's buildspec YAML parser rejected the first build with "did not find expected key at line 65" — the `echo "::: [component] ..."` log markers start with a colon, which an unquoted YAML scalar reads as a mapping key. Single-quote every command list item so each is an unambiguous scalar, and drop the in-sequence divider comments (the echo markers already label each component). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The first consolidated CodeBuild CI run surfaced pre-existing drift:
`sdk/go/prompts/{SKILL,reflect}.md` and `sdk/python/src/cq/prompts/{SKILL,reflect}.md`
were out of sync with their canonical sources under `plugins/cq/`.
The plugin sources document the `propose_batch` reflect flow but the SDK
copies still described the older per-candidate `propose` flow — the
`propose_batch` change updated the plugin without re-running
`make sync-prompts` in the SDKs. The GHA `ci-prompts-sync.yaml` only
fires on paths touching these files, so the drift slipped through.
Ran `make sync-prompts` to bring all four copies back in line. This
unblocks the consolidated CI build's first check (`check-prompts-sync`).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
dwinter3
added a commit
that referenced
this pull request
May 15, 2026
Removes ci-cli, ci-install, ci-licenses, ci-plugin, ci-prompts-sync, ci-schema, ci-sdk-go, ci-sdk-python, and ci-server. Their lint + test coverage is now provided by the consolidated AWS CodeBuild project `8th-layer-agent-ci` (buildspec `ci/buildspecs/ci.yml`, added in #265), triggered on PR + push-to-main via a CodeConnections webhook. This completes the repo's move off GitHub Actions — the release-* and deploy workflows were migrated earlier. The CodeBuild project reproduces the GHA workflows' behaviour exactly, including the parity of their current red state: ci-server.yaml is already failing on main (7 pre-existing backend pytest failures around HEAD_REVISION bumps, the users.role bind parameter, and a review-auth assertion), unrelated to this migration. The new project surfaces the same 7 failures, so no working CI gate is lost by this removal. Co-authored-by: David Winter <dw@choruscap.ai> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
ci/buildspecs/ci.yml, a single CodeBuild buildspec that runs lint + test for every component in sequence:prompts-sync→schema→cli→sdk-go→licenses→plugin→install→sdk-python→serverThis is the CodeBuild replacement for the nine
.github/workflows/ci-*.yamlGitHub Actions workflows, completing the repo's move off GitHub Actions (therelease-*and deploy workflows are already migrated).Why one consolidated project
A single CodeBuild project (
8th-layer-agent-ci) and one pass/fail PR check — granular 9-way splitting is deliberately out of scope for a fork this size. On failure the build log names the failing component (::: [component] ...markers).Toolchains
Installed explicitly in the install phase for reproducibility regardless of base image:
cli/go.mod,schema/go.mod,sdk/go/go.modall pin it; newer thanamazonlinux-standard:5.0ships. Same curl-tarball pattern asci/buildspecs/cli-release.yml.golangci-lint-action.AWS resources (already created)
8th-layer-agent-ci— imageamazonlinux-x86_64-standard:5.0,BUILD_GENERAL1_SMALL, source via theOneZero1aiCodeConnections connection,reportBuildStatus: true.8th-layer-agent-ci-codebuild— CloudWatch Logs + UseConnection only (no S3/deploy perms).main.Follow-up
The 9
ci-*.yamlworkflows are removed in a separate PR once a green CodeBuild run onmainconfirms parity.🤖 Generated with Claude Code