fix: refresh Package.resolved, stuck on pre-3.0.0 cohort pins - #120
Merged
Merged
Conversation
Package.resolved was last regenerated well before the 2.0.0/3.0.0 bumps (occtswift pinned at 1.17.0, occtswiftais at 1.3.1) and was deliberately left untouched across both floor-bump PRs (#111, #119) since remote resolution was blocked either way at the time. Now that the whole cohort has shipped 3.0.0-compatible releases, that staleness became actively wrong: SwiftPM's resolver treats an existing Package.resolved as a starting point and keeps a pinned version if it still satisfies every declared constraint, even if the *manifest* constraints don't capture real source compatibility. occtswiftais@1.3.1 satisfies OCCTSwiftTools's `>= 1.6.1` constraint just fine on paper; its actual Dimension.swift/AreaSelection.swift source still calls the now-Optional `.bounds` the old, unwrapped way. Manifest-level resolution can't see that, so main's tests/verbs CI kept failing post-v1.6.2 release even after OCCTSwiftAIS v1.3.2 (with the real fix) was published. Verified genuinely fresh (no local sibling checkouts, no stale lockfile) in an isolated /tmp copy of this repo: `swift package resolve` + `swift build --product occtkit` both clean, resolving occtswift 3.0.0 / occtswiftais 1.3.2 / occtswifttools 1.6.4 / occtswiftmesh 1.7.5 / occtswiftio 1.7.8 / occtswiftviewport 1.1.27 throughout. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Files Reviewed (1 file)
Reviewed by nemotron-3-ultra-550b-a55b:free · Input: 82.3K · Output: 1.9K · Cached: 73.4K |
1 task
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 & why
main'stests/verbsCI has been red since the v1.6.2 (#118/#119) merge, even after thewhole cohort (
OCCTSwiftToolsv1.6.4,OCCTSwiftMeshv1.7.5,OCCTSwiftIOv1.7.8,OCCTSwiftAISv1.3.2) shipped OCCTSwift-3.0.0-compatible releases. Root cause:Package.resolvedwas last regenerated well before the 2.0.0/3.0.0 bumps (occtswiftpinned at1.17.0,occtswiftaisat1.3.1) and was deliberately left untouched across both floor-bumpPRs, since remote resolution was blocked either way at the time those decisions were made.
That staleness became actively wrong once the cohort caught up: SwiftPM's resolver treats an
existing
Package.resolvedas a starting point and keeps a pinned version if it still satisfiesevery declared constraint, even when the manifest constraints don't capture real source
compatibility.
occtswiftais@1.3.1satisfiesOCCTSwiftTools's>= 1.6.1requirement on paper;its actual
Dimension.swift/AreaSelection.swiftsource still calls the now-Optional.boundsthe old, unwrapped way (a compile error against
OCCTSwift3.0.0). Manifest-level resolutioncan't see that mismatch, so the stale lockfile kept pinning the broken
1.3.1even though1.3.2(with the real fix) was already published.This PR regenerates
Package.resolvedagainst the real, current cohort.Closes nothing on its own; unblocks
main's CI going green again after #119.Checklist
Notes for the reviewer
Verified genuinely fresh in an isolated
/tmpcopy of this repo (no local sibling checkouts, nostale lockfile):
swift package resolve+swift build --product occtkitboth clean, resolvingocctswift3.0.0 /occtswiftais1.3.2 /occtswifttools1.6.4 /occtswiftmesh1.7.5 /occtswiftio1.7.8 /occtswiftviewport1.1.27 throughout — the exact versions this PR'sPackage.resolvedpins.