# \`add\`ing an unregistred package in CI installation process

**URL:** https://discourse.julialang.org/t/add-ing-an-unregistred-package-in-ci-installation-process/20568
**Category:** New to Julia
**Tags:** question, pkg
**Created:** [February 8, 2019, 1:58am UTC](https://discourse.julialang.org/t/add-ing-an-unregistred-package-in-ci-installation-process/20568 "2019-02-08T01:58:48Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![Sebastian\_Rollen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sebastian_rollen/32/7498_2.png) [@Sebastian\_Rollen](https://discourse.julialang.org/u/Sebastian_Rollen)
#### Post date: [February 8, 2019, 1:58am UTC](https://discourse.julialang.org/t/add-ing-an-unregistred-package-in-ci-installation-process/20568/1 "2019-02-08T01:58:48Z")

</div>

Hi,

I have two unregistered packages, call them “First” and “Second”. Second is dependent on First, and I’ve ran `add [github/path/First.git]` to reflect that in Second’s Manifest - so far so good. Everything works well locally, but when I try to test Second on CircleCI, the build breaks in the package resolving step

```julia
 Resolving package versions...
ERROR: Unsatisfiable requirements detected for package First [31779860]:
 First [31779860] log:
 ├─First [31779860] has no known versions!
 └─restricted to versions * by Second [8c69bf56] — no versions left
   └─Second [8c69bf56] log:
     ├─possible versions are: 0.2.0 or uninstalled
     └─Second [8c69bf56] is fixed to version 0.2.0

```

I gather this has something to do with the versions of the two packages, but am unsure of how to parse that message.

As a side-note, both of these packages are in private repositories, and required github credentials during the local `add` step. Can I provide github credentials to the `Pkg.add` command in my CI by using environment variables?

Thanks,  
Sebastian

---

<div class="post-metadata">

### Author: ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)
#### Post date: [February 8, 2019, 10:38am UTC](https://discourse.julialang.org/t/add-ing-an-unregistred-package-in-ci-installation-process/20568/2 "2019-02-08T10:38:14Z")

</div>

Did you commit `Second/Manifest.toml`?

---

<div class="post-metadata">

### Author: ![Sebastian\_Rollen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sebastian_rollen/32/7498_2.png) [@Sebastian\_Rollen](https://discourse.julialang.org/u/Sebastian_Rollen)
#### Post date: [February 8, 2019, 2:33pm UTC](https://discourse.julialang.org/t/add-ing-an-unregistred-package-in-ci-installation-process/20568/3 "2019-02-08T14:33:53Z")

</div>

Yes. And the block for `First` inside `Second/Manifest.toml` looks like this:

```julia
[[First]]
deps = ["DataFrames", "Dates", "HTTP", "JSON", "LibPQ", "MySQL", "Statistics", "YAML"]
git-tree-sha1 = "98b99d879ed774205e23c79626da04d2d8647b5c"
repo-rev = "relevant/branch"
repo-url = "https://github.com/Organization/First.git"
uuid = "31779860-03a7-11e9-31c4-a5a2e3d9393f"
version = "0.3.0" 

```

---

<div class="post-metadata">

### Author: ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)
#### Post date: [February 8, 2019, 2:42pm UTC](https://discourse.julialang.org/t/add-ing-an-unregistred-package-in-ci-installation-process/20568/4 "2019-02-08T14:42:28Z")

</div>

Ok.

> [@Sebastian\_Rollen](#):
>
> when I try to test Second on CircleCI, the build breaks in the package resolving step

How do you invoke the tests? Is `Second` the active project such that `Second/Manifest.toml` is used?

---

<div class="post-metadata">

### Author: ![Sebastian\_Rollen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sebastian_rollen/32/7498_2.png) [@Sebastian\_Rollen](https://discourse.julialang.org/u/Sebastian_Rollen)
#### Post date: [February 8, 2019, 4:09pm UTC](https://discourse.julialang.org/t/add-ing-an-unregistred-package-in-ci-installation-process/20568/5 "2019-02-08T16:09:02Z")

</div>

Yes, I believe so. Previous versions of Second that did not rely on First pass the tests on CI. Here is my CI setup file:

```julia
version: 2
jobs:
  build:
    working_directory: /root/project/Second # Clone into a directory whose name matches your Package.
    docker:
      - image: julia:1.1 # image comes from Docker hub
    steps:
      - checkout
      - run:
          name: Install and Test this package
          command: julia -e 'using Pkg; Pkg.update(); Pkg.clone(pwd()); Pkg.build("Second"); Pkg.test("Second", coverage = true);'

```

---

<div class="post-metadata">

### Author: ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)
#### Post date: [February 8, 2019, 4:18pm UTC](https://discourse.julialang.org/t/add-ing-an-unregistred-package-in-ci-installation-process/20568/6 "2019-02-08T16:18:06Z")

</div>

> [@Sebastian\_Rollen](#):
>
> `command: julia -e 'using Pkg; Pkg.update(); Pkg.clone(pwd()); Pkg.build("Second"); Pkg.test("Second", coverage = true);'`

Ok, so you are not using `Second/Manifest.toml`. You can simplify the above to:

```julia
julia --project=/path/to/package/clone -e 'using Pkg; Pkg.test(; coverage=true)'

```

which will run the test with `Second` as the active project, and thus use `Second/Manifest.toml`.

---

<div class="post-metadata">

### Author: ![Sebastian\_Rollen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sebastian_rollen/32/7498_2.png) [@Sebastian\_Rollen](https://discourse.julialang.org/u/Sebastian_Rollen)
#### Post date: [February 8, 2019, 5:18pm UTC](https://discourse.julialang.org/t/add-ing-an-unregistred-package-in-ci-installation-process/20568/7 "2019-02-08T17:18:06Z")

</div>

Ah, I see what you mean now. This solved it, thank you so much for your help!

I had a second question in my original post regarding giving Pkg git credentials to be able to install a private package during the CI step, should I open a separate topic for that?

---

<div class="post-metadata">

### Author: ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)
#### Post date: [February 9, 2019, 9:55pm UTC](https://discourse.julialang.org/t/add-ing-an-unregistred-package-in-ci-installation-process/20568/8 "2019-02-09T21:55:47Z")

</div>

> [@Sebastian\_Rollen](#):
>
> I had a second question in my original post regarding giving Pkg git credentials to be able to install a private package during the CI step, should I open a separate topic for that?

I have no experience with this. Feel free to open a new topic if you haven’t solved it yet.
