| default: |
| timeout: 2h |
| |
| workflow: |
| rules: |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" |
| - if: $CI_COMMIT_TAG |
| - if: $CI_COMMIT_REF_PROTECTED == "true" |
| |
| test: |
| image: $image |
| before_script: |
| - ./ci/install-docker-dependencies.sh |
| script: |
| - useradd builder --create-home |
| - chown -R builder "${CI_PROJECT_DIR}" |
| - sudo --preserve-env --set-home --user=builder ./ci/run-build-and-tests.sh |
| after_script: |
| - | |
| if test "$CI_JOB_STATUS" != 'success' |
| then |
| sudo --preserve-env --set-home --user=builder ./ci/print-test-failures.sh |
| fi |
| parallel: |
| matrix: |
| - jobname: linux-sha256 |
| image: ubuntu:latest |
| CC: clang |
| - jobname: linux-gcc |
| image: ubuntu:20.04 |
| CC: gcc |
| CC_PACKAGE: gcc-8 |
| - jobname: linux-TEST-vars |
| image: ubuntu:20.04 |
| CC: gcc |
| CC_PACKAGE: gcc-8 |
| - jobname: linux-gcc-default |
| image: ubuntu:latest |
| CC: gcc |
| - jobname: linux-leaks |
| image: ubuntu:latest |
| CC: gcc |
| - jobname: linux-asan-ubsan |
| image: ubuntu:latest |
| CC: clang |
| - jobname: pedantic |
| image: fedora:latest |
| - jobname: linux-musl |
| image: alpine:latest |
| artifacts: |
| paths: |
| - t/failed-test-artifacts |
| when: on_failure |