GitLab CI and conan cache
up vote
0
down vote
favorite
I use GitLab CI to build my C++ project inside a docker image. I also use conan as a package manager for this project. Everything runs well but I would like to keep conan cache to avoid downloading (or even building) external libs on every build. I tried the following:
.cpp-build:
stage: build
variables:
CONAN_USER_HOME: "${CI_PROJECT_DIR}/conan-home"
before_script:
- mkdir -p build
- conan search "*"
after_script:
- conan search "*"
cache:
paths:
- conan-home
- build
key: "${CI_BUILD_NAME}"
cpp-gcc-build:
extends: .cpp-build
image: conanio/gcc8
script:
- cd build
- conan install --build=missing ../ci_test/cpp/
- cmake ../ci_test/cpp/
- make
artifacts:
paths:
- build/bin/cpp_unit_tests
cpp-gcc-test:
image: conanio/gcc8
stage: test
script:
- build/bin/cpp_unit_tests
GitLab CI seems to be restoring the conan-home directory content correctly (I tried listing the content in the before script and it seemed OK) but conan does not find any installed package in the before script and always downloads all the dependencies. I do not understand what is missing.
c++ gitlab gitlab-ci conan
add a comment |
up vote
0
down vote
favorite
I use GitLab CI to build my C++ project inside a docker image. I also use conan as a package manager for this project. Everything runs well but I would like to keep conan cache to avoid downloading (or even building) external libs on every build. I tried the following:
.cpp-build:
stage: build
variables:
CONAN_USER_HOME: "${CI_PROJECT_DIR}/conan-home"
before_script:
- mkdir -p build
- conan search "*"
after_script:
- conan search "*"
cache:
paths:
- conan-home
- build
key: "${CI_BUILD_NAME}"
cpp-gcc-build:
extends: .cpp-build
image: conanio/gcc8
script:
- cd build
- conan install --build=missing ../ci_test/cpp/
- cmake ../ci_test/cpp/
- make
artifacts:
paths:
- build/bin/cpp_unit_tests
cpp-gcc-test:
image: conanio/gcc8
stage: test
script:
- build/bin/cpp_unit_tests
GitLab CI seems to be restoring the conan-home directory content correctly (I tried listing the content in the before script and it seemed OK) but conan does not find any installed package in the before script and always downloads all the dependencies. I do not understand what is missing.
c++ gitlab gitlab-ci conan
Which Gitlab version are you running? CI_BUILD_ were deprecated after GItlab 9: docs.gitlab.com/ce/ci/variables/#90-renaming. Are sure is that same runner building and consuming the cache?
– uilianries
yesterday
Thanks for the remark about CI_BUIL_. I use GitLab 11.4.5, I should change that. I am sure it is on the same runner because I have only one.
– slepasteur
23 hours ago
I tried to reproduce your error on gitlab.com: gitlab.com/uilianries/stackflow-conan-error/-/jobs/118518639. But cache is working for me. I think your cache size could be limited, or other runner/job is overriding your cache folder. You could force disable_cache to false use a new cache_dir with that runner to make sure about it. cache is cleaned automatically.
– uilianries
2 hours ago
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I use GitLab CI to build my C++ project inside a docker image. I also use conan as a package manager for this project. Everything runs well but I would like to keep conan cache to avoid downloading (or even building) external libs on every build. I tried the following:
.cpp-build:
stage: build
variables:
CONAN_USER_HOME: "${CI_PROJECT_DIR}/conan-home"
before_script:
- mkdir -p build
- conan search "*"
after_script:
- conan search "*"
cache:
paths:
- conan-home
- build
key: "${CI_BUILD_NAME}"
cpp-gcc-build:
extends: .cpp-build
image: conanio/gcc8
script:
- cd build
- conan install --build=missing ../ci_test/cpp/
- cmake ../ci_test/cpp/
- make
artifacts:
paths:
- build/bin/cpp_unit_tests
cpp-gcc-test:
image: conanio/gcc8
stage: test
script:
- build/bin/cpp_unit_tests
GitLab CI seems to be restoring the conan-home directory content correctly (I tried listing the content in the before script and it seemed OK) but conan does not find any installed package in the before script and always downloads all the dependencies. I do not understand what is missing.
c++ gitlab gitlab-ci conan
I use GitLab CI to build my C++ project inside a docker image. I also use conan as a package manager for this project. Everything runs well but I would like to keep conan cache to avoid downloading (or even building) external libs on every build. I tried the following:
.cpp-build:
stage: build
variables:
CONAN_USER_HOME: "${CI_PROJECT_DIR}/conan-home"
before_script:
- mkdir -p build
- conan search "*"
after_script:
- conan search "*"
cache:
paths:
- conan-home
- build
key: "${CI_BUILD_NAME}"
cpp-gcc-build:
extends: .cpp-build
image: conanio/gcc8
script:
- cd build
- conan install --build=missing ../ci_test/cpp/
- cmake ../ci_test/cpp/
- make
artifacts:
paths:
- build/bin/cpp_unit_tests
cpp-gcc-test:
image: conanio/gcc8
stage: test
script:
- build/bin/cpp_unit_tests
GitLab CI seems to be restoring the conan-home directory content correctly (I tried listing the content in the before script and it seemed OK) but conan does not find any installed package in the before script and always downloads all the dependencies. I do not understand what is missing.
c++ gitlab gitlab-ci conan
c++ gitlab gitlab-ci conan
asked yesterday
slepasteur
749
749
Which Gitlab version are you running? CI_BUILD_ were deprecated after GItlab 9: docs.gitlab.com/ce/ci/variables/#90-renaming. Are sure is that same runner building and consuming the cache?
– uilianries
yesterday
Thanks for the remark about CI_BUIL_. I use GitLab 11.4.5, I should change that. I am sure it is on the same runner because I have only one.
– slepasteur
23 hours ago
I tried to reproduce your error on gitlab.com: gitlab.com/uilianries/stackflow-conan-error/-/jobs/118518639. But cache is working for me. I think your cache size could be limited, or other runner/job is overriding your cache folder. You could force disable_cache to false use a new cache_dir with that runner to make sure about it. cache is cleaned automatically.
– uilianries
2 hours ago
add a comment |
Which Gitlab version are you running? CI_BUILD_ were deprecated after GItlab 9: docs.gitlab.com/ce/ci/variables/#90-renaming. Are sure is that same runner building and consuming the cache?
– uilianries
yesterday
Thanks for the remark about CI_BUIL_. I use GitLab 11.4.5, I should change that. I am sure it is on the same runner because I have only one.
– slepasteur
23 hours ago
I tried to reproduce your error on gitlab.com: gitlab.com/uilianries/stackflow-conan-error/-/jobs/118518639. But cache is working for me. I think your cache size could be limited, or other runner/job is overriding your cache folder. You could force disable_cache to false use a new cache_dir with that runner to make sure about it. cache is cleaned automatically.
– uilianries
2 hours ago
Which Gitlab version are you running? CI_BUILD_ were deprecated after GItlab 9: docs.gitlab.com/ce/ci/variables/#90-renaming. Are sure is that same runner building and consuming the cache?
– uilianries
yesterday
Which Gitlab version are you running? CI_BUILD_ were deprecated after GItlab 9: docs.gitlab.com/ce/ci/variables/#90-renaming. Are sure is that same runner building and consuming the cache?
– uilianries
yesterday
Thanks for the remark about CI_BUIL_. I use GitLab 11.4.5, I should change that. I am sure it is on the same runner because I have only one.
– slepasteur
23 hours ago
Thanks for the remark about CI_BUIL_. I use GitLab 11.4.5, I should change that. I am sure it is on the same runner because I have only one.
– slepasteur
23 hours ago
I tried to reproduce your error on gitlab.com: gitlab.com/uilianries/stackflow-conan-error/-/jobs/118518639. But cache is working for me. I think your cache size could be limited, or other runner/job is overriding your cache folder. You could force disable_cache to false use a new cache_dir with that runner to make sure about it. cache is cleaned automatically.
– uilianries
2 hours ago
I tried to reproduce your error on gitlab.com: gitlab.com/uilianries/stackflow-conan-error/-/jobs/118518639. But cache is working for me. I think your cache size could be limited, or other runner/job is overriding your cache folder. You could force disable_cache to false use a new cache_dir with that runner to make sure about it. cache is cleaned automatically.
– uilianries
2 hours ago
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53204344%2fgitlab-ci-and-conan-cache%23new-answer', 'question_page');
}
);
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Which Gitlab version are you running? CI_BUILD_ were deprecated after GItlab 9: docs.gitlab.com/ce/ci/variables/#90-renaming. Are sure is that same runner building and consuming the cache?
– uilianries
yesterday
Thanks for the remark about CI_BUIL_. I use GitLab 11.4.5, I should change that. I am sure it is on the same runner because I have only one.
– slepasteur
23 hours ago
I tried to reproduce your error on gitlab.com: gitlab.com/uilianries/stackflow-conan-error/-/jobs/118518639. But cache is working for me. I think your cache size could be limited, or other runner/job is overriding your cache folder. You could force disable_cache to false use a new cache_dir with that runner to make sure about it. cache is cleaned automatically.
– uilianries
2 hours ago