Commit 5348063
committed
CI: fix Julia 1.10 lts dev step (registry refresh + active project skip)
Two distinct bugs that together cause every `(<group>, lts)` SublibraryCI
or CI.yml job to fail at the develop step before tests even start:
## 1. Develop step runs before registry refresh
`CI.yml` performs a `Pkg.develop(specs)` of every local `[sources]` entry
in the top-level `Project.toml`. That develop's resolver checks every
transitively required *registered* dep against the depot's General
registry copy. The pkg-server's General copy is often 24-72h stale and
does not yet include current SciMLBase v3 / CoverageTools / etc., so the
resolve aborts with `expected package <X> to be registered` and the job
is red before any test runs. Examples:
- `test (Integrators_I, lts)` — `expected package SciMLBase [0bca4576] to be registered`
- `test (InterfaceIII, lts)` — `expected package CoverageTools [c36e975a] to be registered`
`CI.yml` already had a "Refresh General registry directly from git" step
that reclones the registry, but it was running *after* the develop step,
so develop hit the stale copy. Reorder so registry refresh runs first.
`SublibraryCI.yml` had no registry refresh step at all and hit the same
class of failure on lts. Add the same registry refresh step before its
develop step.
The Julia 1.11+ matrix cells are unaffected: `[sources]` is supported
natively there and the develop step is a no-op (the script's `VERSION <
v"1.11.0-DEV.0"` guard).
## 2. Transitive [sources] walk in test/runtests.jl tries to develop the active project
`test/runtests.jl`, when it activates a sublibrary (`Pkg.activate(joinpath(lib_dir, base_group))`),
walks `[sources]` recursively to develop every transitive local path
dep — needed because nested sublibraries reference each other. Several
sublibrary `Project.toml`s have `[sources]` cycles back to the active
sublibrary (e.g. `lib/DiffEqDevTools/Project.toml` lists
`OrdinaryDiffEqCore = {path = "../OrdinaryDiffEqCore"}`). When testing
`lib/OrdinaryDiffEqCore`, the walk reaches DiffEqDevTools and queues
`../OrdinaryDiffEqCore` for develop, which Pkg refuses with:
package `OrdinaryDiffEqCore [bbf590c4]` has the same name or UUID as
the active project
Pre-seed the `developed` set with the active project's path so the walk
skips it.
These are pre-existing master CI infrastructure bugs, unrelated to any
specific in-flight PR.
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>1 parent 3fb56d2 commit 5348063
3 files changed
Lines changed: 37 additions & 10 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
101 | 116 | | |
102 | 117 | | |
103 | 118 | | |
| |||
119 | 134 | | |
120 | 135 | | |
121 | 136 | | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | 137 | | |
133 | 138 | | |
134 | 139 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
85 | 100 | | |
86 | 101 | | |
87 | 102 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
64 | 71 | | |
65 | 72 | | |
66 | 73 | | |
| |||
0 commit comments