- when: always
variables:
- GIT_DEPTH: 0
GIT_STRATEGY: fetch
EMACS_EMBA_CI: 1
EMACS_TEST_JUNIT_REPORT: junit-test-report.xml
cache:
key: ${CI_COMMIT_SHA}
paths: []
+ policy: pull-push
# These will be saved for followup builds.
artifacts:
expire_in: 24 hrs
- 'docker run -i -e EMACS_EMBA_CI=${EMACS_EMBA_CI} -e EMACS_TEST_JUNIT_REPORT=${EMACS_TEST_JUNIT_REPORT} -e EMACS_TEST_TIMEOUT=${EMACS_TEST_TIMEOUT} -e EMACS_TEST_VERBOSE=${EMACS_TEST_VERBOSE} -e NPROC=`nproc` --volumes-from $(docker ps -q -f "label=com.gitlab.gitlab-runner.job.id=${CI_JOB_ID}"):ro --name ${test_name} ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} /bin/bash -xvc "git fetch ${PWD} HEAD && echo checking out these updated files && git diff --name-only FETCH_HEAD && ( git diff --name-only FETCH_HEAD | xargs git checkout -f FETCH_HEAD ) && make -j \$NPROC && make -k -j \$NPROC ${make_params}"'
after_script:
# - docker ps -a
- # - printenv
- # - test -n "$(docker ps -aq -f name=${test_name})" && ( docker export ${test_name} | tar -tvf - )
+ - pwd; printenv
+ - test -n "$(docker ps -aq -f name=${test_name})" && ( docker export ${test_name} | tar -tvf - )
# Prepare test artifacts.
- test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name}
- test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/configure.log ${test_name}
- find ${test_name} -type d -depth -exec rmdir {} + 2>/dev/null
.build-template:
- needs: []
- cache:
- policy: push
rules:
- if: '$CI_PIPELINE_SOURCE == "web"'
when: always
- docker push ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG}
.test-template:
- cache:
- policy: pull
artifacts:
name: ${test_name}
public: true
expire_in: 1 week
when: always
paths:
- - ${test_name}/
+ - "${test_name}/**.log"
reports:
junit: ${test_name}/${EMACS_TEST_JUNIT_REPORT}