6 - if: $CI_PIPELINE_SOURCE == "merge_request_event"
8 - if: $CI_COMMIT_REF_PROTECTED == "true"
13 - ./ci/install-docker-dependencies.sh
15 - useradd builder --create-home
16 - chown -R builder "${CI_PROJECT_DIR}"
17 - sudo --preserve-env --set-home --user=builder ./ci/run-build-and-tests.sh
20 if test "$CI_JOB_STATUS" != 'success'
22 sudo --preserve-env --set-home --user=builder ./ci/print-test-failures.sh
26 - jobname: linux-sha256
33 - jobname: linux-TEST-vars
37 - jobname: linux-gcc-default
40 - jobname: linux-leaks
43 - jobname: linux-asan-ubsan
52 - t/failed-test-artifacts
58 - saas-macos-medium-m1
60 TEST_OUTPUT_DIRECTORY: "/Volumes/RAMDisk"
62 # Create a 4GB RAM disk that we use to store test output on. This small hack
63 # significantly speeds up tests by more than a factor of 2 because the
64 # macOS runners use network-attached storage as disks, which is _really_
65 # slow with the many small writes that our tests do.
66 - sudo diskutil apfs create $(hdiutil attach -nomount ram://8192000) RAMDisk
67 - ./ci/install-dependencies.sh
69 - ./ci/run-build-and-tests.sh
72 if test "$CI_JOB_STATUS" != 'success'
74 ./ci/print-test-failures.sh
75 mv "$TEST_OUTPUT_DIRECTORY"/failed-test-artifacts t/
80 image: macos-13-xcode-14
84 - t/failed-test-artifacts
90 jobname: StaticAnalysis
92 - ./ci/install-docker-dependencies.sh
94 - ./ci/run-static-analysis.sh
95 - ./ci/check-directional-formatting.bash