Skip to content

[CI Broken] Dependency resolution failures in test suite #189

@ChrisRackauckas-Claude

Description

@ChrisRackauckas-Claude

Summary

CI is currently broken on the master branch due to unsatisfiable dependency requirements during test execution. All test jobs are failing with dependency resolution errors.

Which CI Jobs Failed

All test jobs failed:

  • Tests (1) / Tests - CPU - Failed (41s)
  • Tests (lts) / Tests - CPU - Failed (1m0s)
  • Tests (pre) / Tests - CPU - Failed (46s)
  • test (alldeps, 1.10) - Failed (1m2s)

Spell Check and Runic formatting checks passed.

Error Details

Main Test Jobs Error

The primary test jobs (Julia 1.x) fail with an unsatisfiable dependency conflict involving JET and LuxTestUtils:

ERROR: LoadError: Unsatisfiable requirements detected for package JET [c3a54625]:
 JET [c3a54625] log:
 ├─possible versions are: 0.0.1 - 0.11.3 or uninstalled
 ├─restricted by compatibility requirements with LuxTestUtils [ac9de150] to versions: 0.9.6 - 0.9.20
 │ └─LuxTestUtils [ac9de150] log:
 │   ├─possible versions are: 0.1.0 - 2.0.1 or uninstalled
 │   ├─restricted to versions 1 by project [ee7140f3], leaving only versions: 1.0.0 - 1.7.2
 │   └─restricted by compatibility requirements with Functors [d9f16b24] to versions: 0.1.0 - 1.5.0 or uninstalled, leaving only versions: 1.0.0 - 1.5.0
 │     └─Functors [d9f16b24] log:
 │       ├─possible versions are: 0.1.0 - 0.5.2 or uninstalled
 │       ├─restricted to versions 0.4.10 - 0.4 by project [ee7140f3], leaving only versions: 0.4.10 - 0.4.12
 │       └─restricted by compatibility requirements with Lux [b2108857] to versions: 0.4.12
 │         └─Lux [b2108857] log:
 │           ├─possible versions are: 0.3.0 - 1.29.1 or uninstalled
 │           ├─restricted to versions 1 by DeepEquilibriumNetworks [6748aba7], leaving only versions: 1.0.0 - 1.29.1
 │           └─restricted by compatibility requirements with Functors [d9f16b24] to versions: 0.4.36 - 1.2.3 or uninstalled, leaving only versions: 1.0.0 - 1.2.3
 └─restricted by julia compatibility requirements to versions: 0.10.0 - 0.11.3 or uninstalled — no versions left

Downgrade Test Error

The downgrade test (Julia 1.10 with minimum compatible versions) fails with a different dependency conflict:

ERROR: LoadError: Unsatisfiable requirements detected for package OrdinaryDiffEqVerner [79d7bb75]:
 OrdinaryDiffEqVerner [79d7bb75] log:
 ├─possible versions are: 1.0.0-1.9.0 or uninstalled
 ├─restricted by compatibility requirements with PrecompileTools [aea7be01] to versions: 1.5.0-1.9.0 or uninstalled
 │ └─PrecompileTools [aea7be01] log:
 │   ├─restricted to versions 1 by project, leaving only versions: 1.0.0-1.3.3
 │   └─restricted to versions 1.2.0 by an explicit requirement
 ├─restricted by compatibility requirements with SciMLBase [0bca4576] to versions: 1.0.0-1.4.0 or uninstalled, leaving only versions: uninstalled
 │ └─SciMLBase [0bca4576] log:
 │   ├─restricted to versions 2 by project
 │   └─restricted to versions 2.68.1 by an explicit requirement

Root Cause Analysis

The test suite is failing during dependency resolution when running Pkg.test(). This happens during the re-resolution phase when test dependencies are being loaded.

Primary Issue: The dependency constraints between:

  • DeepEquilibriumNetworks (requires Lux 1.x)
  • Lux 1.x (requires Functors 0.4.36 - 1.2.3)
  • LuxTestUtils 1.x (test dependency, requires Functors compatible with its version range)
  • JET (test dependency via LuxTestUtils, requires versions 0.10.0+ for Julia compat)

These constraints create an unsolvable dependency graph where:

  1. LuxTestUtils 1.x restricts JET to 0.9.6 - 0.9.20
  2. Julia compatibility requires JET 0.10.0 - 0.11.3
  3. No version of JET satisfies both constraints

Secondary Issue: The downgrade test has a separate conflict with OrdinaryDiffEqVerner where the pinned minimum versions of PrecompileTools and SciMLBase are incompatible.

Suggested Fix Approach

  1. Update test dependencies in Project.toml: The compat bounds for test dependencies (particularly in the [extras] or test-specific dependencies) may need updating to allow newer versions of LuxTestUtils that are compatible with newer JET versions.

  2. Check LuxTestUtils compatibility: Verify if a newer version of LuxTestUtils (possibly 2.x) is available that:

    • Works with Lux 1.x
    • Supports newer JET versions (0.10.0+)
  3. Review Functors compatibility: The constraint on Functors 0.4.10 - 0.4 may be too restrictive and preventing resolution. Check if Functors can be updated.

  4. Fix downgrade test compat bounds: Review the minimum version requirements for PrecompileTools, SciMLBase, and OrdinaryDiffEqVerner to ensure they form a compatible set.

Links

cc @ChrisRackauckas

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions