]> git.ipfire.org Git - thirdparty/git.git/blob - .gitlab-ci.yml
reftable/block: fix error handling when searching restart points
[thirdparty/git.git] / .gitlab-ci.yml
1 default:
2 timeout: 2h
3
4 workflow:
5 rules:
6 - if: $CI_PIPELINE_SOURCE == "merge_request_event"
7 - if: $CI_COMMIT_TAG
8 - if: $CI_COMMIT_REF_PROTECTED == "true"
9
10 test:linux:
11 image: $image
12 before_script:
13 - ./ci/install-docker-dependencies.sh
14 script:
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
18 after_script:
19 - |
20 if test "$CI_JOB_STATUS" != 'success'
21 then
22 sudo --preserve-env --set-home --user=builder ./ci/print-test-failures.sh
23 fi
24 parallel:
25 matrix:
26 - jobname: linux-sha256
27 image: ubuntu:latest
28 CC: clang
29 - jobname: linux-reftable
30 image: ubuntu:latest
31 CC: clang
32 - jobname: linux-gcc
33 image: ubuntu:20.04
34 CC: gcc
35 CC_PACKAGE: gcc-8
36 - jobname: linux-TEST-vars
37 image: ubuntu:20.04
38 CC: gcc
39 CC_PACKAGE: gcc-8
40 - jobname: linux-gcc-default
41 image: ubuntu:latest
42 CC: gcc
43 - jobname: linux-leaks
44 image: ubuntu:latest
45 CC: gcc
46 - jobname: linux-reftable-leaks
47 image: ubuntu:latest
48 CC: gcc
49 - jobname: linux-asan-ubsan
50 image: ubuntu:latest
51 CC: clang
52 - jobname: pedantic
53 image: fedora:latest
54 - jobname: linux-musl
55 image: alpine:latest
56 artifacts:
57 paths:
58 - t/failed-test-artifacts
59 when: on_failure
60
61 test:osx:
62 image: $image
63 tags:
64 - saas-macos-medium-m1
65 variables:
66 TEST_OUTPUT_DIRECTORY: "/Volumes/RAMDisk"
67 before_script:
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
74 script:
75 - ./ci/run-build-and-tests.sh
76 after_script:
77 - |
78 if test "$CI_JOB_STATUS" != 'success'
79 then
80 ./ci/print-test-failures.sh
81 mv "$TEST_OUTPUT_DIRECTORY"/failed-test-artifacts t/
82 fi
83 parallel:
84 matrix:
85 - jobname: osx-clang
86 image: macos-13-xcode-14
87 CC: clang
88 - jobname: osx-reftable
89 image: macos-13-xcode-14
90 CC: clang
91 artifacts:
92 paths:
93 - t/failed-test-artifacts
94 when: on_failure
95
96 static-analysis:
97 image: ubuntu:22.04
98 variables:
99 jobname: StaticAnalysis
100 before_script:
101 - ./ci/install-docker-dependencies.sh
102 script:
103 - ./ci/run-static-analysis.sh
104 - ./ci/check-directional-formatting.bash