Failure of CI job

Since today, the job that builds the documentation fails:

Why?

It used to work until now. What has changed?

Error message:

ERROR: LoadError: ArgumentError: Path to conda environment is not valid: /home/runner/.julia/conda/3/x86_64

I already tried three different versions of CI.yml.

Using the following CI code made it work:

    steps:
      - uses: actions/checkout@v4
      - uses: julia-actions/setup-julia@v2
      - name: Build PyCall
        run: julia --project=docs/ -e 'ENV["PYTHON"]=""; using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate(); Pkg.build("PyCall")'
        shell: bash
      - uses: julia-actions/cache@v2
      - uses: julia-actions/julia-buildpkg@v1
      - uses: julia-actions/julia-docdeploy@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}

Adding these three lines was key:

      - name: Build PyCall
        run: julia --project=docs/ -e 'ENV["PYTHON"]=""; using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate(); Pkg.build("PyCall")'
        shell: bash

Background info: precompile conda failure · Issue #104 · JuliaPy/Conda.jl · GitHub

If you feel that your run command is a bit clumsy, you can also put the environment variable like this

Our make.jl is has a shebang to run as a Julia script (and does your setup stuff internally), but you could move the env done into a YAML.

1 Like

I don’t think that this would work. The env section in my CI.yml is only valid for for the julia-docdeploy action, but is needed for the Build PyCall action which has to be executed earlier.

And adding this to make.jl does not make sense because locally make.jl works fine, rebuilding PyCall is only needed for Github.

You would of course have to put in a line after bash:.

I also did not mean you have to put the pig-build stuff somewhere else, just that we can do.