From da85f3f6447b2fe62a39e9c64df4c92578bb88b4 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Tue, 19 Apr 2022 16:07:37 +0200 Subject: [PATCH] CI system: Add builds for Qt LTS (6.2) and the current Qt version (6.3) (#184) * CI system: Add Windows version to output * CI system: Also build for Qt LTS version (currently 6.2) * CI system: Also build for current Qt version (currently 6.3) Resolves #180 --- .github/workflows/qmake.yml | 276 +++++++++++++++++++++++++++++++++--- 1 file changed, 256 insertions(+), 20 deletions(-) diff --git a/.github/workflows/qmake.yml b/.github/workflows/qmake.yml index a53d68af..cc35815a 100644 --- a/.github/workflows/qmake.yml +++ b/.github/workflows/qmake.yml @@ -7,17 +7,17 @@ on: branches: [ master ] jobs: - build-linux: - name: Linux build + build-linux-qt5-15: + name: Linux Qt 5.15 build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Cache Qt - id: cache-qt + id: cache-qt-5-15 uses: actions/cache@v1 # not v2! with: - path: ../Qt - key: ${{ runner.os }}-QtCache + path: ../Qt/5.15.2 + key: ${{ runner.os }}-QtCache-Qt5 - name: Install Qt uses: jurplel/install-qt-action@v2 @@ -27,7 +27,7 @@ jobs: target: 'desktop' install-deps: 'true' modules: 'qtwebengine' - cached: ${{ steps.cache-qt.outputs.cache-hit }} + cached: ${{ steps.cache-qt-5-15.outputs.cache-hit }} setup-python: 'true' tools: '' set-env: 'true' @@ -43,17 +43,93 @@ jobs: - name: make run: make -j$(nproc) - build-windows: - name: Windows build + build-linux-qt-lts: + name: Linux Qt 6.2 (LTS) build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Cache Qt + id: cache-qt-6-2 + uses: actions/cache@v1 # not v2! + with: + path: ../Qt/6.2.4 + key: ${{ runner.os }}-QtCache-Qt6-2 + + - name: Install Qt + uses: jurplel/install-qt-action@v2 + with: + version: '6.2.4' + host: 'linux' + target: 'desktop' + install-deps: 'true' + modules: 'qtwebengine' + cached: ${{ steps.cache-qt-6-2.outputs.cache-hit }} + setup-python: 'true' + tools: '' + set-env: 'true' + tools-only: 'false' + + - name: Install needed xkbcommon symlink + run: sudo apt-get install libxkbcommon-dev -y + - name: Ubuntu and Qt version + run: | + cat /etc/issue + echo number of processors: $(nproc) + qmake -v + - name: qmake + run: qmake qskinny.pro + - name: make + run: make -j$(nproc) + + build-linux-qt-current: + name: Linux Qt 6.3 (current) build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Cache Qt + id: cache-qt-6-3 + uses: actions/cache@v1 # not v2! + with: + path: ../Qt/6.3.0 + key: ${{ runner.os }}-QtCache-Qt6-3 + + - name: Install Qt + uses: jurplel/install-qt-action@v2 + with: + version: '6.3.0' + host: 'linux' + target: 'desktop' + install-deps: 'true' + modules: 'qtwebengine' + cached: ${{ steps.cache-qt-6-3.outputs.cache-hit }} + setup-python: 'true' + tools: '' + set-env: 'true' + tools-only: 'false' + + - name: Install needed xkbcommon symlink + run: sudo apt-get install libxkbcommon-dev -y + - name: Ubuntu and Qt version + run: | + cat /etc/issue + echo number of processors: $(nproc) + qmake -v + - name: qmake + run: qmake qskinny.pro + - name: make + run: make -j$(nproc) + + build-windows-qt5-15: + name: Windows Qt 5.15 build runs-on: windows-latest steps: - uses: actions/checkout@v2 - name: Cache Qt - id: cache-qt + id: cache-qt-5-15 uses: actions/cache@v1 # not v2! with: - path: ../Qt - key: ${{ runner.os }}-QtCache + path: ../Qt/5.15.2 + key: ${{ runner.os }}-QtCache-Qt5 - name: Install Qt uses: jurplel/install-qt-action@v2 @@ -64,7 +140,7 @@ jobs: arch: 'win64_msvc2019_64' install-deps: 'true' modules: 'qtwebengine' - cached: ${{ steps.cache-qt.outputs.cache-hit }} + cached: ${{ steps.cache-qt-5-15.outputs.cache-hit }} setup-python: 'true' tools: '' set-env: 'true' @@ -72,8 +148,10 @@ jobs: - uses: ilammy/msvc-dev-cmd@v1 - - name: Qt version - run: qmake -v + - name: Windows and Qt version + run: | + systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List + qmake -v - name: qmake run: qmake qskinny.pro @@ -84,17 +162,103 @@ jobs: unzip jom.zip .\jom - build-mac: - name: MacOS build + build-windows-qt-lts: + name: Windows Qt 6.2 (LTS) build + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Cache Qt + id: cache-qt-6-2 + uses: actions/cache@v1 # not v2! + with: + path: ../Qt/6.2.4 + key: ${{ runner.os }}-QtCache-Qt6-2 + + - name: Install Qt + uses: jurplel/install-qt-action@v2 + with: + version: '6.2.4' + host: 'windows' + target: 'desktop' + arch: 'win64_msvc2019_64' + install-deps: 'true' + modules: 'qtwebengine' + cached: ${{ steps.cache-qt-6-2.outputs.cache-hit }} + setup-python: 'true' + tools: '' + set-env: 'true' + tools-only: 'false' + + - uses: ilammy/msvc-dev-cmd@v1 + + - name: Windows and Qt version + run: | + systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List + qmake -v + + - name: qmake + run: qmake qskinny.pro + + - name: jom + run: | + Invoke-WebRequest -Uri "https://download.qt.io/official_releases/jom/jom.zip" -OutFile jom.zip + unzip jom.zip + .\jom + + build-windows-qt-current: + name: Windows Qt 6.3 (current) build + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Cache Qt + id: cache-qt-6-3 + uses: actions/cache@v1 # not v2! + with: + path: ../Qt/6.3.0 + key: ${{ runner.os }}-QtCache-Qt6-3 + + - name: Install Qt + uses: jurplel/install-qt-action@v2 + with: + version: '6.3.0' + host: 'windows' + target: 'desktop' + arch: 'win64_msvc2019_64' + install-deps: 'true' + modules: 'qtwebengine' + cached: ${{ steps.cache-qt-6-3.outputs.cache-hit }} + setup-python: 'true' + tools: '' + set-env: 'true' + tools-only: 'false' + + - uses: ilammy/msvc-dev-cmd@v1 + + - name: Windows and Qt version + run: | + systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List + qmake -v + + - name: qmake + run: qmake qskinny.pro + + - name: jom + run: | + Invoke-WebRequest -Uri "https://download.qt.io/official_releases/jom/jom.zip" -OutFile jom.zip + unzip jom.zip + .\jom + + build-mac-qt5-15: + name: MacOS Qt 5.15 build runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Cache Qt - id: cache-qt + id: cache-qt-5-15 uses: actions/cache@v1 # not v2! with: - path: ../Qt - key: ${{ runner.os }}-QtCache + path: ../Qt/5.15.2 + key: ${{ runner.os }}-QtCache-Qt5 - name: Install Qt uses: jurplel/install-qt-action@v2 @@ -104,7 +268,79 @@ jobs: target: 'desktop' install-deps: 'true' modules: 'qtwebengine' - cached: ${{ steps.cache-qt.outputs.cache-hit }} + cached: ${{ steps.cache-qt-5-15.outputs.cache-hit }} + setup-python: 'true' + tools: '' + set-env: 'true' + tools-only: 'false' + + - name: MacOS and Qt version + run: | + sw_vers + echo number of processors: $(sysctl -n hw.ncpu) + qmake -v + - name: qmake + run: qmake qskinny.pro + - name: make + run: make -j$(sysctl -n hw.ncpu) + + build-mac-qt-lts: + name: MacOS Qt 6.2 (LTS) build + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Cache Qt + id: cache-qt-6-2 + uses: actions/cache@v1 # not v2! + with: + path: ../Qt/6.2.4 + key: ${{ runner.os }}-QtCache-Qt6-2 + + - name: Install Qt + uses: jurplel/install-qt-action@v2 + with: + version: '6.2.4' + host: 'mac' + target: 'desktop' + install-deps: 'true' + modules: 'qtwebengine' + cached: ${{ steps.cache-qt-6-2.outputs.cache-hit }} + setup-python: 'true' + tools: '' + set-env: 'true' + tools-only: 'false' + + - name: MacOS and Qt version + run: | + sw_vers + echo number of processors: $(sysctl -n hw.ncpu) + qmake -v + - name: qmake + run: qmake qskinny.pro + - name: make + run: make -j$(sysctl -n hw.ncpu) + + build-mac-qt-current: + name: MacOS Qt 6.3 (current) build + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Cache Qt + id: cache-qt-6-3 + uses: actions/cache@v1 # not v2! + with: + path: ../Qt/6.3.0 + key: ${{ runner.os }}-QtCache-Qt6-3 + + - name: Install Qt + uses: jurplel/install-qt-action@v2 + with: + version: '6.3.0' + host: 'mac' + target: 'desktop' + install-deps: 'true' + modules: 'qtwebengine' + cached: ${{ steps.cache-qt-6-3.outputs.cache-hit }} setup-python: 'true' tools: '' set-env: 'true'