From ca5b8c1e33f09761623231543564bf802ec599fb Mon Sep 17 00:00:00 2001 From: iakov Date: Mon, 26 Jun 2023 17:44:32 +0300 Subject: [PATCH 1/7] macOS 10.15 runner removed macOS 10.15 was removed from GHA long ago. https://github.blog/changelog/2022-07-20-github-actions-the-macos-10-15-actions-runner-image-is-being-deprecated-and-will-be-removed-by-8-30-22/ --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7d04fadbf..43c387d6c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -139,7 +139,7 @@ jobs: strategy: fail-fast: false matrix: - macos-version: ['10.15'] + macos-version: ['11'] python-version: ['2.7'] qt-version: ['5.9.*'] configuration: ['release','debug'] From 0753b1b630ea4d0f62949a13ac8248d4484e6a57 Mon Sep 17 00:00:00 2001 From: Iakov 'Jake' Kirilenko Date: Thu, 29 Jun 2023 19:41:59 +0300 Subject: [PATCH 2/7] No Python 2.7 on Win anymore --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 43c387d6c..15b00da08 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -241,7 +241,7 @@ jobs: # msvc-toolset: '14.16' - qt-arch: 'win32_mingw53' - python-version: '2.7' + python-version: '3.8' python-arch: 'x86' qt-version: '5.11.*' From b43828900343661a070ea148abde85a10699e28e Mon Sep 17 00:00:00 2001 From: Iakov 'Jake' Kirilenko Date: Thu, 29 Jun 2023 19:42:21 +0300 Subject: [PATCH 3/7] Add RockyLinux to GHA CI --- .github/workflows/build.yml | 55 ++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 15b00da08..577a837c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -132,7 +132,60 @@ jobs: - name: Upload Wrappers uses: actions/upload-artifact@v3 with: - name: wrappers_centos7 + name: wrappers_${{ matrix.container }}_${{ matrix.configuration }} + path: generated_cpp + + rockylinux: + strategy: + fail-fast: false + matrix: + container: + - 'rockylinux:9' + configuration: ['debug', 'release'] + runs-on: ubuntu-latest + container: ${{ matrix.container }} + steps: + - name: Install Qt + run: | + yum update -y + yum groupinstall "Development Tools" -y + yum install -y \ + which \ + python3-devel \ + qt5-qtbase-* \ + qt5-qttools* \ + qt5-qtsvg \ + qt5-qtxmlpatterns \ + qt5-qtmultimedia \ + qt5-qt3d \ + qt5-*-devel + + - name: Checkout PythonQt + uses: actions/checkout@v3 + + - name: Build PythonQt + run: | + export QT_SELECT=qt5 + echo ======= SYSTEM INFO ======== + uname -a; gcc --version | grep "gcc"; python3 --version; qmake-qt5 --version + echo ============================ + qmake-qt5 -r PythonQt.pro CONFIG+=${{ matrix.configuration }} \ + PYTHON_VERSION=$(python3 --version | cut -d " " -f 2 | cut -d "." -f1,2) \ + PYTHON_DIR=$(which python3 | xargs dirname | xargs dirname) + make -j 2 && make check TESTARGS="-platform offscreen" + + - name: Generate Wrappers + run: | + # workaround to allow to find the Qt include dirs for installed standard qt packages + mkdir /usr/include/qt5ln; ln -s /usr/include/qt5 /usr/include/qt5ln/include + export QTDIR=/usr/include/qt5ln + cd generator + ./pythonqt_generator + + - name: Upload Wrappers + uses: actions/upload-artifact@v3 + with: + name: wrappers_${{ matrix.container }}_${{ matrix.configuration }} path: generated_cpp macOS: From 92d7be30464ec7aa1bd0e55e63ba793b708386fd Mon Sep 17 00:00:00 2001 From: Iakov 'Jake' Kirilenko Date: Thu, 29 Jun 2023 19:49:11 +0300 Subject: [PATCH 4/7] Remove Python 2.7 on macOS --- .github/workflows/build.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 577a837c9..2f4c5009c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -193,14 +193,10 @@ jobs: fail-fast: false matrix: macos-version: ['11'] - python-version: ['2.7'] + python-version: ['3.6'] qt-version: ['5.9.*'] configuration: ['release','debug'] include: - - macos-version: '11' - python-version: '3.6' - qt-version: '5.11.*' - configuration: 'release' - macos-version: '12' python-version: '3.11' qt-version: '5.12.*' From 062eca1ce5b54c7ecd23999ba46dda030efb63df Mon Sep 17 00:00:00 2001 From: Iakov 'Jake' Kirilenko Date: Thu, 29 Jun 2023 19:55:09 +0300 Subject: [PATCH 5/7] Fix artifact names --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2f4c5009c..58cab4e6c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -132,7 +132,7 @@ jobs: - name: Upload Wrappers uses: actions/upload-artifact@v3 with: - name: wrappers_${{ matrix.container }}_${{ matrix.configuration }} + name: wrappers_centos7_${{ matrix.configuration }} path: generated_cpp rockylinux: @@ -185,7 +185,7 @@ jobs: - name: Upload Wrappers uses: actions/upload-artifact@v3 with: - name: wrappers_${{ matrix.container }}_${{ matrix.configuration }} + name: wrappers_rockylinux9_${{ matrix.configuration }} path: generated_cpp macOS: From e56c2d30ca1b2a3873417b103eb426b7e1e04d06 Mon Sep 17 00:00:00 2001 From: Iakov 'Jake' Kirilenko Date: Thu, 29 Jun 2023 20:33:04 +0300 Subject: [PATCH 6/7] GHA: use older 3.6 on Windows with mingw53 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 58cab4e6c..cea21b0f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -290,7 +290,7 @@ jobs: # msvc-toolset: '14.16' - qt-arch: 'win32_mingw53' - python-version: '3.8' + python-version: '3.6' python-arch: 'x86' qt-version: '5.11.*' From 607b32b5692ed30f42417f688d29a9d2375e919f Mon Sep 17 00:00:00 2001 From: Iakov 'Jake' Kirilenko Date: Thu, 29 Jun 2023 20:33:19 +0300 Subject: [PATCH 7/7] GHA: unified jobs for Centos7 and RockyLinux9 --- .github/workflows/build.yml | 78 ++++++++----------------------------- 1 file changed, 16 insertions(+), 62 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cea21b0f8..31ce026d0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -82,68 +82,21 @@ jobs: name: wrappers_ubuntu_22_04 path: generated_cpp - centos: + oldschool: strategy: fail-fast: false matrix: - container: - - 'centos:7' + container_os: ['centos'] + container_os_version: ['7'] + container_os_python_package: ['python-debug'] configuration: ['debug', 'release'] + include: + - container_os: 'rockylinux' + container_os_version: '9' + container_os_python_package: 'python3-devel' + configuration: 'release' runs-on: ubuntu-latest - container: ${{ matrix.container }} - steps: - - name: Install Qt - run: | - yum update -y - yum groupinstall "Development Tools" -y - yum install -y \ - which \ - python-debug \ - qt5-qtbase-* \ - qt5-qttools* \ - qt5-qtsvg \ - qt5-qtxmlpatterns \ - qt5-qtmultimedia \ - qt5-qt3d \ - qt5-*-devel - - - name: Checkout PythonQt - uses: actions/checkout@v3 - - - name: Build PythonQt - run: | - export QT_SELECT=qt5 - echo ======= SYSTEM INFO ======== - uname -a; gcc --version | grep "gcc"; python --version; qmake-qt5 --version - echo ============================ - qmake-qt5 -r PythonQt.pro CONFIG+=${{ matrix.configuration }} \ - PYTHON_VERSION=$(python --version | cut -d " " -f 2 | cut -d "." -f1,2) \ - PYTHON_DIR=$(which python | xargs dirname | xargs dirname) - make -j 2 && make check TESTARGS="-platform offscreen" - - - name: Generate Wrappers - run: | - # workaround to allow to find the Qt include dirs for installed standard qt packages - mkdir /usr/include/qt5ln; ln -s /usr/include/qt5 /usr/include/qt5ln/include - export QTDIR=/usr/include/qt5ln - cd generator - ./pythonqt_generator - - - name: Upload Wrappers - uses: actions/upload-artifact@v3 - with: - name: wrappers_centos7_${{ matrix.configuration }} - path: generated_cpp - - rockylinux: - strategy: - fail-fast: false - matrix: - container: - - 'rockylinux:9' - configuration: ['debug', 'release'] - runs-on: ubuntu-latest - container: ${{ matrix.container }} + container: '${{ matrix.container_os }}:${{ matrix.container_os_version }}' steps: - name: Install Qt run: | @@ -151,7 +104,7 @@ jobs: yum groupinstall "Development Tools" -y yum install -y \ which \ - python3-devel \ + ${{ matrix.container_os_python_package }} \ qt5-qtbase-* \ qt5-qttools* \ qt5-qtsvg \ @@ -167,11 +120,12 @@ jobs: run: | export QT_SELECT=qt5 echo ======= SYSTEM INFO ======== - uname -a; gcc --version | grep "gcc"; python3 --version; qmake-qt5 --version + which python 2>/dev/null && export PYTHON_VERSION_SUFFIX= || export PYTHON_VERSION_SUFFIX=3 + uname -a; gcc --version | grep "gcc"; python${PYTHON_VERSION_SUFFIX} --version; qmake-qt5 --version echo ============================ qmake-qt5 -r PythonQt.pro CONFIG+=${{ matrix.configuration }} \ - PYTHON_VERSION=$(python3 --version | cut -d " " -f 2 | cut -d "." -f1,2) \ - PYTHON_DIR=$(which python3 | xargs dirname | xargs dirname) + PYTHON_VERSION=$(python${PYTHON_VERSION_SUFFIX} --version | cut -d " " -f 2 | cut -d "." -f1,2) \ + PYTHON_DIR=$(which python${PYTHON_VERSION_SUFFIX} | xargs dirname | xargs dirname) make -j 2 && make check TESTARGS="-platform offscreen" - name: Generate Wrappers @@ -185,7 +139,7 @@ jobs: - name: Upload Wrappers uses: actions/upload-artifact@v3 with: - name: wrappers_rockylinux9_${{ matrix.configuration }} + name: wrappers_${{ matrix.container_os }}-${{ matrix.container_os_version }}_${{ matrix.configuration }} path: generated_cpp macOS: