@@ -3,14 +3,177 @@ name: Ubuntu
33on : [push, pull_request]
44
55jobs :
6- build :
6+ ci_test_clang_cxx20 :
77 runs-on : ubuntu-latest
8-
98 steps :
10- - uses : actions/checkout@v1
9+ - uses : actions/checkout@v2
10+ - name : install_clang
11+ run : |
12+ sudo apt update
13+ sudo apt install clang-10 ninja-build
14+ shell : bash
1115 - name : cmake
12- run : cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests =On
16+ run : cmake -S . -B build -DJSON_CI =On
1317 - name : build
14- run : cmake --build build --parallel 10
15- - name : test
16- run : cd build ; ctest -j 10 --output-on-failure
18+ run : cmake --build build --target ci_test_clang_cxx20
19+
20+ ci_clang_analyze :
21+ runs-on : ubuntu-latest
22+ steps :
23+ - uses : actions/checkout@v2
24+ - name : install_ninja
25+ run : |
26+ sudo apt update
27+ sudo apt install ninja-build
28+ shell : bash
29+ - name : install_clang
30+ run : |
31+ wget https://apt.llvm.org/llvm.sh
32+ chmod +x llvm.sh
33+ sudo ./llvm.sh 11
34+ sudo apt-get install clang-tools-11
35+ shell : bash
36+ - name : cmake
37+ run : cmake -S . -B build -DJSON_CI=On
38+ - name : build
39+ run : cmake --build build --target ci_clang_analyze
40+
41+ ci_test_clang :
42+ runs-on : ubuntu-latest
43+ steps :
44+ - uses : actions/checkout@v2
45+ - name : install_ninja
46+ run : |
47+ sudo apt update
48+ sudo apt install ninja-build
49+ shell : bash
50+ - name : install_clang
51+ run : |
52+ wget https://apt.llvm.org/llvm.sh
53+ chmod +x llvm.sh
54+ sudo ./llvm.sh 11
55+ sudo apt-get install clang-tools-11
56+ shell : bash
57+ - name : cmake
58+ run : cmake -S . -B build -DJSON_CI=On
59+ - name : build
60+ run : cmake --build build --target ci_test_clang
61+
62+ ci_test_gcc :
63+ runs-on : ubuntu-latest
64+ container : nlohmann/json-ci:latest
65+ steps :
66+ - uses : actions/checkout@v2
67+ - name : cmake
68+ run : cmake -S . -B build -DJSON_CI=On
69+ - name : build
70+ run : cmake --build build --target ci_test_gcc
71+
72+ ci_test_valgrind :
73+ runs-on : ubuntu-latest
74+ container : nlohmann/json-ci:latest
75+ steps :
76+ - uses : actions/checkout@v2
77+ - name : cmake
78+ run : cmake -S . -B build -DJSON_CI=On
79+ - name : build
80+ run : cmake --build build --target ci_test_valgrind
81+
82+ ci_cppcheck :
83+ runs-on : ubuntu-latest
84+ container : nlohmann/json-ci:latest
85+ steps :
86+ - uses : actions/checkout@v2
87+ - name : cmake
88+ run : cmake -S . -B build -DJSON_CI=On
89+ - name : build
90+ run : cmake --build build --target ci_cppcheck
91+
92+ ci_cpplint :
93+ runs-on : ubuntu-latest
94+ steps :
95+ - uses : actions/checkout@v2
96+ - name : cmake
97+ run : cmake -S . -B build -DJSON_CI=On
98+ - name : build
99+ run : cmake --build build --target ci_cpplint
100+
101+ ci_clang_tidy :
102+ runs-on : ubuntu-latest
103+ container : nlohmann/json-ci:latest
104+ steps :
105+ - uses : actions/checkout@v2
106+ - name : cmake
107+ run : cmake -S . -B build -DJSON_CI=On
108+ - name : build
109+ run : cmake --build build --target ci_clang_tidy
110+
111+ ci_test_amalgamation :
112+ runs-on : ubuntu-latest
113+ container : nlohmann/json-ci:latest
114+ steps :
115+ - uses : actions/checkout@v2
116+ - name : cmake
117+ run : cmake -S . -B build -DJSON_CI=On
118+ - name : build
119+ run : cmake --build build --target ci_test_amalgamation
120+
121+ ci_test_diagnostics :
122+ runs-on : ubuntu-latest
123+ container : nlohmann/json-ci:latest
124+ steps :
125+ - uses : actions/checkout@v2
126+ - name : cmake
127+ run : cmake -S . -B build -DJSON_CI=On
128+ - name : build
129+ run : cmake --build build --target ci_test_diagnostics
130+
131+ ci_test_noexceptions :
132+ runs-on : ubuntu-latest
133+ container : nlohmann/json-ci:latest
134+ steps :
135+ - uses : actions/checkout@v2
136+ - name : cmake
137+ run : cmake -S . -B build -DJSON_CI=On
138+ - name : build
139+ run : cmake --build build --target ci_test_noexceptions
140+
141+ ci_test_noimplicitconversions :
142+ runs-on : ubuntu-latest
143+ container : nlohmann/json-ci:latest
144+ steps :
145+ - uses : actions/checkout@v2
146+ - name : cmake
147+ run : cmake -S . -B build -DJSON_CI=On
148+ - name : build
149+ run : cmake --build build --target ci_test_noimplicitconversions
150+
151+ ci_test_clang_sanitizer :
152+ runs-on : ubuntu-latest
153+ container : nlohmann/json-ci:latest
154+ steps :
155+ - uses : actions/checkout@v2
156+ - name : cmake
157+ run : cmake -S . -B build -DJSON_CI=On
158+ - name : build
159+ run : cmake --build build --target ci_test_clang_sanitizer
160+
161+ ci_test_coverage :
162+ runs-on : ubuntu-latest
163+ container : nlohmann/json-ci:latest
164+ steps :
165+ - uses : actions/checkout@v2
166+ - name : cmake
167+ run : cmake -S . -B build -DJSON_CI=On
168+ - name : build
169+ run : cmake --build build --target ci_test_coverage
170+ - name : archive coverage report
171+ uses : actions/upload-artifact@v2
172+ with :
173+ name : code-coverage-report
174+ path : /__w/json/json/build/html
175+ - name : Coveralls
176+ uses : coverallsapp/github-action@master
177+ with :
178+ github-token : ${{ secrets.GITHUB_TOKEN }}
179+ path-to-lcov : /__w/json/json/build/json.info.filtered.noexcept
0 commit comments