From 27ddbb983f1f17c3fec7756c91c684e122f98ead Mon Sep 17 00:00:00 2001 From: Maria Matejka Date: Tue, 17 Dec 2024 12:38:12 +0100 Subject: [PATCH] CI: fix test collisions between branches The build-netlab job was side-effecting the test-* jobs, and if for some reason Gitlab scheduled build-netlab before other pipeline's test-* jobs finished, these jobs got a wrong binary, possibly failing. Solved by using explicit artifacts, which is not the fastest way to do this (we could keep the binaries named there) but it's the gitlab-right way to do this. --- .gitlab-ci.yml | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a4eeb41c..6ce3e631 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -411,19 +411,22 @@ pkg-opensuse-15.3-amd64: build-netlab: stage: build + variables: + BDIR: build-netlab tags: - netlab - amd64 script: - - DIR=$(pwd) - autoreconf - - ./configure + - mkdir $BDIR + - cd $BDIR + - ../configure - make - - cd $TOOLS_DIR - - sudo git clean -fx - - git pull --ff-only - - mv $DIR/bird $DIR/birdc netlab/common - - ln -s $STAYRTR_BINARY netlab/common/stayrtr + artifacts: + paths: + - $BDIR/bird + - $BDIR/birdc + expire_in: 2 hours .test: &test-base stage: test @@ -432,7 +435,13 @@ build-netlab: - netlab - amd64 script: - - cd $TOOLS_DIR/netlab + - DIR=$(pwd) + - cd $TOOLS_DIR + - sudo git clean -fx + - git pull --ff-only + - mv $DIR/build-netlab/* netlab/common/ + - ln -s $STAYRTR_BINARY netlab/common/stayrtr + - cd netlab - sudo ./stop - sudo ./runtest -s v2 -m check $TEST_NAME