-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
54 changed files
with
57 additions
and
1,147 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,10 +20,6 @@ jobs: | |
strategy: | ||
matrix: | ||
os: [ubuntu-20.04, ubuntu-22.04, macos-12] | ||
include: | ||
- use_qt6: On | ||
- os: ubuntu-20.04 | ||
use_qt6: Off | ||
fail-fast: false # Prefer quick result | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
@@ -41,13 +37,7 @@ jobs: | |
key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }} | ||
|
||
- name: Install missing software on ubuntu | ||
if: contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'Off' | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install libxml2-utils libtinyxml2-dev qtbase5-dev qttools5-dev libqt5charts5-dev qtchooser | ||
- name: Install missing software on ubuntu | ||
if: contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'On' | ||
if: contains(matrix.os, 'ubuntu') | ||
run: | | ||
sudo apt-get update | ||
# qt6-tools-dev-tools for lprodump | ||
|
@@ -64,13 +54,13 @@ jobs: | |
- name: CMake build on ubuntu (with GUI / system tinyxml2) | ||
if: contains(matrix.os, 'ubuntu') | ||
run: | | ||
cmake -S . -B cmake.output.tinyxml2 -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=${{ matrix.use_qt6 }} -DWITH_QCHART=On -DUSE_BUNDLED_TINYXML2=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | ||
cmake -S . -B cmake.output.tinyxml2 -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DUSE_BUNDLED_TINYXML2=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | ||
cmake --build cmake.output.tinyxml2 -- -j$(nproc) | ||
- name: CMake build on macos (with GUI / system tinyxml2) | ||
if: contains(matrix.os, 'macos') | ||
run: | | ||
cmake -S . -B cmake.output.tinyxml2 -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DUSE_BUNDLED_TINYXML2=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DQt6_DIR=$(brew --prefix qt@6)/lib/cmake/Qt6 | ||
cmake -S . -B cmake.output.tinyxml2 -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DUSE_BUNDLED_TINYXML2=Off -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DQt6_DIR=$(brew --prefix qt@6)/lib/cmake/Qt6 | ||
cmake --build cmake.output.tinyxml2 -- -j$(nproc) | ||
- name: Run CMake test (system tinyxml2) | ||
|
@@ -82,10 +72,6 @@ jobs: | |
strategy: | ||
matrix: | ||
os: [ubuntu-20.04, ubuntu-22.04, macos-12] | ||
include: | ||
- use_qt6: On | ||
- os: ubuntu-20.04 | ||
use_qt6: Off | ||
fail-fast: false # Prefer quick result | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
@@ -102,12 +88,6 @@ jobs: | |
with: | ||
key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }} | ||
|
||
- name: Install missing software on ubuntu | ||
if: contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'Off' | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install libxml2-utils qtbase5-dev qttools5-dev libqt5charts5-dev qtchooser | ||
# TODO: move latest compiler to separate step | ||
# TODO: bail out on warnings with latest GCC | ||
- name: Set up GCC | ||
|
@@ -123,7 +103,7 @@ jobs: | |
echo "CXX=g++-13" >> $GITHUB_ENV | ||
- name: Install missing software on ubuntu | ||
if: contains(matrix.os, 'ubuntu') && matrix.use_qt6 == 'On' | ||
if: contains(matrix.os, 'ubuntu') | ||
run: | | ||
sudo apt-get update | ||
# qt6-tools-dev-tools for lprodump | ||
|
@@ -140,13 +120,13 @@ jobs: | |
- name: CMake build on ubuntu (with GUI) | ||
if: contains(matrix.os, 'ubuntu') | ||
run: | | ||
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=${{ matrix.use_qt6 }} -DWITH_QCHART=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | ||
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache | ||
cmake --build cmake.output -- -j$(nproc) | ||
- name: CMake build on macos (with GUI) | ||
if: contains(matrix.os, 'macos') | ||
run: | | ||
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DQt6_DIR=$(brew --prefix qt@6)/lib/cmake/Qt6 | ||
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DWITH_QCHART=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DQt6_DIR=$(brew --prefix qt@6)/lib/cmake/Qt6 | ||
cmake --build cmake.output -- -j$(nproc) | ||
- name: Run CMake test | ||
|
@@ -244,94 +224,6 @@ jobs: | |
run: | | ||
ls lib/*.cpp | xargs -n 1 -P $(nproc) g++ -fsyntax-only -std=c++0x -Ilib -Iexternals -Iexternals/picojson -Iexternals/simplecpp -Iexternals/tinyxml2 -DNONNEG | ||
build_qmake: | ||
|
||
strategy: | ||
matrix: | ||
# no longer build with qmake on MacOS as brew might lack pre-built Qt5 packages causing the step to run for hours | ||
os: [ubuntu-20.04, ubuntu-22.04] | ||
fail-fast: false # Prefer quick result | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install missing software on ubuntu | ||
if: contains(matrix.os, 'ubuntu') | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install qtbase5-dev qttools5-dev libqt5charts5-dev qtchooser | ||
# coreutils contains "nproc" | ||
- name: Install missing software on macos | ||
if: contains(matrix.os, 'macos') | ||
run: | | ||
brew install coreutils qt@5 | ||
# expose qmake | ||
brew link qt@5 --force | ||
- name: ccache | ||
uses: hendrikmuhs/[email protected] | ||
with: | ||
key: ${{ github.workflow }}-${{ github.job }}-${{ matrix.os }} | ||
|
||
- name: Build GUI | ||
run: | | ||
export PATH="$(brew --prefix)/opt/ccache/libexec:/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | ||
pushd gui | ||
qmake CONFIG+=debug CONFIG+=ccache HAVE_QCHART=yes | ||
make -j$(nproc) | ||
# TODO: binaries are in a different location on macos | ||
- name: Build and Run GUI tests | ||
if: contains(matrix.os, 'ubuntu') | ||
run: | | ||
export PATH="$(brew --prefix)/opt/ccache/libexec:/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | ||
pushd gui/test/cppchecklibrarydata | ||
qmake CONFIG+=debug CONFIG+=ccache | ||
make -j$(nproc) | ||
./test-cppchecklibrarydata | ||
popd | ||
pushd gui/test/filelist | ||
qmake CONFIG+=debug CONFIG+=ccache | ||
make -j$(nproc) | ||
./test-filelist | ||
popd | ||
pushd gui/test/projectfile | ||
qmake CONFIG+=debug CONFIG+=ccache | ||
make -j$(nproc) | ||
./test-projectfile | ||
popd | ||
pushd gui/test/resultstree | ||
qmake CONFIG+=debug CONFIG+=ccache | ||
make -j$(nproc) | ||
export QT_QPA_PLATFORM=offscreen | ||
./test-resultstree | ||
popd | ||
pushd gui/test/translationhandler | ||
qmake CONFIG+=debug CONFIG+=ccache | ||
make -j$(nproc) | ||
# TODO: requires X session because of QApplication dependency in translationhandler.cpp | ||
#./test-translationhandler | ||
popd | ||
pushd gui/test/xmlreportv2 | ||
qmake CONFIG+=debug CONFIG+=ccache | ||
make -j$(nproc) | ||
./test-xmlreportv2 | ||
- name: Generate Qt help file | ||
run: | | ||
pushd gui/help | ||
qhelpgenerator online-help.qhcp -o online-help.qhc | ||
- name: Build triage | ||
run: | | ||
export PATH="$(brew --prefix)/opt/ccache/libexec:/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | ||
pushd tools/triage | ||
qmake CONFIG+=debug CONFIG+=ccache | ||
make -j$(nproc) | ||
build: | ||
|
||
strategy: | ||
|
@@ -552,9 +444,9 @@ jobs: | |
./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b1 --addon=naming.json --enable=internal lib || ec=1 | ||
# check gui with qt settings | ||
mkdir b2 | ||
./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b2 -DQT_VERSION=0x050000 -DQ_MOC_OUTPUT_REVISION=67 -DQT_CHARTS_LIB --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui || ec=1 | ||
./cppcheck $selfcheck_options $cppcheck_options --cppcheck-build-dir=b2 -DQT_VERSION=0x060000 -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB --library=qt --addon=naming.json -Icmake.output/gui -Igui gui/*.cpp cmake.output/gui || ec=1 | ||
# self check test and tools | ||
./cppcheck $selfcheck_options $cppcheck_options -Icli test/*.cpp tools/*.cpp || ec=1 | ||
# triage | ||
./cppcheck $selfcheck_options $cppcheck_options -DQ_MOC_OUTPUT_REVISION=67 -DQT_CHARTS_LIB --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage || ec=1 | ||
./cppcheck $selfcheck_options $cppcheck_options -DQ_MOC_OUTPUT_REVISION=68 -DQT_CHARTS_LIB --library=qt -Icmake.output/tools/triage -Igui tools/triage/*.cpp cmake.output/tools/triage || ec=1 | ||
exit $ec |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.