99
1010 strategy :
1111 matrix :
12- os : [ubuntu-18.04, ubuntu- 20.04, macos-10.15 ]
12+ os : [ubuntu-20.04]
1313 fail-fast : false # Prefer quick result
1414
1515 runs-on : ${{ matrix.os }}
@@ -68,112 +68,13 @@ jobs:
6868 with :
6969 modules : ' qtcharts'
7070
71- - name : Uncrustify check
72- run : |
73- ~/uncrustify/uncrustify -c .uncrustify.cfg -l CPP --check */*.cpp */*.h
74-
75- - name : Test CMake build
76- run : |
77- mkdir cmake.output
78- cd cmake.output
79- cmake -G "Unix Makefiles" -DUSE_Z3=On -DHAVE_RULES=On -DBUILD_TESTS=On ..
80- make -j$(nproc) check
81- cd ..
82-
83- - name : Build and test with Unsigned char
84- run : |
85- make clean
86- make -j$(nproc) CXXFLAGS=-funsigned-char testrunner
87- ./testrunner TestSymbolDatabase
88-
89- - name : Check syntax with NONNEG
90- run : |
91- ls lib/*.cpp | xargs -n 1 -P $(nproc) g++ -fsyntax-only -std=c++0x -Ilib -Iexternals -Iexternals/picojson -Iexternals/simplecpp -Iexternals/tinyxml2 -DNONNEG
92-
93- - name : Build cppcheck
94- run : |
95- make clean
96- make -j$(nproc) USE_Z3=yes HAVE_RULES=yes
97-
98- - name : Build test
99- run : |
100- make -j$(nproc) testrunner USE_Z3=yes HAVE_RULES=yes
101-
102- - name : Run test
103- run : |
104- make -j$(nproc) check USE_Z3=yes HAVE_RULES=yes
105-
106- # the script uses sed parameters not supported by MacOS
107- - name : Run extra tests
108- if : contains(matrix.os, 'ubuntu')
109- run : |
110- tools/generate_and_run_more_tests.sh
111-
112- - name : Run test/cli
113- run : |
114- cd test/cli
115- pytest test-*.py
116- cd ../../..
117- ln -s cppcheck 'cpp check'
118- cd 'cpp check/test/cli'
119- pytest test-*.py
120-
121- # fails on macos since some includes (e.g. sys/epoll.h) are not available
122- - name : Run cfg tests
123- if : contains(matrix.os, 'ubuntu')
124- run : |
125- make -j$(nproc) checkcfg
126-
127- # it seems macos has no "wc" command
128- - name : Run showtimetop5 tests
129- if : contains(matrix.os, 'ubuntu')
130- run : |
131- ./tools/test_showtimetop5.sh
132-
133- - name : Run --dump test
134- run : |
135- ./cppcheck test/testpreprocessor.cpp --dump
136- xmllint --noout test/testpreprocessor.cpp.dump
137-
138- - name : Validate
139- run : |
140- make -j$(nproc) checkCWEEntries validateXML
141-
142- - name : Test addons
143- run : |
144- ./cppcheck --addon=threadsafety addons/test/threadsafety
145- ./cppcheck --addon=threadsafety --std=c++03 addons/test/threadsafety
146- ./cppcheck --addon=misra --inline-suppr --enable=information --error-exitcode=1 addons/test/misra/misra-ctu-*-test.c
147- cd addons/test
148- ../../cppcheck --dump -DDUMMY --suppress=uninitvar --inline-suppr misra/misra-test.c --std=c89 --platform=unix64 && python3 ../misra.py -verify misra/misra-test.c.dump
149- ../../cppcheck --addon=misra --platform=avr8 --error-exitcode=1 misra/misra-test-avr8.c
150-
15171 - name : Build GUI on ubuntu
15272 if : contains(matrix.os, 'ubuntu')
15373 run : |
15474 pushd gui
15575 qmake HAVE_QCHART=yes
15676 make -j$(nproc)
15777
158- - name : Run GUI tests on ubuntu
159- if : contains(matrix.os, 'ubuntu')
160- run : |
161- pushd gui/test/projectfile
162- qmake
163- make -j$(nproc)
164- ./test-projectfile
165- popd
166- pushd gui/test/cppchecklibrarydata
167- qmake
168- make -j$(nproc)
169- ./test-cppchecklibrarydata
170-
171- - name : Generate Qt help file on ubuntu
172- if : contains(matrix.os, 'ubuntu')
173- run : |
174- pushd gui/help
175- qhelpgenerator online-help.qhcp -o online-help.qhc
176-
17778 # Run self check after "Build GUI" to include generated headers in analysis
17879 - name : Self check
17980 if : matrix.os == 'ubuntu-20.04'
@@ -189,17 +90,3 @@ jobs:
18990 ./cppcheck -q -j$(nproc) --std=c++11 --template=selfcheck --cppcheck-build-dir=b2 -D__CPPCHECK__ -DQT_VERSION=0x050000 --error-exitcode=1 --inline-suppr --suppressions-list=.travis_suppressions --library=qt --addon=naming.json -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2/ --enable=style,performance,portability,warning,internal,information --exception-handling --debug-warnings gui/*.cpp
19091 # self check test and tools
19192 ./cppcheck -q -j$(nproc) --std=c++11 --template=selfcheck -D__CPPCHECK__ --error-exitcode=1 --inline-suppr --suppressions-list=.travis_suppressions --library=cppcheck-lib -Ilib -Iexternals/simplecpp/ -Iexternals/tinyxml2/ -Icli -Igui --inconclusive --enable=style,performance,portability,warning,internal,information --exception-handling --debug-warnings test/*.cpp tools
192-
193- - name : Build triage on ubuntu
194- if : matrix.os == 'ubuntu-20.04'
195- run : |
196- pushd tools/triage
197- qmake
198- make -j$(nproc)
199-
200- - name : Build Fuzzer
201- if : matrix.os == 'ubuntu-20.04'
202- run : |
203- pushd oss-fuzz
204- make -j$(nproc) CXX=clang++ CXXFLAGS="-fsanitize=address" fuzz-client translate
205-
0 commit comments