gitlab-ci: Remove debian cross mips build
[uid_wrapper.git] / .gitlab-ci.yml
1 variables:
2   GIT_DEPTH: 3
3   BUILD_IMAGES_PROJECT: cmocka/gitlab-build-images
4   FEDORA_BUILD: buildenv-fedora
5   CENTOS7_BUILD: buildenv-centos7
6   TUMBLEWEED_BUILD: buildenv-tumbleweed
7   MINGW_BUILD: buildenv-mingw
8
9 centos7/x86_64:
10   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$CENTOS7_BUILD
11   script:
12   - mkdir -p obj && cd obj && cmake3
13     -DCMAKE_BUILD_TYPE=RelWithDebInfo
14     -DPICKY_DEVELOPER=ON
15     -DUNIT_TESTING=ON .. &&
16     make -j$(nproc) && ctest --output-on-failure
17   tags:
18   - shared
19   except:
20   - tags
21   artifacts:
22     expire_in: 1 week
23     when: on_failure
24     paths:
25       - obj/
26
27 fedora/x86_64:
28   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
29   script:
30   - mkdir -p obj && cd obj && cmake
31     -DCMAKE_INSTALL_PREFIX=/tmp/local
32     -DCMAKE_BUILD_TYPE=RelWithDebInfo
33     -DPICKY_DEVELOPER=ON
34     -DUNIT_TESTING=ON .. &&
35     make -j$(nproc) && ctest --output-on-failure && make install
36   tags:
37   - shared
38   except:
39   - tags
40   artifacts:
41     expire_in: 1 week
42     when: on_failure
43     paths:
44       - obj/
45
46 fedora/address-sanitizer:
47   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
48   script:
49   - mkdir -p obj && cd obj && cmake
50     -DCMAKE_BUILD_TYPE=AddressSanitizer
51     -DPICKY_DEVELOPER=ON
52     -DUNIT_TESTING=ON .. &&
53     make -j$(nproc) && ctest --output-on-failure
54   tags:
55   - shared
56   except:
57   - tags
58   artifacts:
59     expire_in: 1 week
60     when: on_failure
61     paths:
62       - obj/
63
64 fedora/undefined-sanitizer:
65   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
66   script:
67   - mkdir -p obj && cd obj && cmake
68     -DCMAKE_BUILD_TYPE=UndefinedSanitizer
69     -DUNIT_TESTING=ON ..
70     && make -j$(nproc) && ctest --output-on-failure
71   tags:
72   - shared
73   except:
74   - tags
75   artifacts:
76     expire_in: 1 week
77     when: on_failure
78     paths:
79       - obj/
80
81 fedora/csbuild:
82   variables:
83     GIT_DEPTH: 20
84   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$FEDORA_BUILD
85   script:
86   - |
87     if [[ -z "$CI_COMMIT_BEFORE_SHA" ]]; then
88         export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~15")
89     fi
90
91     # Check if the commit exists in this branch
92     # This is not the case for a force push
93     git branch --contains $CI_COMMIT_BEFORE_SHA 2>/dev/null || export CI_COMMIT_BEFORE_SHA=$(git rev-parse "${CI_COMMIT_SHA}~15")
94
95     export CI_COMMIT_RANGE="$CI_COMMIT_BEFORE_SHA..$CI_COMMIT_SHA"
96
97   - csbuild
98     --build-dir=obj-csbuild
99     --prep-cmd="cmake -DCMAKE_BUILD_TYPE=Debug -DPICKY_DEVELOPER=ON -DUNIT_TESTING=ON @SRCDIR@"
100     --build-cmd "make clean && make -j$(nproc)"
101     --git-commit-range $CI_COMMIT_RANGE
102     --color
103     --print-current --print-fixed
104   tags:
105   - shared
106   except:
107   - tags
108   artifacts:
109     expire_in: 1 week
110     when: on_failure
111     paths:
112       - obj-csbuild/
113
114 freebsd/x86_64:
115   image:
116   script:
117   - mkdir -p obj && cd obj && cmake
118     -DCMAKE_BUILD_TYPE=RelWithDebInfo
119     -DPICKY_DEVELOPER=ON
120     -DUNIT_TESTING=ON .. &&
121     make && ctest --output-on-failure
122   tags:
123   - freebsd
124   except:
125   - tags
126   only:
127   - branches@cwrap/uid_wrapper
128   - branches@cryptomilk/uid_wrapper
129   artifacts:
130     expire_in: 1 week
131     when: on_failure
132     paths:
133       - obj/
134
135 tumbleweed/x86_64/gcc:
136   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
137   script:
138   - mkdir -p obj && cd obj && cmake
139     -DCMAKE_BUILD_TYPE=RelWithDebInfo
140     -DPICKY_DEVELOPER=ON
141     -DUNIT_TESTING=ON .. &&
142     make -j$(nproc) && ctest --output-on-failure
143   tags:
144   - shared
145   except:
146   - tags
147   artifacts:
148     expire_in: 1 week
149     when: on_failure
150     paths:
151       - obj/
152
153 tumbleweed/x86_64/gcc7:
154   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
155   script:
156   - mkdir -p obj && cd obj && cmake
157     -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7
158     -DCMAKE_BUILD_TYPE=RelWithDebInfo
159     -DPICKY_DEVELOPER=ON
160     -DUNIT_TESTING=ON .. &&
161     make -j$(nproc) && ctest --output-on-failure
162   tags:
163   - shared
164   except:
165   - tags
166   artifacts:
167     expire_in: 1 week
168     when: on_failure
169     paths:
170       - obj/
171
172 tumbleweed/x86_64/clang:
173   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
174   script:
175   - mkdir -p obj && cd obj && cmake
176     -DCMAKE_BUILD_TYPE=RelWithDebInfo
177     -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
178     -DPICKY_DEVELOPER=ON
179     -DUNIT_TESTING=ON .. &&
180     make -j$(nproc) && ctest --output-on-failure
181   tags:
182   - shared
183   except:
184   - tags
185   artifacts:
186     expire_in: 1 week
187     when: on_failure
188     paths:
189       - obj/
190
191 tumbleweed/static-analysis:
192   image: $CI_REGISTRY/$BUILD_IMAGES_PROJECT:$TUMBLEWEED_BUILD
193   script:
194   - export CCC_CC=clang
195   - export CCC_CXX=clang++
196   - mkdir -p obj && cd obj && scan-build cmake
197     -DCMAKE_BUILD_TYPE=Debug
198     -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
199     -DPICKY_DEVELOPER=ON
200     -DUNIT_TESTING=ON .. &&
201     scan-build --status-bugs -o scan make -j$(nproc)
202   tags:
203   - shared
204   except:
205   - tags
206   artifacts:
207     expire_in: 1 week
208     when: on_failure
209     paths:
210       - obj/scan