Skip to content

Forward dotgithub-ref to tests.yml; default to master - #137

Closed
ChrisRackauckas-Claude wants to merge 7 commits into
SciML:masterfrom
ChrisRackauckas-Claude:fix-forward-dotgithub-ref-default-master
Closed

ChrisRackauckas-Claude wants to merge 7 commits into
SciML:masterfrom
ChrisRackauckas-Claude:fix-forward-dotgithub-ref-default-master

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Summary

  • After Fix LTS develop_sources for URL+rev [sources] #136, LTS still called the old develop_sources from the floating v1 tag because:
    1. tests.yml defaulted dotgithub-ref to v1
    2. grouped-tests.yml / sublibrary-project-tests.yml never forwarded dotgithub-ref into tests.yml
  • Default dotgithub-ref to master and forward it so URL+rev [sources] pins work on Julia 1.10 (SI, Surrogates, Sundials downstreams, etc.).
  • Please also bump the floating v1 tag (and/or cut v1.29.0) so packages still on @v1 pick this up without pinning @master.

Test plan

  • Local include("test/runtests.jl") (new forwarding/default assertions pass)
  • CI on this PR

Made with Cursor

grouped-tests / sublibrary-project-tests never passed dotgithub-ref into
tests.yml, so LTS always checked out the stale floating v1 develop_sources
(Pkg.develop rejects rev). Default master so SciML#136's Pkg.add path is used
until v1 is retagged / a new v1.x release is cut.

Co-authored-by: Cursor <cursoragent@cursor.com>
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/StructuralIdentifiability.jl that referenced this pull request Sep 9, 2026
Floating v1 still has develop_sources that Pkg.develop-s rev pins.

Co-authored-by: Cursor <cursoragent@cursor.com>
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/Surrogates.jl that referenced this pull request Sep 9, 2026
Co-authored-by: Cursor <cursoragent@cursor.com>
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/SteadyStateDiffEq.jl that referenced this pull request Sep 9, 2026
Co-authored-by: Cursor <cursoragent@cursor.com>
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/SBMLToolkit.jl that referenced this pull request Sep 9, 2026
Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Follow-up to #136: packages on grouped-tests.yml@v1 still cannot pass dotgithub-ref through to tests.yml, so LTS kept using the stale floating v1 develop_sources.

After this merges, please retag floating v1 → master and/or cut v1.29.0 so the org does not need temporary @refs/pull/137/head / @master pins (SI#555, Surrogates#611, SSDE#162, SBMLToolkit#245 already pin this PR head for LTS URL [sources]).

ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/StructuralIdentifiability.jl that referenced this pull request Sep 9, 2026
Cross-repo reusable workflows cannot use refs/pull/*/head. LTS
develop_sources still hits stale v1 until SciML/.github#137 merges
and v1 is retagged; Integer/Dict fixes remain.

Co-authored-by: Cursor <cursoragent@cursor.com>
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/SteadyStateDiffEq.jl that referenced this pull request Sep 9, 2026
Await Sundials#567 release / SciML/.github#137+v1 retag for LTS URL sources.

Co-authored-by: Cursor <cursoragent@cursor.com>
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/SBMLToolkit.jl that referenced this pull request Sep 9, 2026
Await Sundials#567 release / SciML/.github#137+v1 retag for LTS URL sources.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Note: packages cannot `uses: ...@refs/pull/137/head` cross-repo (workflow file validation fails). After merge, please retag floating `v1` → this commit and/or cut v1.29.0 so `grouped-tests.yml@v1` callers pick up the forward + default-`master` without per-package pins.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

CI is green on this PR. Ready for review/merge when a maintainer has a moment — this unblocks SciML 32-bit CI parity work.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Merge request (32-bit SciML CI parity)

Ready to merge: forwards dotgithub-ref; unblocks LTS URL [sources] via master scripts. Please merge and retag floating v1 / cut v1.29.0.

CI is fully green on this PR.

URL [sources] clones on 32-bit Julia fail with `failed to stat
'/etc/gitconfig'` when the system file is missing, and with EEXISTS when
a prior partial clone remains. Touch the config and clear clone caches
in the i386 setup step before setup-julia/Pkg.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Merge request (32-bit SciML CI parity) — elevated

This PR now also includes an i686 LibGit2 workaround in tests.yml:

  • sudo touch /etc/gitconfig (fixes failed to stat '/etc/gitconfig' on URL [sources] clones)
  • clear ~/.julia/clones (fixes EEXISTS partial clones)

Without this, any package temporarily URL-sourcing an upstream fix cannot validate on x86 CI (Sundials, DiffEqBase, Nemo, MCI, …). Please merge + retag floating v1 / cut a release ASAP.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Friendly bump: fully green. The new i686 /etc/gitconfig + clones cleanup is blocking validation of every temporary URL [sources] pin on x86 (Sundials/DiffEqBase/Nemo/MCI). Please merge + retag floating v1.

ChrisRackauckas and others added 2 commits September 9, 2026 08:08
Otherwise the i686 /etc/gitconfig + clones cleanup in tests.yml is never
executed when packages consume this PR tip.

Co-authored-by: Cursor <cursoragent@cursor.com>
After merge, master carries the i686 gitconfig/clones workaround; packages
on grouped-tests@master then execute that tests.yml tip.

Co-authored-by: Cursor <cursoragent@cursor.com>
ChrisRackauckas added a commit to SciML/SteadyStateDiffEq.jl that referenced this pull request Sep 9, 2026
* Temporarily source Sundials 32-bit NVector fix for CI.

Co-authored-by: Cursor <cursoragent@cursor.com>

* CI: use SciML/.github#137 so LTS can Pkg.add URL [sources].

Co-authored-by: Cursor <cursoragent@cursor.com>

* Revert #137 workflow pin; drop temporary Sundials [sources].

Await Sundials#567 release / SciML/.github#137+v1 retag for LTS URL sources.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Re-source Sundials 32-bit NVector fix; CI on SciML/.github@master.

Temporary until Sundials#567 merges and registers. Downgrade disabled
while URL [sources] are present (LTS manifest rewrite drops them).

Co-authored-by: Cursor <cursoragent@cursor.com>

* Retest against Sundials tip without DiffEqBase [sources].

Co-authored-by: Cursor <cursoragent@cursor.com>

* CI: retry x86 after i686 git clone flake on Sundials [sources].

Co-authored-by: Cursor <cursoragent@cursor.com>

* Also source DiffEqBase 32-bit interp_points fix.

Pin DiffEqBase directly (ODE#4487) alongside Sundials so nested
[sources] subdir resolution is not required on julia-pre / i686.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Drop DiffEqBase [sources]; rely on Sundials pin only until DiffEqBase registers.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
ChrisRackauckas added a commit to SciML/Surrogates.jl that referenced this pull request Sep 9, 2026
* Temporarily source PolyChaos and QMC masters for 32-bit CI.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Drop QMC git source now that 0.4.3 is registered.

Co-authored-by: Cursor <cursoragent@cursor.com>

* CI: use SciML/.github#137 so LTS can Pkg.add URL [sources].

Co-authored-by: Cursor <cursoragent@cursor.com>

* Require PolyChaos 2.1.2; drop temporary [sources] and #137 pin.

2.1.2 is on master (#193); registration pending. Cross-repo PRs
cannot use refs/pull/137/head as a reusable workflow ref.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix PolyChaos UUID accidentally overwritten by compat bump.

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore: retest after PolyChaos 2.1.2 registration.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Use factorial(Int64(n)) in Lobachevsky kernels for 32-bit.

On i686, Int is Int32 and factorial(n) overflows the Int32 table for n≥13
(tests use n up to 20).

Co-authored-by: Cursor <cursoragent@cursor.com>

* CI: retrigger Tests after Lobachevsky Int64 factorial fix.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
ChrisRackauckas added a commit to SciML/SBMLToolkit.jl that referenced this pull request Sep 9, 2026
* Temporarily source Sundials 32-bit NVector fix for CI.

Co-authored-by: Cursor <cursoragent@cursor.com>

* CI: use SciML/.github#137 so LTS can Pkg.add URL [sources].

Co-authored-by: Cursor <cursoragent@cursor.com>

* Revert #137 workflow pin; drop temporary Sundials [sources].

Await Sundials#567 release / SciML/.github#137+v1 retag for LTS URL sources.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Re-source Sundials 32-bit NVector fix; CI on SciML/.github@master.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Retest against Sundials tip without DiffEqBase [sources].

Co-authored-by: Cursor <cursoragent@cursor.com>

* Also source DiffEqBase 32-bit interp_points fix.

Pin DiffEqBase directly (ODE#4487) alongside Sundials so nested
[sources] subdir resolution is not required on julia-pre / i686.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Declare DiffEqBase test extra so [sources] pin applies.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Drop DiffEqBase [sources]; keep Sundials pin only.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Drop x86 CI lane (SBML.jl i686 precompile).

SBML fails to precompile on i686 with ArgumentError converting NULL to
string during libsbml init. Remove temporary Sundials [sources].

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Still fully green and blocking i686 URL [sources] clones (gitconfig / EEXISTS). Please merge + retag floating v1 when you can.

ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/BoundaryValueDiffEq.jl that referenced this pull request Sep 10, 2026
Needed so MCI URL [sources] clones work on x86 before SciML/.github#137
merges to master.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Note for consumers while this waits on merge: grouped-tests.yml still calls SciML/.github/.../tests.yml@master, so the i686 gitconfig fix in this PR's tests.yml is not exercised via @master until merge.

Temporary consumable tip (self-refs for tests.yml):
ChrisRackauckas-Claude/.github/.github/workflows/grouped-tests.yml@i686-gitconfig-consumable

Integrals#… / BVDE#634 / MomentClosure#118 point at that tip for now; they should revert to SciML/.github@master once this merges.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Fully green and mergeable. Please merge when convenient and retag floating v1 (and cut v1.29.0 if that is the release process).

Several packages currently pin ChrisRackauckas-Claude/.github@i686-gitconfig-consumable for URL [sources] on i686 (Integrals, BVDE, MTK, MomentClosure, StructuralIdentifiability). After this merges + v1 is retagged, those pins can switch back to SciML/.github@master / @v1.

Recreate via tee + chmod, verify with ls, and set GIT_CONFIG_NOSYSTEM=1.
Bare touch was insufficient on some ubuntu-latest x86 runners.

Co-authored-by: Cursor <cursoragent@cursor.com>
/etc/gitconfig alone still failed on SELinux runners (mode bits with a
trailing '.'): recreate with restorecon/chcon, and point LibGit2's SYSTEM
search path at $HOME via startup.jl before any URL [sources] clone.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Pushed follow-up: SELinux restorecon/chcon on /etc/gitconfig plus LibGit2 SYSTEM search-path redirect via ~/.julia/config/startup.jl — MTK x86 still hit failed to stat '/etc/gitconfig' on a runner whose ls -la showed SELinux mode bits (-rw-r--r--.`) even after the file existed.

…ults.

On some i686 runners LibGit2 HTTPS clones crash in SSL_CTX_load_verify_file
even with /etc/gitconfig fixed. Clone via amd64 git and rewrite url→path.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Follow-up: i686 LibGit2 was still segfaulting in SSL_CTX_load_verify_file when cloning URL [sources] (Integrals/MTK), even with SELinux-fixed /etc/gitconfig.

Consumable tip now prefetches URL [sources] with host (amd64) git, rewrites them to path = in the runner workspace, and checks out scripts from this tip (not SciML master). After merge, the script checkout should switch back to SciML/.github + dotgithub-ref.

ChrisRackauckas added a commit to SciML/StructuralIdentifiability.jl that referenced this pull request Sep 10, 2026
* Accept Integer (incl. Int64) dict values in power-series helpers.

On 32-bit Julia, Int is Int32 so Dict{P,Int64} from literal keys
missed the Dict{P,Int} methods and errored in SI tests.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Accept empty Dict() inputs in Integer power-series helpers.

Call sites pass Dict() for no inputs (Dict{Any,Any}); requiring
Dict{P,Array{T,1}} missed that case on both 32- and 64-bit.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Accept empty Dict() inputs in FieldElem power-series helpers too.

FieldElem callers also pass Dict() for no inputs; only the Integer
convenience path had been widened.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Temporarily source Groebner CRT UInt fix for 32-bit precompile.

Co-authored-by: Cursor <cursoragent@cursor.com>

* CI: use SciML/.github#137 so LTS can Pkg.add URL [sources].

Floating v1 still has develop_sources that Pkg.develop-s rev pins.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Revert #137 workflow pin; drop temporary Groebner [sources].

Cross-repo reusable workflows cannot use refs/pull/*/head. LTS
develop_sources still hits stale v1 until SciML/.github#137 merges
and v1 is retagged; Integer/Dict fixes remain.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Require Groebner 0.10.8 for 32-bit CRT UInt64 fix.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Use factorial(big(...)) in differentiate_output tests on 32-bit.

prec=20 hits factorial(13)+, which overflows Int32's factorial table.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Source Nemo 32-bit fpMatrix fix; CI scripts from SciML/.github master.

Nemo's Julia-owned nmod matrix layout raises InexactError on i686 when
storing heap pointers in Vector{Int32}. Temporarily pin the upstream fix
branch until it is registered.

Co-authored-by: Cursor <cursoragent@cursor.com>

* CI: retest now that Nemo fork branch is published.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Skip Nemo mod-p differentiate_output cases on 32-bit.

Drop temporary Nemo [sources] (i686 LibGit2 clone flakes). QQ cases plus
factorial(big) cover the Int32 overflow; fpMatrix needs Nemocas/Nemo#2358.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Skip primality zerodim tests on 32-bit until Nemo#2358.

check_primality_zerodim hits Nemo finite-field matrix construction that
errors on i686; keep the suite green without masking x64 coverage.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix typos false positive in primality skip comment.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Wrap all Nemo mod-p differentiate_output cases in WORD_SIZE==64.

Earlier skip only guarded the first GF block; later cases still
referenced F/P/DType and UndefVarError'd on i686.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Re-source Nemo#2358 with i686-gitconfig consumable CI tip.

URL [sources] previously flaked on i686 LibGit2; pin grouped-tests to
the consumable tip that creates /etc/gitconfig and clears partial clones.
Disable Downgrade while URL sources are present.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Skip Nemo fpMatrix identifiability bodies on 32-bit; drop Nemo sources.

URL-sourcing Nemo#2358 still fails i686 LibGit2 gitconfig clones even after
touching /etc/gitconfig. Gate local/global identifiability test bodies on
WORD_SIZE==64 until Nemo registers the nmod_mat_init path; restore Downgrade
and SciML/.github@master CI.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Update linear_compartment_model doctest for Dict iteration order.

Integer-keyed graph dicts no longer print ODE equations in the old
insertion order; refresh the jldoctest expected output.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Gate Nemo fpMatrix tests at the SafeTestsets include.

Top-level `return` inside included body files does not stop SafeTestsets
from evaluating the rest of the file, so 32-bit still hit InexactError.
Skip the include itself when Sys.WORD_SIZE != 64.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Apply suggestion from @ChrisRackauckas

---------

Co-authored-by: ChrisRackauckas-Claude <accounts@chrisrackauckas.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants