Repository navigation
Release v0.11.1 — Fail Closed (Windows fix before publishing) - #1066
Conversation
The v0.11.1 publish matrix failed on every Windows combination (nothing was published): os.path.relpath answers 'models\final' there, and the layout check, which takes the config's '/' form, rejected it, so a run with a nested training.final_model_dir would fail after training, at finalisation. The recheck now converts the separator; on POSIX a backslash is part of a name and that path still fails the resolve() comparison that follows. Two Linux-runnable regression tests, one per mutant (no conversion; no resolve comparison). The [0.11.1] CHANGELOG entry that promised the recheck for nested directories now says it holds on Windows too, and the release record's test count moves from 6769 to 6771. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bring back the merge commit of the first v0.11.1 release pull request so the next one starts up to date.
…check fix: read the model-directory recheck's relpath with '/' on Windows
|
Note The title starts with
|
|
Sorry @cemililik, you've used your own review budget of 250,000 diff characters for the last 7 days. You can request another review in 21 hours and 34 minutes by commenting |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Reviewer's GuideThis release fix makes final-model destination rechecks portable across Windows and POSIX by normalizing only the lexical relative path used for layout validation, while keeping resolved-path integrity checks intact. It adds targeted regression tests and updates the v0.11.1 release records for the two additional tests. Sequence diagram for portable final-model destination rechecksequenceDiagram
participant Finalizer
participant Check as _check_model_destination
participant OS as os.path.relpath
participant Layout as _validate_layout
participant Resolve as resolve comparison
Finalizer->>Check: _check_model_destination(output_dir, final_path, config)
Check->>OS: relpath(final_path, output_dir)
OS-->>Check: platform-relative path
Check->>Check: replace("\\", "/")
Check->>Layout: _validate_layout(output_dir, relative, benchmark_output_dir)
Layout-->>Check: layout valid
Check->>Resolve: compare resolved destinations
Resolve-->>Check: integrity result
Flow diagram for Windows final-model validation fixflowchart LR
A[Windows relpath returns models\\final] --> B[Normalize lexical path to models/final]
B --> C[_validate_layout accepts config layout]
C --> D[Resolved-path comparison remains enforced]
D --> E[Final model destination recheck succeeds]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Summary
The second, and final, release pull request for v0.11.1 — "Fail Closed". The first one (#1064) merged into
mainand was tagged, but the tag's publish run failed on all four Windows combinations, so nothing reached PyPI. This pull request brings the fix. After it merges, the unpublishedv0.11.1tag moves to the new merge commit, recreated and GPG-signed. The owner approved this plan.The rest of the release is exactly as described in #1064. It is still numbered as a patch by maintainer decision, as a one-time exception to
release.md's bump table. The exception is recorded inCHANGELOG.md,docs/roadmap/releases.mdand the 2026-10-23 addendum indocs/roadmap/risks-and-decisions.md.What
maingainsdc9056eos.path.relpathanswersmodels\final. The model-directory recheck takes the config's/form and rejected it, so a run with a nestedtraining.final_model_dirfailed at finalisation. The recheck now converts the separator. A POSIX name containing a backslash still fails the existingresolve()comparison. The pull request adds two Linux-runnable regression tests, amends the[0.11.1]CHANGELOG entry and updates the release record's test count from 6769 to 6771.49f9690development, with no file changes, so this pull request starts up to date.Failed publish run
Run 40005826279:
buildpassed.TestFinalizedModelIntegritytests.publishwas skipped.These four tests were the only failures. Each Windows job ran 6,631 tests that passed.
What merging this does
site-deploy.ymlruns only on pushes that touchsite/ordocs/usermanuals/, and this pull request touches neither.v0.11.1tag is deleted on the remote and locally;publish.ymlruns again, including Windows;pypideployment waits for the owner's approval.Notes for reviewers
mainback intodevelopmentand open the next development cycle.Type
Testing
developmentat8c483eb:pyproject.tomlis0.11.1, the CHANGELOG head is[0.11.1] — 2026-10-23, and the fix is inforgelm/_artifact_paths.py.🤖 Generated with Claude Code
Summary by Sourcery
Correct Windows model-directory validation and update the v0.11.1 release records so the release can be published successfully.
Bug Fixes:
Documentation:
Tests: