Gitlab CI keeps directory between builds

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 :smiley:

Have a good day !
Thomas S.