diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4da8a511e4..040ad21381 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -259,18 +259,6 @@ stages: - rm -f bind-*.tar.${TARBALL_EXTENSION} - cd bind-* -# Move the out-of-tree workspace to CI project dir to save it for use in -# dependent jobs. -.save_out_of_tree_workspace: &save_out_of_tree_workspace - - test -n "${OUT_OF_TREE_WORKSPACE}" && mv "${OUT_OF_TREE_WORKSPACE}" "${CI_PROJECT_DIR}" - -# Move the artifacts from the out-of-tree build job to their original -# location (the out-of-tree workspace) and then continue work in the -# out-of-tree workspace. -.retrieve_out_of_tree_workspace: &retrieve_out_of_tree_workspace - - test -n "${OUT_OF_TREE_WORKSPACE}" && mv "$(basename "${OUT_OF_TREE_WORKSPACE}")" "${OUT_OF_TREE_WORKSPACE}" - - test -n "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}" - .build: &build_job <<: *default_triggering_rules stage: build @@ -288,8 +276,6 @@ stages: - test -z "${CROSS_COMPILATION}" || file lib/dns/gen | grep -F -q "ELF 64-bit LSB" - test -z "${CROSS_COMPILATION}" || ( ! git ls-files -z --others --exclude lib/dns/gen | xargs -0 file | grep "ELF 64-bit LSB" ) - if test -z "${OUT_OF_TREE_WORKSPACE}" && test "$(git status --porcelain | grep -Ev '\?\?' | wc -l)" -gt "0"; then git status --short; exit 1; fi - after_script: - - *save_out_of_tree_workspace needs: - job: autoreconf artifacts: true @@ -309,18 +295,17 @@ stages: <<: *default_triggering_rules stage: system before_script: - - *retrieve_out_of_tree_workspace + - test -n "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}" - *setup_interfaces script: - cd bin/tests/system - make -j${TEST_PARALLEL_JOBS:-1} -k check V=1 - if git rev-parse > /dev/null 2>&1; then ( ! grep "^I:.*:file.*not removed$" *.log ); fi after_script: - - (source bin/tests/system/conf.sh; $PYTHON bin/tests/convert-trs-to-junit.py . > junit.xml) - test -n "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}" - test -d bind-* && cd bind-* - cat bin/tests/system/test-suite.log - - *save_out_of_tree_workspace + - (source bin/tests/system/conf.sh && "${PYTHON}" "${CI_PROJECT_DIR}/bin/tests/convert-trs-to-junit.py" . > "${CI_PROJECT_DIR}/junit.xml") .system_test: &system_test_job <<: *system_test_common @@ -343,7 +328,7 @@ stages: after_script: - cat bin/tests/system/test-suite.log - find bin -name 'tsan.*' -exec python3 util/parse_tsan.py {} \; - - (source bin/tests/system/conf.sh; $PYTHON bin/tests/convert-trs-to-junit.py . > junit.xml) + - (source bin/tests/system/conf.sh && "${PYTHON}" "${CI_PROJECT_DIR}/bin/tests/convert-trs-to-junit.py" . > "${CI_PROJECT_DIR}/junit.xml") artifacts: expire_in: "1 day" untracked: true @@ -355,12 +340,13 @@ stages: <<: *default_triggering_rules stage: unit before_script: - - *retrieve_out_of_tree_workspace + - test -n "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}" script: - make -j${TEST_PARALLEL_JOBS:-1} -k unit V=1 after_script: - - (source bin/tests/system/conf.sh; $PYTHON bin/tests/convert-trs-to-junit.py . > junit.xml) - - *save_out_of_tree_workspace + - test -n "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}" + - test -d bind-* && cd bind-* + - (source bin/tests/system/conf.sh && "${PYTHON}" "${CI_PROJECT_DIR}/bin/tests/convert-trs-to-junit.py" . > "${CI_PROJECT_DIR}/junit.xml") .unit_test: &unit_test_job <<: *unit_test_common @@ -382,7 +368,7 @@ stages: <<: *unit_test_common after_script: - find lib -name 'tsan.*' -exec python3 util/parse_tsan.py {} \; - - (source bin/tests/system/conf.sh; $PYTHON bin/tests/convert-trs-to-junit.py . > junit.xml) + - (source bin/tests/system/conf.sh && "${PYTHON}" "${CI_PROJECT_DIR}/bin/tests/convert-trs-to-junit.py" . > "${CI_PROJECT_DIR}/junit.xml") artifacts: expire_in: "1 day" paths: @@ -792,13 +778,13 @@ gcc:out-of-tree: CONFIGURE: "${CI_PROJECT_DIR}/configure" EXTRA_CONFIGURE: "--with-libidn2 --with-lmdb" RUN_MAKE_INSTALL: 1 - OUT_OF_TREE_WORKSPACE: /tmp/out_of_tree_workspace + OUT_OF_TREE_WORKSPACE: workspace <<: *base_image <<: *build_job system:gcc:out-of-tree: variables: - OUT_OF_TREE_WORKSPACE: /tmp/out_of_tree_workspace + OUT_OF_TREE_WORKSPACE: workspace needs: - job: gcc:out-of-tree artifacts: true @@ -808,7 +794,7 @@ system:gcc:out-of-tree: unit:gcc:out-of-tree: variables: - OUT_OF_TREE_WORKSPACE: /tmp/out_of_tree_workspace + OUT_OF_TREE_WORKSPACE: workspace needs: - job: gcc:out-of-tree artifacts: true