Skip to content

Raise dependency lower bounds for Downgrade CI - #830

Merged
Krastanov merged 4 commits into
masterfrom
codex/fix-downgrade-compat-20260906
Sep 6, 2026
Merged

Raise dependency lower bounds for Downgrade CI#830
Krastanov merged 4 commits into
masterfrom
codex/fix-downgrade-compat-20260906

Conversation

@Krastanov-agent

@Krastanov-agent Krastanov-agent commented Sep 6, 2026

Copy link
Copy Markdown
Collaborator

The Downgrade job on master fails the tensor-arity test because its dependency versions still define zero-argument tensor methods. Older dependencies also emit Julia 1.12 deprecation warnings. Raise only the required lower bounds using Julia's standard version specifications, preserving the later supported entries in the existing compat lists.

Dependency New minimum Reason
QuantumInterface 0.4.4 Remove zero-argument tensor methods.
QuantumOpticsBase 0.5.15 Remove zero-argument state tensor methods; includes the Vararg syntax fix.
Hecke 0.35.10 Qualify imported constructors.
Nemo 0.48.3 Qualify imported constructors.
AbstractAlgebra (test) 0.44.6 Import the extended Matrix constructor explicitly.
JuMP 1.23.4 Avoid world-age warnings while copying enum docstrings.
SIMD 3.4.7 Fix integer-pointer llvmcall deprecations; includes the Vararg syntax fix.
StableRNGs (test) 1.0.3 Import Random.Sampler explicitly.
StaticArrays (test) 1.9.12 Qualify Tuple constructors; includes the missing-import fix.
PrecompileTools 1.3.1 Fix Julia 1.12 world-age handling; 1.2.1 and 1.3.0 fail to precompile RuntimeGeneratedFunctions in the updated QuantumOpticsBase dependency tree.

Validation on Julia 1.12.7:

  • Reproduced the original tensor assertion failure with the unmodified Downgrade resolution.
  • Ran the same v2.7.0 downgrade action locally: its exact-floor checks pass for all ten changed entries. The resolved dependency graph is unchanged after using standard version specifications and preserving the later supported series.
  • Verified with Pkg's compatibility parser that every modified existing bound retains its original upper endpoint and only narrows the allowed versions from below. The new AbstractAlgebra test bound includes all newer registered minor series through 0.50, preserving the versions used by the ordinary workspace.
  • Passed 481 focused integration assertions with --depwarn=error --check-bounds=yes, covering tensor arity, QuantumOpticsBase, and alternative bit packing; no warnings.
  • Passed isolated exact-version dependency checks with --depwarn=error.
  • Passed ordinary resolution of the full workspace, including docs, benchmark, test, JET, and Oscar dependencies.
  • Full Downgrade Pkg.test passed on this dependency graph: 370,274 assertions, 9 existing broken tests, no failures or dependency warnings. It used CI's coverage, bounds checking, deprecation warnings, and locked-resolution settings, with this workspace's 32-thread configuration. Runtime: 12m47s. Both hosted Downgrade jobs passed before the syntax update; CI will rerun on the updated commit.

The existing tests and workflows are unchanged. The action's workspace/absent-weak-dependency warnings and the cache action's Node punycode warning cannot be fixed through Julia compatibility bounds and remain outside this patch.

Original failing run: https://github.com/QuantumSavory/QuantumClifford.jl/actions/runs/34001384946

The cold-start comparison check rejects changes to dependency metadata (all variants must use identical Project.toml dependency metadata), so it cannot compare this compatibility update.

@Krastanov
Krastanov merged commit 90f4c27 into master Sep 6, 2026
33 of 35 checks passed
@Krastanov
Krastanov deleted the codex/fix-downgrade-compat-20260906 branch September 6, 2026 14:31
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