Gitlab CI keeps directory between builds
Running version
Run as Docker runner
Version: 15.7.1
Git revision: 6d480948
Git branch: 15-7-stable
GO version: go1.18.9
Built: 2022-12-19T12:28:34+0000
OS/Arch: linux/amd64
docker-compose
version: '2'
services:
gitlab-runner:
container_name: gitlab-runner
restart: always
volumes:
- /etc/gitlab-runner:/etc/gitlab-runner:ro
- /home/gitlab-runner/.docker/config.json:/home/gitlab-runner/.docker/config.json:ro
- /var/run/docker.sock:/var/run/docker.sock
# image: gitlab/gitlab-runner:latest
build:
context: .
dockerfile: builder.Dockerfile
Dockerfile (Default runner + docker)
FROM gitlab/gitlab-runner:latest
RUN apt-get update && \
apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
apt-get update && \
apt-get install docker-ce docker-ce-cli containerd.io -y
Runner config.toml
[[runners]]
name = "docker-1-gitlab-runner-1"
url = "xxxxxxxxxxx"
token = "xxxxxxxxxxxxxxxxx"
executor = "docker"
[runners.docker]
tls_verify = false
image = "ubuntu:20.04"
privileged = true
pull_policy = "if-not-present"
disable_cache = false
volumes = ["/cache","/certs/client"]
shm_size = 0
[runners.cache]
Problem
After running some jobs, it appears that data are keep between jobs.
If a job make a git clone of one project. Next pipeline, same runner, do same job. It also contains previously cloned directory, and so fail. We don’t know why it appears now, probably an update of runner.
Failling job
build-exprtk-amd64:
when: on_success
image: tracesoftware/gitlab-builder:x86-cpp
tags:
- docker
- x86
stage: build-libs
needs:
- test-scripts
script:
- ACTUAL_PATH=`pwd`
- source misc/libVersion.sh
- git clone https://github.com/ArashPartow/exprtk.git
- cd exprtk
- mkdir -p /tmp/exprtk-amd64/include
- cp exprtk.hpp /tmp/exprtk-amd64/include
- cp -r /tmp/exprtk-amd64 $ACTUAL_PATH
- cd $ACTUAL_PATH
artifacts:
when: on_success
expire_in: 2 hrs
untracked: true
paths:
- exprtk-amd64/
I’ve made some searches but I don’t find a solution. Anyone knows ?
Thanks in advance
Have a good day !
Thomas S.