Automerge issues in package creation

Dear community, I am trying to create a package via this page (How to develop a Julia package), using the associated repository GitHub - BP-J/IncrementalSignFeasibility.jl: Repository aimed for the Julia package with the same name. This code aimes at identifying the chambers of a hyperplane arrangement, and contains various ways to do so..
I run into several issues, which I have not found (or not understood) answers to and seems to be caused by red cross leading to 3 failing checks next to the commit message in Github.

  • (1) Julia 1.6 - ubuntu-latest - x64
Warning: The active manifest file has dependencies that were resolved with a different julia version (1.8.5). Unexpected behavior may occur.
â”” @ ~/work/IncrementalSignFeasibility.jl/IncrementalSignFeasibility.jl/Manifest.toml:0
ERROR: LoadError: MethodError: no method matching joinpath(::Nothing)
  • (2) Julia 1.8 - ubuntu-latest - x64
Warning: The project dependencies or compat requirements have changed since the manifest was last resolved.
│ It is recommended to `Pkg.resolve()` or consider `Pkg.update()` if necessary.
â”” @ Pkg.API /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Pkg/src/API.jl:1535
     Testing IncrementalSignFeasibility
┌ Warning: Could not use exact versions of packages in manifest, re-resolving
â”” @ Pkg.Operations /cache/build/default-amdci4-2/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Pkg/src/Operations.jl:1601
ERROR: LoadError: Unsatisfiable requirements detected for package StatsBase [2913bbd2]:
 StatsBase [2913bbd2] log:
 ├─possible versions are: 0.24.0-0.34.6 or uninstalled
 └─restricted to versions [0.1, 0.99] by IncrementalSignFeasibility [8498363c] — no versions left
   └─IncrementalSignFeasibility [8498363c] log:
     ├─possible versions are: 1.0.0 or uninstalled
     └─IncrementalSignFeasibility [8498363c] is fixed to version 1.0.0

and later in the same error message caused by: empty intersection between RowEchelon@0.2.1 and project compatibility [0.1, 0.99],

and then essentially the same thing as (2) except it is labelled under the test Julia pre - ubuntu-latest - x64.

Concerning (2), apparently I have v0.34.0 of StatsBase but in the test of the package it said v0.34.4 – in any case, it seems in the interval [0.1, 0.99] but I may be missing something.

Concerning (1), the Manifest.toml file does not seem easy to change manually, how should I update it? (I do not use Julia a lot so I may have many things not up to date, sorry if the answers and solutions are more or less obvious.)

Please read 6. Compatibility · Pkg.jl very carefully. The syntax [a.b, c.d] is the set union operation of the sets represented by the versions a.band b.c. Also, read with extra care the section 6. Compatibility · Pkg.jl : you must list breaking releases explicitly as far as you’re sure your code is compatible with all of them, rather than allowing versions from the future (how do you even know they won’t break your code?). Gaming compat bounds is only going to cause your users troubles.

1 Like

The PackageCompatUI package might be helpful to create valid compat statements.

Thank you for your answers, they solved parts of the issue.

There is still an issue with solvers involved (essentially answered here CI integration failed with Gurobi.jl in environment ), and with the overall `Julia` / packages versions, but these seem related to slightly different topics