diff options
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cd98bcb18a..c0fa2fe90b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,7 +7,7 @@ workflow: - if: $CI_COMMIT_TAG - if: $CI_COMMIT_REF_PROTECTED == "true" -test: +test:linux: image: $image before_script: - ./ci/install-docker-dependencies.sh @@ -26,6 +26,9 @@ test: - jobname: linux-sha256 image: ubuntu:latest CC: clang + - jobname: linux-reftable + image: ubuntu:latest + CC: clang - jobname: linux-gcc image: ubuntu:20.04 CC: gcc @@ -40,6 +43,9 @@ test: - jobname: linux-leaks image: ubuntu:latest CC: gcc + - jobname: linux-reftable-leaks + image: ubuntu:latest + CC: gcc - jobname: linux-asan-ubsan image: ubuntu:latest CC: clang @@ -51,3 +57,48 @@ test: paths: - t/failed-test-artifacts when: on_failure + +test:osx: + image: $image + tags: + - saas-macos-medium-m1 + variables: + TEST_OUTPUT_DIRECTORY: "/Volumes/RAMDisk" + before_script: + # Create a 4GB RAM disk that we use to store test output on. This small hack + # significantly speeds up tests by more than a factor of 2 because the + # macOS runners use network-attached storage as disks, which is _really_ + # slow with the many small writes that our tests do. + - sudo diskutil apfs create $(hdiutil attach -nomount ram://8192000) RAMDisk + - ./ci/install-dependencies.sh + script: + - ./ci/run-build-and-tests.sh + after_script: + - | + if test "$CI_JOB_STATUS" != 'success' + then + ./ci/print-test-failures.sh + mv "$TEST_OUTPUT_DIRECTORY"/failed-test-artifacts t/ + fi + parallel: + matrix: + - jobname: osx-clang + image: macos-13-xcode-14 + CC: clang + - jobname: osx-reftable + image: macos-13-xcode-14 + CC: clang + artifacts: + paths: + - t/failed-test-artifacts + when: on_failure + +static-analysis: + image: ubuntu:22.04 + variables: + jobname: StaticAnalysis + before_script: + - ./ci/install-docker-dependencies.sh + script: + - ./ci/run-static-analysis.sh + - ./ci/check-directional-formatting.bash |