Documentation build workflow can't resolve dependency version while CI workflow can

I’m facing a somewhat strange issue in a package of mine, where a dependency is correctly found in the CI workflow but the documenter workflow can’t resolve its version.

Here is the output from the documenter workflow:

Path `/home/runner/work/VectorSphericalHarmonics.jl/VectorSphericalHarmonics.jl` exists and looks like the correct package. Using existing path.
   Resolving package versions...
  Installing known registries into `~/.julia`
       Added registry `General` to `~/.julia/registries/General`
ERROR: Unsatisfiable requirements detected for package SphericalHarmonicModes [0e9554e2]:
 SphericalHarmonicModes [0e9554e2] log:
 ├─possible versions are: 0.1.0-0.4.13 or uninstalled
 └─restricted to versions 0.4.14-0.4 by VectorSphericalHarmonics [4b2bd704] — no versions left
   └─VectorSphericalHarmonics [4b2bd704] log:
     ├─possible versions are: 0.1.5 or uninstalled
     └─VectorSphericalHarmonics [4b2bd704] is fixed to version 0.1.5

The version SphericalHarmonicModes v0.4.14 is tagged and available in the General registry. This is evidenced by the fact that the CI workflow is able to fetch the dependency:

[ Info: The General registry already exists locally
     Testing VectorSphericalHarmonics
      Status `/tmp/jl_LZ2gqy/Project.toml`
  [4c88cf16] Aqua v0.5.0
  [19dc6840] HCubature v1.5.0
  [3db4a2ba] LegendrePolynomials v0.3.3
  [6fe1bfb0] OffsetArrays v1.9.0
  [6038ab10] Rotations v1.0.2
  [0e9554e2] SphericalHarmonicModes v0.4.14
 ...

These are both on Julia 1.6.1, so I’m not sure why there’s this difference?

The documenter step that fails is:

- run: |
          julia --project=docs -e '
            using Pkg
            Pkg.develop(PackageSpec(path=pwd()))
            Pkg.instantiate()'

and I’m using Github Actions to run this. Strangely this works locally for me.

I’m experiencing the same issue in another package which uses VectorSphericalHarmonics as a dependency.

julia --project=docs -e '
    using Pkg
    Pkg.develop(PackageSpec(path=pwd()))
    Pkg.instantiate()'
  shell: /usr/bin/bash -e {0}
Path `/home/runner/work/BipolarSphericalHarmonics.jl/BipolarSphericalHarmonics.jl` exists and looks like the correct package. Using existing path.
   Resolving package versions...
  Installing known registries into `~/.julia`
       Added registry `General` to `~/.julia/registries/General`
ERROR: Unsatisfiable requirements detected for package VectorSphericalHarmonics [4b2bd704]:
 VectorSphericalHarmonics [4b2bd704] log:
 ├─possible versions are: 0.1.0-0.1.3 or uninstalled
 └─restricted to versions 0.1.5-0.1 by BipolarSphericalHarmonics [e22a7426] — no versions left
   └─BipolarSphericalHarmonics [e22a7426] log:
     ├─possible versions are: 0.1.0 or uninstalled
     └─BipolarSphericalHarmonics [e22a7426] is fixed to version 0.1.0

Except VectorSphericalHarmonics v0.1.5 has been tagged, and I can install it locally. Why is the latest version of the registry not being fetched by the documentattion workflow?

This is probably PkgServer synchronization · Issue #16777 · JuliaRegistries/General · GitHub

2 Likes

It’s possible. I still get the same error, and it’s been 15 hours since my post. Strange that the sync isn’t working yet.