# CI failing with julia call when packages build (error when calling julia 'get')

**URL:** <https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192>\
**Category:** Package Management\
**Created:** [June 3, 2022, 2:37pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192 "2022-06-03T14:37:20Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Gus\_Hart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gus_hart/32/6987_2.png) [@Gus\_Hart](https://discourse.julialang.org/u/Gus_Hart)\
**Post date:** [June 3, 2022, 2:37pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/1 "2022-06-03T14:37:20Z")

</div>

The CI on one of my packages started failing a couple of days ago. It seemed to coincide with an upgrade in the Manifest (that julia requested, if I remember). It doesn’t seem related to anything in my code itself. The error message is in the `get` statement when packages are built before the unit tests run. (here is a link to the page in my repo [Changed output of Mink routine (now always pass out num of steps) · glwhart/MinkowskiReduction.jl@e9cd700 · GitHub](https://github.com/glwhart/MinkowskiReduction.jl/actions/runs/2428112403))

I don’t know what `get` is trying to do here why it would start failing. The CI has been running fine for a while. I would appreciate any help.

```julia
Run julia --color=yes --project=@. -e 'using Pkg; if VERSION >= v"1.1.0-rc1"; Pkg.build(verbose=true); else Pkg.build(); end'
ERROR: MethodError: no method matching get(::Pair{String,Any}, ::String, ::Nothing)

```

---

<div class="post-metadata">

**Author:** ![Gus\_Hart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gus_hart/32/6987_2.png) [@Gus\_Hart](https://discourse.julialang.org/u/Gus_Hart)\
**Post date:** [June 3, 2022, 5:40pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/2 "2022-06-03T17:40:53Z")

</div>

> [@Gus\_Hart](#):
>
> ```julia
> julia --color=yes --project=@. -e 'using Pkg; if VERSION >= v"1.1.0-rc1"; Pkg.build(verbose=true); else Pkg.build(); end'
> 
> ```

That julia statement runs fine on my local machine, but apparently fails on the VM that the CI job runs.

Is there any chance that there is some github setting that I’m missing?

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [June 3, 2022, 7:19pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/3 "2022-06-03T19:19:33Z")

</div>

> [@Gus\_Hart](#):
>
> That julia statement runs fine on my local machine

Are you using Julia v1.2 locally?

---

<div class="post-metadata">

**Author:** ![Gus\_Hart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gus_hart/32/6987_2.png) [@Gus\_Hart](https://discourse.julialang.org/u/Gus_Hart)\
**Post date:** [June 3, 2022, 10:55pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/4 "2022-06-03T22:55:09Z")

</div>

Good point. Well, I just downloaded it (1.2) and ran the build command locally using julia 1.2. It works locally. No error like that I reported in my original post.

One of the mysteries for me with this question is that I have two recent repos that have identical runtests.yml files, both using Julia 1.2 as a minimum, and the CI was working fine on both until a few days ago when one stopped working and the other continues to work. I’ve been comparing the two to try and understand if something changed, but I haven’t found anything yet.

---

<div class="post-metadata">

**Author:** ![Gus\_Hart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gus_hart/32/6987_2.png) [@Gus\_Hart](https://discourse.julialang.org/u/Gus_Hart)\
**Post date:** [June 9, 2022, 5:09pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/5 "2022-06-09T17:09:24Z")

</div>

I still haven’t been able to fix this. I wonder if @dilumaluthge might have an idea? I see you answering related questions…

---

<div class="post-metadata">

**Author:** ![Gus\_Hart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gus_hart/32/6987_2.png) [@Gus\_Hart](https://discourse.julialang.org/u/Gus_Hart)\
**Post date:** [June 9, 2022, 5:42pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/6 "2022-06-09T17:42:41Z")

</div>

I re-ran the github actions after bumping the minor version number on the repo and I turned on debug logging. Here is the output: [Bumped version hoping to fix github actions problems · glwhart/MinkowskiReduction.jl@2de77b2 · GitHub](https://github.com/glwhart/MinkowskiReduction.jl/runs/6817944081?check_suite_focus=true#step:16:74)

---

<div class="post-metadata">

**Author:** ![Gus\_Hart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gus_hart/32/6987_2.png) [@Gus\_Hart](https://discourse.julialang.org/u/Gus_Hart)\
**Post date:** [June 9, 2022, 9:29pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/7 "2022-06-09T21:29:09Z")

</div>

Things I’ve tried:

- requiring Julia v1.6 and v1.7 as minimum versions, instead of v1.2
- deleting `Manifest.toml` and regenerating it
- Making adjustments in `Project.toml`

I think there must be a bug of some sort in `Package.jl`. The problems started when the package manager told me my manifest was old and that I should `upgrade_manifest`. That’s when the `get` error started in the CI runs.

---

<div class="post-metadata">

**Author:** ![Gus\_Hart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gus_hart/32/6987_2.png) [@Gus\_Hart](https://discourse.julialang.org/u/Gus_Hart)\
**Post date:** [June 9, 2022, 10:50pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/8 "2022-06-09T22:50:16Z")

</div>

I was able to prevent this error from continuing by changing the julia version in the `Runtests.yml` file from 1.2 to 1.7. Not sure exactly what the problem was but using a newer version of julia solves the problem.

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [June 10, 2022, 7:38am UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/9 "2022-06-10T07:38:25Z")

</div>

There are different schools of thought on this topic, my recommendation is to _ **not** _ check in the manifest file for packages (instead, it’s very useful for applications). The fact is that the manifest is intrinsically dependent on the Julia minor version, it’s highly unlikely it’ll work across many different releases, which is instead what you want to do in CI

---

<div class="post-metadata">

**Author:** ![Gus\_Hart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gus_hart/32/6987_2.png) [@Gus\_Hart](https://discourse.julialang.org/u/Gus_Hart)\
**Post date:** [June 16, 2022, 10:23pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/10 "2022-06-16T22:23:13Z")

</div>

If you don’t check in the manifest file and you check out a new copy of the repo somewhere, how does julia know which packages in include when you run the code? Or do you just add the missing ones to the local environment until the code runs?

I think I see your point, I’m just wondering how it would work in practice.

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [June 16, 2022, 10:27pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/11 "2022-06-16T22:27:57Z")

</div>

> [@Gus\_Hart](#):
>
> If you don’t check in the manifest file and you check out a new copy of the repo somewhere, how does julia know which packages in include when you run the code?

That’s a job for project file (with compat bounds) + Pkg resolver. That’s also how it works for anyone installing your (or any other) package. The manifest file is used exclusively in CI, not anywhere else.

---

<div class="post-metadata">

**Author:** ![Gus\_Hart](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gus_hart/32/6987_2.png) [@Gus\_Hart](https://discourse.julialang.org/u/Gus_Hart)\
**Post date:** [June 16, 2022, 11:40pm UTC](https://discourse.julialang.org/t/ci-failing-with-julia-call-when-packages-build-error-when-calling-julia-get/82192/12 "2022-06-16T23:40:11Z")

</div>

Thanks for explaining that. I didn’t realize how that worked. I’m guessing leaving my Manifest file out would have eliminated my problem. Maybe I’ll try that and report back.
