-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
97 lines (86 loc) · 3.08 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
image: carvicsforth/arch_carv:latest
.debug_build_commands: &debug_build_commands
before_script:
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
# disable host key checking (NOTE: makes you susceptible to man-in-the-middle attacks)
# WARNING: use only in docker container, if you use it with shell you will overwrite your user's ssh config
- mkdir -p ~/.ssh
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
variables:
FF_GITLAB_REGISTRY_HELPER_IMAGE: 1
GIT_STRATEGY: clone
GIT_DEPTH: 0
stages:
- build
- deploy
build_rdma_gcc:
stage: build
<<: *debug_build_commands
script:
- mkdir -p build;cd build
- cmake .. -DCMAKE_BUILD_TYPE=Debug -DTEBIS_FORMAT=ON
- make all
build_rdma_clang:
stage: build
<<: *debug_build_commands
script:
- mkdir -p build;cd build
- cmake .. -DCMAKE_BUILD_TYPE=Debug -DTEBIS_FORMAT=ON
- make all
iwyu-report:
stage: build
<<: *debug_build_commands
script:
- mkdir -p build;cd build
- cmake .. -DCMAKE_BUILD_TYPE=Debug -DRUN_IWYU=ON -DDISABLE_ALL_WARNINGS=ON
- make all > make_output.txt 2&> iwyu_output.txt || echo ignoring exit code since if this job fails others will fail too > /dev/null
- ./check-iwyu-output.py
needs: []
CPD:
stage: build
<<: *debug_build_commands
script:
- echo -e "\e[0Ksection_start:`date +%s`:CPD_tebis_server_section\r\e[0K CPD lib"
- python3 ./scripts/CI/cpd_output.py 100 ./kreon_server c
- echo -e "\e[0Ksection_end:`date +%s`:CPD_tebis_server_section\r\e[0K"
- echo -e "\e[0Ksection_start:`date +%s`:CPD_tebis_client_section[collapsed=true]\r\e[0K CPD tests"
- python3 ./scripts/CI/cpd_output.py 100 ./kreon_rdma_client c
- echo -e "\e[0Ksection_end:`date +%s`:CPD_tebis_client_section\r\e[0K"
needs: []
cppcheck:
stage: build
<<: *debug_build_commands
script:
- cppcheck --language=c . --enable=all --force --inconclusive --max-ctu-depth=1024 -iYCSB-CXX -ibuild -imicrobenchmarks -iutilities -itests -ikreon_lib --inline-suppr --suppress=missingInclude
- cppcheck --language=c . --enable=all --force --inconclusive --max-ctu-depth=1024 -iYCSB-CXX -ibuild -imicrobenchmarks -iutilities -itests -ikreon_lib --inline-suppr --suppress=missingInclude &> log.txt
- python scripts/CI/check-cppcheck-output.py
check-curr-branch-docs:
stage: build
<<: *debug_build_commands
script:
- bash ./scripts/CI/generate-doc-metrics.sh
install_kreon:
stage: deploy
variables:
KREON_INSTALL_PATH: "installtest"
<<: *debug_build_commands
script:
- mkdir -p build;cd build
- cmake .. -DKREON_BUILD_CPACK=True -DCMAKE_BUILD_TYPE=Debug -DCMAKE_BUILD_TYPE=Debug
- make install DESTDIR=$KREON_INSTALL_PATH;mv $KREON_INSTALL_PATH ../scripts/;cd ../scripts
- ./verify-installed-files.py $KREON_INSTALL_PATH
pre-commit:
stage: build
<<: *debug_build_commands
script:
- ./scripts/pre-commit-CI.sh
pre-merge:
image: carvicsforth/arch_carv:latest
stage: build
<<: *debug_build_commands
script:
- ./scripts/pre-merge-CI.sh
- ./scripts/commit-msg-lint.py
only:
- merge_requests