Skip to content

fix(ci): select Docker smoke for actual image build inputs - #7689

Merged
lidge-jun merged 12 commits into
lidge-jun:devfrom
luvs01:fix/docker-smoke-build-inputs
Oct 25, 2026
Merged

lidge-jun merged 12 commits into
lidge-jun:devfrom
luvs01:fix/docker-smoke-build-inputs

Conversation

@luvs01

@luvs01 luvs01 commented Oct 24, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Docker smoke can be skipped when a PR changes code or GUI inputs that the image actually builds and runs. The current filter lists only a few runtime modules and the GUI manifests. Cover all src/** runtime inputs and the GUI source, public assets, entry point, Vite configuration, and TypeScript configurations.

Keep documentation- and test-only changes outside the Docker filter. Job conditions, permissions, OS matrices, aggregate expectations, and the release/manual/nightly triggers are unchanged; the added work is the existing Ubuntu Docker smoke for PRs whose image inputs changed.

The dedicated change is three files (+49/-8) relative to #7627 at ba67ddb501cc9ee2871025d8a6b812074afbdd08. That parent has merged, and this PR has been restored against dev after deletion of the former parent branch, with its head unchanged. The existing normal merge preserves the parent upload-fixture follow-ups; it is not a new merge with current dev.

Verification

Candidate: 2276d6410604a58e012749aa0cb0239fc78681af, normal merge of 5df490cae1ffa193db7141e006e380b0d3a13c09 and ba67ddb501cc9ee2871025d8a6b812074afbdd08. The focused results below were executed on the original 5df490cae1ffa193db7141e006e380b0d3a13c09 with official Windows Bun 1.4.4, matching installed dependencies and no reinstall. Both scope test files and their workflow/helper/preload/runner/dep4 inputs are byte-identical in the candidate; the sole tree change from that executed head is the parent upload-test follow-up, which these focused files do not consume. These are reused input-equivalent results, not a claim of execution on the new commit:

  • CI=true bun test --isolate --timeout 60000 tests/ci-workflows/ci-scope-gaps.test.ts: 33 passed, 1 existing platform skip, 188 assertions.
  • CI=true bun test --isolate --timeout 60000 tests/ci-workflows/ci-scope-reduction.test.ts: 15 passed, 9 existing platform skips, 52 assertions.
  • 48 passed, 0 failed, 10 skipped, 240 assertions; both native exits 0. The tests parse the real workflow filter and exercise included image inputs plus excluded documentation/test paths.
  • On candidate 2276d6410604a58e012749aa0cb0239fc78681af, official Bun 1.4.4 reference TypeScript (tsc --noEmit), Structure SSOT, generated skill-surface consistency, changed-three-file privacy/file-size checks, and git diff --check passed. Every final validation unit returned native exit 0 and output EOF. The isolated temporary environment was removed. Independent source review checked the filter against Dockerfile, .dockerignore, and GUI build inputs.

PR CI on current head 2276d641 completed successfully, including Ubuntu Docker smoke (16 successful jobs, 7 conditional skips). The post-retarget run is separate and remains subject to its current checks. Earlier automatic PR CI also passed on 5df490ca, including its real Ubuntu Docker smoke. No manual dispatch was substituted for the pull-request filter path. Windows/macOS skips are not native-platform proof. Docker results are hosted evidence; no supported local Docker daemon was available. No GUI layout change.

Workflow sponsorship and explicit security review remain required before merge. #7627's shared runtime/test-runner baseline has landed; that parent merge does not establish this PR's own acceptance or new validation.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Summary by CodeRabbit

  • CI
    • Docker smoke checks now cover runtime source changes and a broader set of GUI build inputs.
  • Testing
    • Updated the test-runner version to Bun 1.4.4, matching the shipped runtime; the two roles remain independently validated.
    • Expanded checks for early upload responses, test-runner selection, and CI workflow coverage.
  • Documentation
    • Updated contributor guidance with the test-runner version and cross-platform verification requirements, including a successful full run on the exact candidate revision before promotion.

@coderabbitai

coderabbitai Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Run configuration
Commits

Reviewing files that changed from the base of the PR and between 2276d64 and f9a45d8.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

No actionable comments were generated in the recent review.

Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between 5df490c and 2276d64.

Files selected for processing: 1
  • tests/claude-integration/claude-picker-upload.test.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

Walkthrough

This PR updates the test-runner Bun pin to 1.4.4, expands the Docker smoke path filter and its tests, and adds fixture coverage for early responses during buffered uploads.

Changes: Bun Runtime and Test-Runner Roles

Layer / File(s) Summary
Bun pin, validation, and role documentation
package.json, tests/test-layout-tooling.test.ts, tests/ci-workflows/install-scripts.test.ts, .github/actions/setup-project-bun/action.yml, .github/workflows/ci.yml, CONTRIBUTING.md, Dockerfile, docs-site/src/content/docs/contributing.md, structure/runtime.md
The testRunnerBun pin changes to 1.4.4. Tests cover runner selection and package metadata. Documentation and comments describe independent role validation and the cross-platform lane=all promotion requirement. The runtime guide also documents caller-Bun reuse when its version matches the test pin.

Docker Smoke Path Selection

Layer / File(s) Summary
Docker smoke filter and selection tests
.github/workflows/ci.yml, tests/ci-workflows/ci-scope-gaps.test.ts, tests/ci-workflows/ci-scope-reduction.test.ts
The Docker filter now includes src/** and GUI build inputs. Tests cover Docker path matching and the pull-request condition, which requires both ci and docker outputs to be "true".

Buffered Upload Early-Response Test

Layer / File(s) Summary
Early-response fixture and assertions
tests/claude-integration/claude-picker-upload.test.ts
The fixture adds an early-FIN mode that records whether the request body is complete and whether the response was flushed. The buffered-upload test checks for a flushed response while the request remains incomplete.

Priority: Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Bug fix

Possibly related issues

  • Issue 7515: The early-upload tests cover an unfinished request during fixture teardown, but do not change the shared retry helper or the issue’s two tests.
Merge Risk: Minimal · up to 2276d

The Docker smoke selection and upload-test changes appear mergeable after the normal candidate checks complete.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 5 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies the primary change: updating CI to select Docker smoke checks for the actual image build inputs. The [WRONG BRANCH] prefix adds context but does not make the title unclear…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title clearly identifies the primary change: updating CI to select Docker smoke checks for the actual image build inputs. The [WRONG BRANCH] prefix adds context but does not make the title unclear or unrelated.

Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the bug Something isn't working label Oct 24, 2026
@github-actions

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@luvs01
luvs01 marked this pull request as ready for review October 24, 2026 15:54
@luvs01
luvs01 changed the base branch from dev to codex/test-runner-role-verification-20261023 October 24, 2026 23:37
@lidge-jun
lidge-jun deleted the branch lidge-jun:codex/test-runner-role-verification-20261023 October 25, 2026 01:16
@lidge-jun lidge-jun closed this Oct 25, 2026
@github-actions github-actions Bot changed the title fix(ci): select Docker smoke for actual image build inputs [WRONG BRANCH] fix(ci): select Docker smoke for actual image build inputs Oct 25, 2026
@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

✅ READY

  • all PR quality gates passed.

Hygiene

✅ Deterministic PR hygiene checks passed.

@luvs01 luvs01 reopened this Oct 25, 2026
@luvs01
luvs01 changed the base branch from codex/test-runner-role-verification-20261023 to dev October 25, 2026 01:39
@luvs01

luvs01 commented Oct 25, 2026

Copy link
Copy Markdown
Collaborator Author

The #7627 branch was deleted after its merge, which closed this dependent PR. The fix at 2276d64 is not in dev, so I restored this PR against dev without changing its head or existing review state. Current-dev integration and updated validation will follow; required maintainer acceptance is unchanged.

@github-actions github-actions Bot changed the title [WRONG BRANCH] fix(ci): select Docker smoke for actual image build inputs fix(ci): select Docker smoke for actual image build inputs Oct 25, 2026
@lidge-jun

Copy link
Copy Markdown
Owner

Integration evidence (owner decision decision:b607a677, approved): independent gpt-6.1-sol review PASS including explicit workflow security review (read-only permissions, SHA-pinned actions, Ubuntu-only PR policy unchanged); the current head f9a45d8 only adds a merge of origin/dev. Exact-head PR CI run 40156914504 succeeded, including Docker smoke. Not Windows-sensitive.

Static merge simulation on current dev 959a07a (this Mac): dev=959a07a5eaf47d207d30efb30f6548b3dcbd9b1f base=323a5e11772c38c15b271d23c7696c5947bb97da pr_files= 3 overlap=[]; merge clean; install exit=0; gui install exit=0; tsc exit=0; tsc doctor exit=0; structure:check exit=0; privacy:scan exit=0; layout+ratchet guards exit=0 54 pass 0 fail ;

Merged by the triage manager as maintainer integration (MAINTAINERS.md, dev only) with green exact-head PR CI, an independent review PASS, and the owner's approval of this bundle.

@lidge-jun
lidge-jun merged commit a589dde into lidge-jun:dev Oct 25, 2026
27 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants