Skip to content

Commit bf75a1b

Browse files
committed
Merge branch 'develop' into #2375
# Conflicts: # .travis.yml
2 parents 903b8a6 + 6f55193 commit bf75a1b

178 files changed

Lines changed: 4672 additions & 13118 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.circleci/config.yml

Lines changed: 0 additions & 56 deletions
This file was deleted.

.clang-tidy

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,44 @@
11
Checks: '*,
2+
-android-cloexec-fopen,
23
-cppcoreguidelines-avoid-goto,
34
-cppcoreguidelines-avoid-magic-numbers,
5+
-cppcoreguidelines-avoid-non-const-global-variables,
46
-cppcoreguidelines-macro-usage,
7+
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
8+
-cppcoreguidelines-pro-bounds-constant-array-index,
9+
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
10+
-cppcoreguidelines-pro-type-reinterpret-cast,
11+
-cppcoreguidelines-pro-type-union-access,
512
-fuchsia-default-arguments-calls,
613
-fuchsia-default-arguments-declarations,
714
-fuchsia-overloaded-operator,
815
-google-explicit-constructor,
16+
-google-readability-function-size,
17+
-google-runtime-int,
918
-google-runtime-references,
1019
-hicpp-avoid-goto,
1120
-hicpp-explicit-conversions,
21+
-hicpp-function-size,
1222
-hicpp-no-array-decay,
23+
-hicpp-no-assembler,
24+
-hicpp-signed-bitwise,
1325
-hicpp-uppercase-literal-suffix,
1426
-llvm-header-guard,
1527
-llvm-include-order,
28+
-llvmlibc-*,
29+
-misc-no-recursion,
1630
-misc-non-private-member-variables-in-classes,
1731
-modernize-use-trailing-return-type,
32+
-readability-function-size,
1833
-readability-magic-numbers,
34+
-readability-redundant-access-specifiers,
1935
-readability-uppercase-literal-suffix'
2036

2137
CheckOptions:
2238
- key: hicpp-special-member-functions.AllowSoleDefaultDtor
2339
value: 1
40+
41+
WarningsAsErrors: '*'
42+
43+
#HeaderFilterRegex: '.*nlohmann.*'
44+
HeaderFilterRegex: '.*hpp$'

.github/workflows/macos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: macos-latest
99

1010
steps:
11-
- uses: actions/checkout@v1
11+
- uses: actions/checkout@v2
1212
- name: cmake
1313
run: cmake -S . -B build -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On
1414
- name: build

.github/workflows/ubuntu.yml

Lines changed: 170 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,177 @@ name: Ubuntu
33
on: [push, pull_request]
44

55
jobs:
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

.github/workflows/windows.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
runs-on: windows-latest
88

99
steps:
10-
- uses: actions/checkout@v1
10+
- uses: actions/checkout@v2
1111
- name: cmake
1212
run: cmake -S . -B build -G "Visual Studio 16 2019" -D CMAKE_BUILD_TYPE=Debug -DJSON_BuildTests=On
1313
- name: build
@@ -19,7 +19,7 @@ jobs:
1919
runs-on: windows-latest
2020

2121
steps:
22-
- uses: actions/checkout@v1
22+
- uses: actions/checkout@v2
2323
- name: install Clang
2424
run: curl -fsSL -o LLVM10.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/LLVM-10.0.0-win64.exe ; 7z x LLVM10.exe -y -o"C:/Program Files/LLVM"
2525
- name: cmake
@@ -33,7 +33,7 @@ jobs:
3333
runs-on: windows-latest
3434

3535
steps:
36-
- uses: actions/checkout@v1
36+
- uses: actions/checkout@v2
3737
- name: cmake
3838
run: cmake -S . -B build -G "Visual Studio 16 2019" -A x64 -T ClangCL -DJSON_BuildTests=On
3939
- name: build
@@ -45,7 +45,7 @@ jobs:
4545
runs-on: windows-latest
4646

4747
steps:
48-
- uses: actions/checkout@v1
48+
- uses: actions/checkout@v2
4949
- name: cmake
5050
run: cmake -S . -B build -G "Visual Studio 16 2019" -A Win32 -T ClangCL -DJSON_BuildTests=On
5151
- name: build

0 commit comments

Comments
 (0)