Skip to content

Commit 9b7ca52

Browse files
committed
ci: Fix build issues
- Dynamically pick arch for Windows builds based on Qt version (5 vs. 6). - Bump Linux dynamic Qt6 build to v6.8.2 - Bump Linux static Qt5 build to v5.15.16 - Use 'ubuntu-22.04' runner image for Linux static builds - Free disk space on Linux static builds - Improve Linux static build cache keys - Remove '-no-openssl' from static builds - Bump Windows Qt6 builds to v6.8.2 - Fix path to `init-repositry.pl` for Windows static Qt6 build - Explicitly enable Secure Channel for Windows static Qt5 build Refs: PROD-21449
1 parent 28307b0 commit 9b7ca52

1 file changed

Lines changed: 24 additions & 13 deletions

File tree

.github/workflows/build.yml

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
matrix:
2323
qt_version:
2424
- "5.15.2"
25-
- "6.7.1"
25+
- "6.8.2"
2626
runs-on: ubuntu-latest
2727
steps:
2828
- name: Checkout
@@ -61,25 +61,36 @@ jobs:
6161
fail-fast: false
6262
matrix:
6363
qt_version:
64-
- "5.15.14"
64+
- "5.15.16"
6565
- "6.7.1"
66-
runs-on: ubuntu-latest
66+
runs-on: ubuntu-22.04
6767
steps:
6868
- name: Checkout
6969
uses: actions/checkout@v4
7070
- name: Install dependencies
7171
run: |
7272
sudo apt-get update
73-
sudo apt-get install -y libftdi1-dev libusb-1.0-0-dev libudev-dev libssl-dev libgl1-mesa-dev libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libatspi2.0-dev dbus-x11 libpcre2-dev libclang-dev '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
73+
sudo apt-get install -y libftdi1-dev libusb-1.0-0-dev libudev-dev libssl-dev libgl1-mesa-dev libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-util-dev libxcb-xinerama0-dev libxcb-xkb-dev libxkbcommon-dev libxkbcommon-x11-dev libatspi2.0-dev dbus-x11 libpcre2-dev libclang-dev '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev ninja-build
7474
shell: bash
75+
- name: Free disk space
76+
uses: jlumbroso/free-disk-space@v1.3.1
77+
with:
78+
android: true
79+
dotnet: true
80+
haskell: true
81+
large-packages: false # This removes llvm packages, which we need
82+
docker-images: true
83+
swap-storage: false # Don't remove swap storage
7584
- name: Cache Qt static build
7685
id: cache-qt-static
7786
uses: actions/cache@v4
7887
env:
7988
cache-name: cache-qt-${{ matrix.qt_version }}-linux-static
8089
with:
8190
path: ${{ runner.temp }}/Qt${{ matrix.qt_version }}-static
82-
key: qt-${{ matrix.qt_version }}-linux-static
91+
key: qt-${{ matrix.qt_version }}-linux-static-${{ hashFiles('**/qt.pro') }}
92+
restore-keys: |
93+
qt-${{ matrix.qt_version }}-linux-static-
8394
- name: Install Qt5
8495
if: ${{ startsWith(matrix.qt_version, '5') && steps.cache-qt-static.outputs.cache-hit != 'true' }}
8596
working-directory: ${{ runner.temp }}
@@ -90,7 +101,7 @@ jobs:
90101
perl init-repository --module-subset=essential,qtserialport
91102
mkdir build
92103
cd build
93-
../configure -prefix ${{ runner.temp }}/Qt${{ matrix.qt_version }}-static -release -static -static-runtime -opensource -confirm-license -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-journald -qt-zlib -no-mtdev -no-gif -qt-libpng -qt-libjpeg -qt-harfbuzz -no-openssl -qt-pcre -xcb -no-glib -no-egl -no-compile-examples -no-cups -no-iconv -no-tslib -fontconfig -dbus-linked -no-xcb-xlib -no-eglfs -no-directfb -no-linuxfb -no-kms -no-opengl -nomake examples -nomake tests -skip qtwebsockets -skip qtwebchannel -skip qtwebengine -skip qtwayland -skip qtwinextras -skip qtsvg -skip qtsensors -skip qtcanvas3d -skip qtconnectivity -skip declarative -skip multimedia -no-evdev -no-libproxy
104+
../configure -prefix ${{ runner.temp }}/Qt${{ matrix.qt_version }}-static -release -static -static-runtime -opensource -confirm-license -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-journald -qt-zlib -no-mtdev -no-gif -qt-libpng -qt-libjpeg -qt-harfbuzz -qt-pcre -xcb -no-glib -no-egl -no-compile-examples -no-cups -no-iconv -no-tslib -fontconfig -dbus-linked -no-xcb-xlib -no-eglfs -no-directfb -no-linuxfb -no-kms -no-opengl -nomake examples -nomake tests -skip qtwebsockets -skip qtwebchannel -skip qtwebengine -skip qtwayland -skip qtwinextras -skip qtsvg -skip qtsensors -skip qtcanvas3d -skip qtconnectivity -skip declarative -skip multimedia -no-evdev -no-libproxy
94105
make -j2
95106
make install
96107
- name: Install Qt6
@@ -103,7 +114,7 @@ jobs:
103114
perl init-repository --module-subset=essential,qtserialport
104115
mkdir build
105116
cd build
106-
../configure -prefix ${{ runner.temp }}/Qt${{ matrix.qt_version }}-static -release -static -static-runtime -opensource -confirm-license -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-journald -qt-zlib -no-mtdev -no-gif -qt-libpng -qt-libjpeg -qt-harfbuzz -no-openssl -qt-pcre -xcb -no-glib -no-egl -no-cups -no-tslib -fontconfig -dbus-linked -no-xcb-xlib -no-eglfs -no-directfb -no-linuxfb -no-kms -no-opengl -nomake tests -skip qtwebchannel -skip qtwebengine -skip qtwayland -skip qtwinextras -skip qtsvg -skip qtsensors -skip qtcanvas3d -skip qtconnectivity -skip declarative -skip multimedia -no-evdev -no-libproxy -nomake examples
117+
../configure -prefix ${{ runner.temp }}/Qt${{ matrix.qt_version }}-static -release -static -static-runtime -opensource -confirm-license -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-journald -qt-zlib -no-mtdev -no-gif -qt-libpng -qt-libjpeg -qt-harfbuzz -qt-pcre -xcb -no-glib -no-egl -no-cups -no-tslib -fontconfig -dbus-linked -no-xcb-xlib -no-eglfs -no-directfb -no-linuxfb -no-kms -no-opengl -nomake tests -skip qtwebchannel -skip qtwebengine -skip qtwayland -skip qtwinextras -skip qtsvg -skip qtsensors -skip qtcanvas3d -skip qtconnectivity -skip declarative -skip multimedia -no-evdev -no-libproxy -nomake examples
107118
cmake --build . --parallel 2
108119
cmake --install .
109120
- name: Build
@@ -130,7 +141,7 @@ jobs:
130141
matrix:
131142
qt_version:
132143
- "5.15.2"
133-
- "6.7.1"
144+
- "6.8.2"
134145
runs-on: windows-latest
135146
steps:
136147
- name: Checkout
@@ -140,7 +151,7 @@ jobs:
140151
with:
141152
version: ${{ matrix.qt_version }}
142153
host: windows
143-
arch: win64_msvc2019_64
154+
arch: ${{ startsWith(matrix.qt_version, '6') && 'win64_msvc2022_64' || 'win64_msvc2019_64' }}
144155
modules: ${{ startsWith(matrix.qt_version, '6') && 'qtserialport' || '' }}
145156
- name: Set up Visual Studio shell
146157
uses: egor-tensin/vs-shell@v2
@@ -171,7 +182,7 @@ jobs:
171182
matrix:
172183
qt_version:
173184
- "5.15.14-lts-lgpl"
174-
- "6.7.1"
185+
- "6.8.2"
175186
runs-on: windows-latest
176187
steps:
177188
- name: Checkout
@@ -199,7 +210,7 @@ jobs:
199210
perl init-repository --module-subset=essential,qtserialport
200211
mkdir build
201212
cd build
202-
../configure -prefix ${{ runner.temp }}/Qt${{ matrix.qt_version }}-static -release -static -static-runtime -opensource -confirm-license -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-journald -qt-zlib -no-mtdev -no-gif -qt-libpng -qt-libjpeg -qt-harfbuzz -no-openssl -qt-pcre -no-glib -no-egl -no-compile-examples -no-cups -no-iconv -no-tslib -no-eglfs -no-directfb -no-linuxfb -no-kms -no-opengl -nomake examples -nomake tests -skip qtwebsockets -skip qtwebchannel -skip qtwebengine -skip qtwayland -skip qtwinextras -skip qtsvg -skip qtsensors -skip qtcanvas3d -skip qtconnectivity -skip declarative -skip multimedia -no-evdev -no-libproxy
213+
../configure -prefix ${{ runner.temp }}/Qt${{ matrix.qt_version }}-static -release -static -static-runtime -opensource -confirm-license -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-journald -qt-zlib -no-mtdev -no-gif -qt-libpng -qt-libjpeg -qt-harfbuzz -qt-pcre -no-glib -no-egl -no-compile-examples -no-cups -no-iconv -no-tslib -no-eglfs -no-directfb -no-linuxfb -no-kms -no-opengl -nomake examples -nomake tests -skip qtwebsockets -skip qtwebchannel -skip qtwebengine -skip qtwayland -skip qtwinextras -skip qtsvg -skip qtsensors -skip qtcanvas3d -skip qtconnectivity -skip declarative -skip multimedia -no-evdev -no-libproxy -schannel
203214
nmake.exe
204215
nmake.exe install
205216
- name: Install Qt6
@@ -210,10 +221,10 @@ jobs:
210221
git clone https://code.qt.io/qt/qt5.git qt
211222
cd qt
212223
git checkout v${{ matrix.qt_version }}
213-
perl init-repository --module-subset=essential,qtserialport
224+
perl init-repository.pl --module-subset=essential,qtserialport
214225
mkdir build
215226
cd build
216-
../configure -prefix ${{ runner.temp }}/Qt${{ matrix.qt_version }}-static -release -static -static-runtime -opensource -confirm-license -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-journald -qt-zlib -no-mtdev -no-gif -qt-libpng -qt-libjpeg -qt-harfbuzz -no-openssl -qt-pcre -no-glib -no-egl -no-cups -no-tslib -dbus-linked -no-eglfs -no-directfb -no-linuxfb -no-kms -no-opengl -nomake tests -skip qtwebchannel -skip qtwebengine -skip qtwayland -skip qtwinextras -skip qtsvg -skip qtsensors -skip qtcanvas3d -skip qtconnectivity -skip declarative -skip multimedia -no-evdev -no-libproxy -nomake examples
227+
../configure -prefix ${{ runner.temp }}/Qt${{ matrix.qt_version }}-static -release -static -static-runtime -opensource -confirm-license -no-sql-mysql -no-sql-psql -no-sql-sqlite -no-journald -qt-zlib -no-mtdev -no-gif -qt-libpng -qt-libjpeg -qt-harfbuzz -qt-pcre -no-glib -no-egl -no-cups -no-tslib -dbus-linked -no-eglfs -no-directfb -no-linuxfb -no-kms -no-opengl -nomake tests -skip qtwebchannel -skip qtwebengine -skip qtwayland -skip qtwinextras -skip qtsvg -skip qtsensors -skip qtcanvas3d -skip qtconnectivity -skip declarative -skip multimedia -no-evdev -no-libproxy -nomake examples
217228
cmake --build . --parallel 2
218229
cmake --install .
219230
- name: Build

0 commit comments

Comments
 (0)