Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 10 additions & 30 deletions .github/workflows/CI-unixish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-13]
include:
- use_qt6: On
- os: ubuntu-20.04
use_qt6: Off
os: [ubuntu-22.04, macos-13]
fail-fast: false # Prefer quick result

runs-on: ${{ matrix.os }}
Expand All @@ -44,13 +40,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
sudo apt-get install libxml2-utils libtinyxml2-dev
Expand All @@ -68,7 +58,7 @@ 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 -DBUILD_TRIAGE=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 -DUSE_QT6=On -DWITH_QCHART=On -DBUILD_TRIAGE=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)
Expand All @@ -85,11 +75,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-13]
include:
- use_qt6: On
- os: ubuntu-20.04
use_qt6: Off
os: [ubuntu-22.04, macos-13]
fail-fast: false # Prefer quick result

runs-on: ${{ matrix.os }}
Expand All @@ -108,12 +94,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
Expand All @@ -129,7 +109,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
sudo apt-get install libxml2-utils
Expand All @@ -147,7 +127,7 @@ jobs:
- name: Run CMake 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 -DBUILD_TRIAGE=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_INSTALL_PREFIX=cppcheck-cmake-install
cmake -S . -B cmake.output -G "Unix Makefiles" -DHAVE_RULES=On -DBUILD_TESTS=On -DBUILD_GUI=On -DUSE_QT6=On -DWITH_QCHART=On -DBUILD_TRIAGE=On -DCMAKE_DISABLE_PRECOMPILE_HEADERS=On -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_INSTALL_PREFIX=cppcheck-cmake-install

- name: Run CMake on macos (with GUI)
if: contains(matrix.os, 'macos')
Expand Down Expand Up @@ -175,7 +155,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-13]
os: [ubuntu-22.04, macos-13]
fail-fast: false # Prefer quick result

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -209,7 +189,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-13]
os: [ubuntu-22.04, macos-13]
fail-fast: false # Prefer quick result

runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -243,7 +223,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-13]
os: [ubuntu-22.04, macos-13]
fail-fast: false # Prefer quick result

runs-on: ${{ matrix.os }}
Expand All @@ -267,7 +247,7 @@ jobs:

strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, macos-13]
os: [ubuntu-22.04, macos-13]
include:
- xdist_n: auto
# FIXME: test_color_tty fails with xdist
Expand Down
12 changes: 4 additions & 8 deletions .github/workflows/scriptcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ permissions:
jobs:
build:

# 'ubuntu-22.04' removes Python 3.6 so keep the previous LTS version
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v4
Expand All @@ -46,11 +45,10 @@ jobs:
scriptcheck:

needs: build
# 'ubuntu-22.04' removes Python 3.6 so keep the previous LTS version
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
python-version: [3.7, 3.8, 3.9, '3.10', '3.11', '3.12', '3.13']
include:
- python-version: '3.13'
python-latest: true
Expand Down Expand Up @@ -107,7 +105,7 @@ jobs:
if: matrix.python-latest
run: |
shopt -s globstar
pylint --jobs $(nproc) --py-version 3.6 addons/**/*.py htmlreport/cppcheck-htmlreport htmlreport/**/*.py test/**/*.py tools/**/*.py
pylint --jobs $(nproc) --py-version 3.7 addons/**/*.py htmlreport/cppcheck-htmlreport htmlreport/**/*.py test/**/*.py tools/**/*.py

- name: check .json files
if: matrix.python-latest
Expand Down Expand Up @@ -158,9 +156,7 @@ jobs:
test/tools/htmlreport/test_htmlreport.py
test/tools/htmlreport/check.sh

# Python 3.6 is excluded as it is not supported by setuptools-scm package for getting package version
- name: test htmlreport (pip)
if: matrix.python-version != '3.6'
run: |
python -m venv venv
source venv/bin/activate
Expand Down
4 changes: 2 additions & 2 deletions cmake/findDependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ if(NOT Python_Interpreter_FOUND)
set(USE_MATCHCOMPILER_OPT "Off")
endif()
else()
if(${Python_VERSION} VERSION_LESS 3.6)
message(FATAL_ERROR "The minimum supported Python version is 3.6 - found ${Python_VERSION}")
if(${Python_VERSION} VERSION_LESS 3.7)
message(FATAL_ERROR "The minimum supported Python version is 3.7 - found ${Python_VERSION}")
endif()
endif()

Expand Down
1 change: 1 addition & 0 deletions releasenotes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,5 @@ Other:
- added CMake target `run-clang-tidy-csa` to run Clang Static Analyzer
- added CMake option `ENABLE_CSA_ALPHA` to enable the Clang Static Analyzer alpha checkers
- Updated TinyXML-2 to v11.0.0
- The minimum supported Python version has been bumped to 3.7.
-
4 changes: 2 additions & 2 deletions tools/donate-cpu.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,10 @@
print('Unhandled argument: ' + arg)
sys.exit(1)

if sys.version_info.major < 3 or (sys.version_info.major == 3 and sys.version_info.minor < 6):
if sys.version_info.major < 3 or (sys.version_info.major == 3 and sys.version_info.minor < 7):
print("#" * 80)
print("IMPORTANT")
print("Please run the client with at least Python 3.6, thanks!")
print("Please run the client with at least Python 3.7, thanks!")
print("#" * 80)
time.sleep(2)
sys.exit(1)
Expand Down
Loading