diff options
author | MarcoFalke <falke.marco@gmail.com> | 2021-03-25 11:14:35 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2021-04-09 15:56:23 +0200 |
commit | fa278412a023ac150da764a465567f2970348449 (patch) | |
tree | 03613d5c76c98f6419b618ce2dabc17dcaa792ae | |
parent | fad4f48e0763d111369656dea9575a789d2016e8 (diff) |
ci: Restart docker before run
Also, add setting for persistent worker in .cirrus.yml
-rw-r--r-- | .cirrus.yml | 6 | ||||
-rwxr-xr-x | ci/test/04_install.sh | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/.cirrus.yml b/.cirrus.yml index d9e68e263a..aafe4c9241 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -10,6 +10,12 @@ env: cirrus_ephemeral_worker_template_env: &CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV DANGER_RUN_CI_ON_HOST: "1" # Containers will be discarded after the run, so there is no risk that the ci scripts modify the system +persistent_worker_template_env: &PERSISTENT_WORKER_TEMPLATE_ENV + RESTART_CI_DOCKER_BEFORE_RUN: "1" + +persistent_worker_template: &PERSISTENT_WORKER_TEMPLATE + persistent_worker: {} # https://cirrus-ci.org/guide/persistent-workers/ + # https://cirrus-ci.org/guide/tips-and-tricks/#sharing-configuration-between-tasks base_template: &BASE_TEMPLATE skip: $CIRRUS_REPO_FULL_NAME == "bitcoin-core/gui" && $CIRRUS_PR == "" # No need to run on the read-only mirror, unless it is a PR. https://cirrus-ci.org/guide/writing-tasks/#conditional-task-execution diff --git a/ci/test/04_install.sh b/ci/test/04_install.sh index f0ed314d19..608acfc2cf 100755 --- a/ci/test/04_install.sh +++ b/ci/test/04_install.sh @@ -33,7 +33,12 @@ if [ -z "$DANGER_RUN_CI_ON_HOST" ]; then echo "Creating $DOCKER_NAME_TAG container to run in" ${CI_RETRY_EXE} docker pull "$DOCKER_NAME_TAG" - DOCKER_ID=$(docker run $DOCKER_ADMIN -idt \ + if [ -n "${RESTART_CI_DOCKER_BEFORE_RUN}" ] ; then + echo "Restart docker before run to stop and clear all containers started with --rm" + systemctl restart docker + fi + + DOCKER_ID=$(docker run $DOCKER_ADMIN --rm --interactive --detach --tty \ --mount type=bind,src=$BASE_ROOT_DIR,dst=/ro_base,readonly \ --mount type=bind,src=$CCACHE_DIR,dst=$CCACHE_DIR \ --mount type=bind,src=$DEPENDS_DIR,dst=$DEPENDS_DIR \ |