Repository navigation
ci: fan distcheck source changes into the SDK workflows - #963
Closed
thekevinbot wants to merge 3 commits into
Closed
thekevinbot wants to merge 3 commits into
thekevinbot wants to merge 3 commits into
Conversation
The `distcheck` job in dirsql-python-ci and dirsql-typescript-ci invokes `internals/distcheck` (`uv run --project internals/distcheck dirsql-distcheck python` / `... node`), but neither workflow watched that package, and internals-distcheck-ci runs only its conventions lane. A PR changing internals/distcheck/src/** could therefore merge without either publishability flow it changed ever executing. Both workflows now watch `internals/distcheck/src/**` and `internals/distcheck/pyproject.toml` on push and pull_request. `tests/**` stays out: the package's own tests are internals-distcheck-ci's lane, and nothing in the SDK workflows runs them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T7Wu2kXb8q3DktFa4H4tqE
Reverses the fan-out approach of the previous commit. Adding internals/distcheck/** to the SDK workflows' paths broke the naming contract -- dirsql-python-ci is the Python package's lane -- and pulled 55 check runs (ruff, ty, the 3.10/3.12/3.13 matrices, binding tests, mutation, e2e attestation) into a change to repo tooling none of them touch. That is the fan-out #834 removed. The gap it was closing is real: internals-distcheck-ci runs conventions gates only, none of which invokes a flow, and tests/integration/ self-skips without a built binary that this lane never builds. So the flows this package ships had no CI execution of their own. Close it in the lane that owns the package instead: python-flow and node-flow run `dirsql-distcheck python` / `... node` directly, building the SDK artifacts the flows consume the same way the SDK workflows' distcheck jobs do. The SDK jobs stay -- a packages/python change must still prove the wheel is publishable -- and neither workflow watches the other's directory. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T7Wu2kXb8q3DktFa4H4tqE
The comments restated what the job names and steps already say; only the "consumers are deliberately not fanned out to" line carries a decision a reader could not infer, so that is what is left. `cargo build -p dirsql --features cli` was copied from dirsql-python-ci's distcheck job without checking whether it is still needed. It is not: python_flow/gate.py records that #738 dropped dirsql/_binary/, so the wheel's extension module carries the CLI and there is nothing to stage. The Rust toolchain stays -- maturin compiles the extension. The same dead step is still in dirsql-python-ci and wants its own cleanup. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T7Wu2kXb8q3DktFa4H4tqE
Collaborator
Author
|
Closed unmerged along with #961. Full reasoning is in the issue's closing comment: The branch is left in place: Generated by Claude Code |
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.
Fixes #961.
Problem
dirsql-python-ci.ymlanddirsql-typescript-ci.ymleach run adistcheckjob that shells into theinternals/distcheckpackage (uv run --project internals/distcheck dirsql-distcheck python/... node) — those two jobs are the only executors of the publishability flows. Neither workflow listedinternals/distcheck/**in itspaths:, andinternals-distcheck-ci.ymlruns only that package's own conventions lane, so a PR touching justinternals/distcheck/src/**merged without either flow it changed ever running.Residual gap from #834, carried over from #847/#848.
Change
Both SDK workflows now watch, on
pushandpull_requestalike:internals/distcheck/tests/**stays out: the package's own tests areinternals-distcheck-ci's lane, and nothing in the SDK workflows runs them. Theinternals-distcheck-ci.ymlheader comment claiming consumers are "deliberately not fanned out to" is made false by this change and is rewritten to match.Validation
Per #834's method: this PR is its own test for the workflow files it touches (both self-paths fire), and the new globs took the throwaway probe — #964, based on this branch so the
pull_requestfilters evaluated are this PR's, diff confined to one file underinternals/distcheck/src/. Closed unmerged.Four runs dispatched on probe head
a17e51f, cancelled once dispatch was observed:dirsql Python CIdirsql TypeScript CIInternals distcheck CIPR Monitorpaths:filterNegative control held:
dirsql-rust-ci,plugin-dirsql-embedding-ci,docs-ci,changelog-check,release-ciandputitoutthere-config-checkall stayed out.claude/961-distcheck-paths-probeis still on the remote: the sandbox proxy rejects delete-ref pushes (send-pack: unexpected disconnect), which is why the #834 probe branches are still there too. Safe to delete from the UI.Release impact
None.
.github/workflows/only —release.ymlruns on the merge push but putitoutthere's change detection matches no package glob, so it plans zero packages. No source files change, so no e2e attestation is staled.E2E Verification
N/A - CI configuration only