fix(ci): repair merge detection and Rust Docker build#140
Conversation
Adding .gitkeep for PR creation (default mode). This file will be removed when the task is complete. Issue: #139
Working session summaryImplemented and pushed the fix to PR 140 is ready: #140 Current head
I also confirmed the PR is no longer draft and the working tree is clean. Older failed runs belong to superseded commits and were addressed by the latest push. This summary was automatically extracted from the AI working session output. |
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:GPT-5.5: (4 sub-sessions)
Sub-session values are estimates from observed compact events; the Total line remains exact. Total: (833.9K + 20.2M cached) input tokens, 77.7K output tokens, $32.068725 cost 🤖 Models used:
📎 Log file uploaded as Repository (2 chunks) (124336KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
✅ Ready to mergeThis pull request is now ready to be merged:
Monitored by hive-mind with --auto-restart-until-mergeable flag |
This reverts commit 9db6dfc.
Fixes #139
Summary
scripts/detect-code-changes.mjsevent-aware: PR synthetic merge commits keep the existing PR-head diff behavior, while real merge commits pushed tomaincompare first parent to merge commit so the full merged branch is detected.rust:1.96-bullseye, satisfying the craterust-version.actions/checkout@v6, and Rustactions/cache@v5.js/tests/ci/, excludes that directory from JS/Rust product parity matching, and keeps those test/config changes out of the blocking npm changeset gate while still running JS checks.docs/case-studies/issue-139/.Reproduction
27504645835loggedMerge commit detected (pull_request event)during apush, emittedany-code-changed=false, then failed Docker build becauserustc 1.94.1did not satisfyrust-version = "1.96".27504645820showed the same merge-event misclassification and false code-change outputs, though the release still completed.27511525135showed repository CI tests underjs/tests/unit/were being counted as JS product tests; the fix keeps those tests in CI while excludingjs/tests/ci/from product parity matching.27511646578then showed the changeset gate countedjs/tests/ci/andjs/jest.config.mjsas package code.js-code-changednow tracks publishable JS paths only:js/src/,js/bin/, andjs/package.json.Tests
cd js && npm test -- --runTestsByPath tests/ci/detect-code-changes.test.js tests/ci/rust-dockerfile.test.js tests/ci/workflow-policy.test.jscd js && npm run lintpassed with 0 errors and existing complexity warnings.cd js && npx prettier --check .GITHUB_BASE_SHA=$(git merge-base origin/main HEAD) GITHUB_HEAD_SHA=HEAD GITHUB_BASE_REF=main node scripts/check-js-rust-parity.mjsGITHUB_EVENT_NAME=push node scripts/detect-code-changes.mjson the latest CI-test-only commit:js-code-changed=false,any-js-code-changed=true.cd rust && cargo fmt --all -- --checkcd rust && cargo clippy --all-targets --all-features -- -D warningscd rust && cargo test --all-features --verbosecd rust && docker build -t web-capture-rust-issue-139 .Full local
npm testwas also attempted and is documented in the case study. It is not a clean local signal in this workspace because Playwright browser binaries are missing and the Docker e2e setup is normally prepared by CI.