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
29 - jobname: linux-reftable
36 - jobname: linux-TEST-vars
40 - jobname: linux-gcc-default
43 - jobname: linux-leaks
46 - jobname: linux-reftable-leaks
49 - jobname: linux-asan-ubsan
58 - t/failed-test-artifacts
64 - saas-macos-medium-m1
66 TEST_OUTPUT_DIRECTORY: "/Volumes/RAMDisk"
68 # Create a 4GB RAM disk that we use to store test output on. This small hack
69 # significantly speeds up tests by more than a factor of 2 because the
70 # macOS runners use network-attached storage as disks, which is _really_
71 # slow with the many small writes that our tests do.
72 - sudo diskutil apfs create $(hdiutil attach -nomount ram://8192000) RAMDisk
73 - ./ci/install-dependencies.sh
75 - ./ci/run-build-and-tests.sh
78 if test "$CI_JOB_STATUS" != 'success'
80 ./ci/print-test-failures.sh
81 mv "$TEST_OUTPUT_DIRECTORY"/failed-test-artifacts t/
86 image: macos-13-xcode-14
88 - jobname: osx-reftable
89 image: macos-13-xcode-14
93 - t/failed-test-artifacts
99 jobname: StaticAnalysis
101 - ./ci/install-docker-dependencies.sh
103 - ./ci/run-static-analysis.sh
104 - ./ci/check-directional-formatting.bash