Develop local sources in Julia 1.10 root tests - #4068
Draft
ChrisRackauckas-Claude wants to merge 1 commit into
Draft
Develop local sources in Julia 1.10 root tests#4068ChrisRackauckas-Claude wants to merge 1 commit into
ChrisRackauckas-Claude wants to merge 1 commit into
Conversation
Julia 1.10 ignores root [sources] when Pkg.test creates its temporary environment, which can pair local integration tests with older registered sublibraries. Develop the local source graph before root group dispatch and assert the limiter tests load the implicated local packages. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Member
Author
|
Implementation/verification scratchpad:
|
5 tasks
Member
Author
|
Early CI dependency checkpoint: the Julia 1.10 |
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.
Depends on #4066. This branch intentionally contains only the test-harness and regression-test changes; it does not duplicate the compatibility-floor changes from #4066.
Summary
develop_sources!helper before root-package group dispatch so Julia 1.10 tests the monorepo's local sublibraries. The helper is a no-op on Julia 1.11 and later, where[sources]is native.Problem
Julia 1.10 ignores the root project's
[sources]section whenPkg.test()creates its temporary environment. A cleanGROUP=Integrators_I Pkg.test()atfd3f95bb99therefore selected registered OrdinaryDiffEqCore 4.11.0, OrdinaryDiffEqLowOrderRK 2.2.1, and OrdinaryDiffEqSSPRK 2.2.0 instead of the local Core 4.12.0, LowOrderRK 2.2.2, and SSPRK 2.2.3. The Step Limiter test then reported 170 passes, 2 failures, and 1 error.The hosted Julia 1.10 jobs for #3835 and #4003 passed because the reusable workflow separately developed in-repo sources before testing. The package's direct test harness should establish the same coherent source graph itself.
This is a test-environment issue, not a regression in the recent stage-limiter trait. The immediate parent of #4003 also fails with registered siblings. Older checkouts are not stable bisect endpoints against today's moving registry: the pre-#3835 checkout fails all 129 old constructor-level limiter assertions because newer registered siblings call those callbacks twice. Commit
fe90a44dd8is relevant only as the structural introduction of the root[sources]assumption that Julia 1.10 cannot honor natively.Local verification
GROUP=Integrators_I, on Restore SciMLBase 3.39 compatibility for owner imports #4066 plus this focused diff:Testing OrdinaryDiffEq tests passedGROUP=Integrators_I, on Restore SciMLBase 3.39 compatibility for owner imports #4066 plus this focused diff:Testing OrdinaryDiffEq tests passedgit diff --checkpasses.A repository-wide Runic check identifies only the pre-existing
test/Integrators_I/disco_tests.jlformatting failure handled independently by #4064.