From c741ff3887e1868af86d806b4633b6d1bb95bdb7 Mon Sep 17 00:00:00 2001 From: Daniel Nicoletti Date: Sun, 5 Nov 2023 13:47:10 -0300 Subject: [PATCH] Fix CI and enable Python bindings for Qt6 --- .github/workflows/build.yml | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e8d29336..f78e6b61 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,6 +4,7 @@ name: CI +on: push: branches: - master @@ -28,30 +29,40 @@ jobs: - Debug - Release - qt: - - version: "5.15.2" - requested: "5.15" - - version: "6.3.2" # Qt 6.3 is not an LTS version, so '6.3.*' always resolves to '6.3.2' - requested: "6.3.*" + config: + - qt_version: "5.15" + - qt_version: "6.3.*" - commonCMakeArgs=["--warn-uninitialized", - "-Werror=dev", - "-DKDReports_TESTS=TRUE", - "-DKDReports_EXAMPLES=TRUE" - ] + include: + - os: ubuntu-22.04 + build_type: Debug + apt_pgks: + - llvm + pip_pgks: + - shiboken6-generator==6.6.0 pyside6==6.6.0 steps: - name: Install Qt with options and default aqtversion uses: jurplel/install-qt-action@v3 with: aqtversion: null # use whatever the default is - modules: ${{ matrix.qt.modules }} - version: ${{ matrix.qt.requested }} + modules: ${{ matrix.config.modules }} + version: ${{ matrix.config.qt_version }} cache: true - name: Checkout sources uses: actions/checkout@v4 + - name: Install dependencies on Ubuntu (${{ join(matrix.config.apt_pgks, ' ') }}) + if: ${{ runner.os == 'Linux' && matrix.config.apt_pgks }} + run: | + sudo apt update -qq + echo ${{ join(matrix.config.apt_pgks, ' ') }} | xargs sudo apt install -y + + - name: Install Python dependencies (${{ join(matrix.config.pip_pgks, ' ') }}) + if: ${{ matrix.config.pip_pgks }} + run: echo ${{ join(matrix.config.pip_pgks, ' ') }} | xargs pip install + - name: Install ninja-build tool (must be after Qt due PATH changes) uses: turtlesec-no/get-ninja@main @@ -64,7 +75,7 @@ jobs: -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} --warn-uninitialized -Werror=dev - -DKDReports_QT6=${{ startsWith(matrix.qt.version, '6.') }} + -DKDReports_QT6=${{ startsWith(matrix.config.qt_version, '6.') }} -DKDReports_TESTS=${{ matrix.build_type == 'Debug' }} -DKDReports_EXAMPLES=${{ matrix.build_type == 'Debug' }} -DKDReports_DOCS=${{ matrix.build_type == 'Debug' && runner.os == 'Linux' }}