-
Notifications
You must be signed in to change notification settings - Fork 102
/
.gitlab-ci.yml
73 lines (70 loc) · 2.6 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
image: registry.gitlab.com/mldbai/mldb/mldb_build_env_ubuntu:20.04
stages:
- build
build:
stage: build
interruptible: true
before_script:
- apt update && apt -y install wget
- wget -qO - https://gitlab.com/mldbai/mldb_build/-/raw/main/sccache-x86_64-linux.gz | gzip -d > sccache
- chmod +x ./sccache
script:
- git submodule init
- git submodule update --jobs=8 --depth=1 --progress
- declare -x SCCACHE_BUCKET=mldb-sccache-a3f9b3
- declare -x AWS_ACCESS_KEY_ID="$SCCACHE_AWS_AKID"
- declare -x AWS_SECRET_ACCESS_KEY="$SCCACHE_AWS_SECRET"
- declare -x SCCACHE_S3_USE_SSL=true
- declare -x SCCACHE_REGION=us-east-2
- declare -x POSTCFLAGS='-O2 -g0' POSTCXXFLAGS='-O2 -g0'
- declare -x PRECXX=./sccache
- make -j4 -k dependencies
- ./sccache --show-stats
- make -j32 -k compile || make -j32 -k compile || make -j32 -k compile
- ./sccache --show-stats
- declare -x LANG=en_US.utf8 LC_ALL=en_US.utf8 USER=root
- mkdir tmp
- (make -j8 -k test || (echo "TEST SUITE RESTART" && make -j8 -k test)) | python3 jml-build/to_junit.py > junit.xml
artifacts:
when: always
paths:
- junit.xml
- build/x86_64/bin
- build/x86_64/lib
- build/x86_64/mldb_plugins
reports:
junit: junit.xml
sanitize:
stage: build
interruptible: true
before_script:
- apt update && apt -y install wget clang-12
- wget -qO - https://gitlab.com/mldbai/mldb_build/-/raw/main/sccache-x86_64-linux.gz | gzip -d > sccache
- chmod +x ./sccache
script:
- git submodule init
- git submodule update --jobs=8 --depth=1 --progress
- declare -x SCCACHE_BUCKET=mldb-sccache-a3f9b3
- declare -x AWS_ACCESS_KEY_ID="$SCCACHE_AWS_AKID"
- declare -x AWS_SECRET_ACCESS_KEY="$SCCACHE_AWS_SECRET"
- declare -x SCCACHE_S3_USE_SSL=true
- declare -x SCCACHE_REGION=us-east-2
- declare -x POSTCFLAGS='-O2 -g' POSTCXXFLAGS='-O2 -g'
- declare -x PRECXX=./sccache
- declare -x toolchain=clang
- declare -x sanitizers=address,undefined
- declare -x ASAN_OPTIONS=detect_leaks=0:use_sigaltstack=false
- declare -x UBSAN_OPTIONS=use_sigaltstack=false:print_stacktrace=1
- make -j4 -k dependencies
- ./sccache --show-stats
- make -j32 -k compile || make -j32 -k compile
- ./sccache --show-stats
- declare -x LANG=en_US.utf8 LC_ALL=en_US.utf8 USER=root
- mkdir tmp
- (make -j8 -k test || (echo "TEST SUITE RESTART" && make -j8 -k test)) | python3 jml-build/to_junit.py > junit-asan.xml
artifacts:
when: always
paths:
- junit-asan.xml
reports:
junit: junit-asan.xml