grep "^#define HAVE_READLINE_READLINE" config.h; \
fi
+# 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
- if [[ "${CFLAGS}" == *"-fsanitize=address"* ]]; then ( ! grep -F AddressSanitizer config.log ); fi
- 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:
- - test -n "${OUT_OF_TREE_WORKSPACE}" && mv "${OUT_OF_TREE_WORKSPACE}" "${CI_PROJECT_DIR}"
+ - *save_out_of_tree_workspace
needs:
- job: autoreconf
artifacts: true
stage: system
before_script:
- *setup_softhsm
- # Move the artifacts from the out-of-tree build job to their original location (the out-of-tree workspace).
- - test -n "${OUT_OF_TREE_WORKSPACE}" && mv "$(basename "${OUT_OF_TREE_WORKSPACE}")" "${OUT_OF_TREE_WORKSPACE}"
- # Continue work in the out-of-tree workspace.
- - test -n "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}"
+ - *retrieve_out_of_tree_workspace
- *setup_interfaces
script:
- cd bin/tests/system
- test -n "${OUT_OF_TREE_WORKSPACE}" && cd "${OUT_OF_TREE_WORKSPACE}"
- test -d bind-* && cd bind-*
- cat bin/tests/system/test-suite.log
- - test -n "${OUT_OF_TREE_WORKSPACE}" && mv "${OUT_OF_TREE_WORKSPACE}" "${CI_PROJECT_DIR}"
+ - *save_out_of_tree_workspace
.system_test: &system_test_job
<<: *system_test_common
before_script:
- if [ -n "$TCP_CONNECTIONTIMEOUT" ]; then sudo sysctl 'net.inet.tcp.keepinittime=1'; fi
- *setup_softhsm
+ - *retrieve_out_of_tree_workspace
script:
- make -j${TEST_PARALLEL_JOBS:-1} -k unit V=1
+ after_script:
+ - *save_out_of_tree_workspace
.unit_test: &unit_test_job
<<: *unit_test_common
- tags
- web
+unit:gcc:out-of-tree:
+ variables:
+ OUT_OF_TREE_WORKSPACE: /tmp/out_of_tree_workspace
+ needs:
+ - job: gcc:out-of-tree
+ artifacts: true
+ <<: *base_image
+ <<: *unit_test_job
+ only:
+ - schedules
+ - tags
+ - web
+
# Jobs for tarball GCC builds on Debian 10 "buster" (amd64)
gcc:tarball: