Skip to content

Commit 0f542e3

Browse files
committed
docker: add Ubuntu Noble images
Also, switch CI to use new images. This removes Qt4 and msp430 tests since there are no required packages for those toolchains. Also, reduce the number of standalone Android images. Finally, remove Windows baremetal jobs. Change-Id: I034b1eca7bae199271d16ec4c422964930a1d586
1 parent 6ae9ac9 commit 0f542e3

10 files changed

+743
-947
lines changed

Diff for: .github/workflows/main.yml

+556-737
Large diffs are not rendered by default.

Diff for: docker-compose.yml

+41-80
Original file line numberDiff line numberDiff line change
@@ -23,127 +23,88 @@ x-default-service: &linux
2323
hard: -1
2424

2525
services:
26-
jammy-qt6: &jammy-qt6
26+
noble-qt6: &noble-qt6
2727
<< : *linux
28-
hostname: jammy-qt6
29-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-qt6-6.5.3_2.1.2-2
28+
hostname: noble-qt6
29+
image: ${DOCKER_USER:-qbsbuild}/qbsdev:noble-qt6-6.5.3_2.3.2-0
3030
build:
31-
dockerfile: docker/jammy/Dockerfile
31+
dockerfile: docker/noble/Dockerfile
3232
context: .
3333
args:
3434
QT_VERSION: 6.5.3
35-
QTCREATOR_VERSION: 11.0.3
35+
QTCREATOR_VERSION: 13.0.2
3636

37-
jammy-qt5:
38-
<< : *linux
39-
hostname: jammy-qt5
40-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-5.15.2_2.1.2-2
41-
build:
42-
dockerfile: docker/jammy/Dockerfile
43-
context: .
44-
args:
45-
QT_VERSION: 5.15.2
46-
QTCREATOR_VERSION: 11.0.3
47-
48-
jammy:
49-
<< : *jammy-qt6
50-
51-
jammy-qt6-static:
52-
<< : *linux
53-
hostname: jammy-qt6-static
54-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-qt6-static-6.5.0_2.1.2-0
55-
build:
56-
dockerfile: docker/jammy/test-qt6-static.Dockerfile
57-
context: .
58-
args:
59-
QT_VERSION: 6.5.0
60-
QTCREATOR_VERSION: 11.0.3
37+
noble:
38+
<< : *noble-qt6
6139

62-
jammy-android-515:
40+
noble-qt5:
6341
<< : *linux
64-
hostname: jammy-android
65-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-android-5.15.2-1
42+
hostname: noble-qt5
43+
image: ${DOCKER_USER:-qbsbuild}/qbsdev:noble-5.15.2_2.3.2-0
6644
build:
67-
dockerfile: docker/jammy/test-android.Dockerfile
45+
dockerfile: docker/noble/Dockerfile
6846
context: .
6947
args:
7048
QT_VERSION: 5.15.2
71-
ANDROID_NDK_VERSION: 23.0.7599858
49+
QTCREATOR_VERSION: 13.0.2
7250

73-
jammy-android-62:
51+
noble-qt6-static:
7452
<< : *linux
75-
hostname: jammy-android
76-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-android-6.2.4-1
53+
hostname: noble-qt6-static
54+
image: ${DOCKER_USER:-qbsbuild}/qbsdev:noble-qt6-static-6.5.3_2.3.2-0
7755
build:
78-
dockerfile: docker/jammy/test-android.Dockerfile
56+
dockerfile: docker/noble/test-qt6-static.Dockerfile
7957
context: .
8058
args:
81-
QT_VERSION: 6.2.4
82-
ANDROID_NDK_VERSION: 23.0.7599858
59+
QT_VERSION: 6.5.3
60+
QTCREATOR_VERSION: 13.0.2
8361

84-
jammy-android-65:
62+
noble-android-65:
8563
<< : *linux
86-
hostname: jammy-android
87-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-android-6.5.0-1
64+
hostname: noble-android
65+
image: ${DOCKER_USER:-qbsbuild}/qbsdev:noble-android-6.5.0-0
8866
build:
89-
dockerfile: docker/jammy/test-android.Dockerfile
67+
dockerfile: docker/noble/test-android.Dockerfile
9068
context: .
9169
args:
9270
QT_VERSION: 6.5.0
9371
ANDROID_NDK_VERSION: 25.1.8937393
9472

95-
jammy-android-ndk-r19c:
96-
<< : *linux
97-
hostname: jammy-android
98-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-android-ndk-r19c-1
99-
build:
100-
dockerfile: docker/jammy/test-android-no-qt.Dockerfile
101-
context: .
102-
args:
103-
ANDROID_NDK_VERSION: 19.2.5345600
104-
105-
jammy-android-ndk-r21e:
106-
<< : *linux
107-
hostname: jammy-android
108-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-android-ndk-r21e-1
109-
build:
110-
dockerfile: docker/jammy/test-android-no-qt.Dockerfile
111-
context: .
112-
args:
113-
ANDROID_NDK_VERSION: 21.4.7075529
114-
115-
jammy-android-ndk-r23:
73+
noble-android-515:
11674
<< : *linux
117-
hostname: jammy-android
118-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-android-ndk-r23-1
75+
hostname: noble-android
76+
image: ${DOCKER_USER:-qbsbuild}/qbsdev:noble-android-5.15.2-0
11977
build:
120-
dockerfile: docker/jammy/test-android-no-qt.Dockerfile
78+
dockerfile: docker/noble/test-android.Dockerfile
12179
context: .
12280
args:
81+
QT_VERSION: 5.15.2
12382
ANDROID_NDK_VERSION: 23.0.7599858
12483

125-
jammy-baremetal:
84+
noble-android-ndk-r25:
12685
<< : *linux
127-
hostname: jammy-baremetal
128-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-baremetal-0
86+
hostname: noble-android
87+
image: ${DOCKER_USER:-qbsbuild}/qbsdev:noble-android-ndk-r25-0
12988
build:
130-
dockerfile: docker/jammy/test-baremetal.Dockerfile
89+
dockerfile: docker/noble/test-android-no-qt.Dockerfile
13190
context: .
91+
args:
92+
ANDROID_NDK_VERSION: 25.1.8937393
13293

133-
jammy-qt4:
94+
noble-baremetal:
13495
<< : *linux
135-
hostname: jammy-qt4
136-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-qt4-1
96+
hostname: noble-baremetal
97+
image: ${DOCKER_USER:-qbsbuild}/qbsdev:noble-baremetal-0
13798
build:
138-
dockerfile: docker/jammy/test-qt4.Dockerfile
99+
dockerfile: docker/noble/test-baremetal.Dockerfile
139100
context: .
140101

141-
jammy-qt6-wasm:
102+
noble-qt6-wasm:
142103
<< : *linux
143-
hostname: jammy-qt6-wasm
144-
image: ${DOCKER_USER:-qbsbuild}/qbsdev:jammy-qt6-wasm-6.7.0-0
104+
hostname: noble-qt6-wasm
105+
image: ${DOCKER_USER:-qbsbuild}/qbsdev:noble-qt6-wasm-6.7.0-0
145106
build:
146-
dockerfile: docker/jammy/test-qt6-wasm.Dockerfile
107+
dockerfile: docker/noble/test-qt6-wasm.Dockerfile
147108
context: .
148109
args:
149110
QT_VERSION: 6.7.0

Diff for: docker/jammy/test-qt4.Dockerfile

-41
This file was deleted.

Diff for: docker/jammy/Dockerfile renamed to docker/noble/Dockerfile

+19-13
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#
22
# Install Qt and Qbs for Linux
33
#
4-
FROM ubuntu:jammy
4+
FROM ubuntu:noble
55
LABEL Description="Ubuntu development environment for Qbs with Qt and various dependencies for testing Qbs modules and functionality"
66
ARG QT_VERSION
77
ARG QTCREATOR_VERSION
@@ -24,6 +24,7 @@ RUN apt-get update -qq && \
2424
ca-certificates \
2525
gosu \
2626
sudo && \
27+
userdel ubuntu && \
2728
groupadd -g ${USER_UID} ${USER_NAME} && \
2829
useradd -s /bin/bash -u ${USER_UID} -g ${USER_NAME} -o -c "" -m ${USER_NAME} && \
2930
usermod -a -G sudo ${USER_NAME} && \
@@ -32,16 +33,16 @@ RUN apt-get update -qq && \
3233
COPY docker/entrypoint.sh /sbin/entrypoint.sh
3334
ENTRYPOINT ["/sbin/entrypoint.sh"]
3435

35-
# # Qbs build dependencies
36+
# Qbs build dependencies
3637
RUN apt-get update -qq && \
3738
DEBIAN_FRONTEND="noninteractive" apt-get install -qq -y --no-install-recommends \
3839
bison \
3940
build-essential \
4041
ca-certificates \
4142
capnproto \
4243
ccache \
43-
clang-15 \
44-
clang-tidy-15 \
44+
clang-18 \
45+
clang-tidy-18 \
4546
cmake \
4647
curl \
4748
flex \
@@ -50,11 +51,11 @@ RUN apt-get update -qq && \
5051
help2man \
5152
icoutils \
5253
libcapnp-dev \
54+
libclang-rt-18-dev \
5355
libdbus-1-3 \
5456
libfreetype6 \
5557
libfontconfig1 \
5658
libgl1-mesa-dev \
57-
libgl1-mesa-glx \
5859
libnanopb-dev \
5960
libprotobuf-dev \
6061
libgrpc++-dev \
@@ -69,15 +70,23 @@ RUN apt-get update -qq && \
6970
psmisc \
7071
python3-pip \
7172
python3-setuptools \
73+
python3-venv \
7274
p7zip-full \
7375
subversion \
7476
unzip \
7577
zip && \
76-
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 100 && \
77-
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 100 && \
78-
update-alternatives --install /usr/bin/clang-check clang-check /usr/bin/clang-check-15 100 && \
79-
update-alternatives --install /usr/bin/python python /usr/bin/python3 100 && \
80-
pip install beautifulsoup4 lxml protobuf==3.19.1 pyyaml conan
78+
update-alternatives --install /usr/bin/clang clang /usr/bin/clang-18 100 && \
79+
update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-18 100 && \
80+
update-alternatives --install /usr/bin/clang-check clang-check /usr/bin/clang-check-18 100 && \
81+
update-alternatives --install /usr/bin/python python /usr/bin/python3 100
82+
83+
ENV LLVM_INSTALL_DIR=/usr/lib/llvm-18
84+
85+
# Set up Python
86+
RUN python3 -m venv /venv && \
87+
/venv/bin/pip3 install beautifulsoup4 lxml protobuf==3.19.1 pyyaml conan
88+
89+
ENV PATH=/venv/bin:${PATH}
8190

8291
# Set the locale
8392
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
@@ -86,8 +95,6 @@ ENV LANG en_US.UTF-8
8695
ENV LANGUAGE en_US:en
8796
ENV LC_ALL en_US.UTF-8
8897

89-
ENV LLVM_INSTALL_DIR=/usr/lib/llvm-15
90-
9198
#
9299
# Install Qt and Qbs for Linux from qt.io
93100
#
@@ -99,7 +106,6 @@ RUN ./install-qt.sh --version ${QT_VERSION} qtbase qtdeclarative qttools qtx11ex
99106

100107
ENV PATH=/opt/Qt/${QT_VERSION}/gcc_64/bin:/opt/Qt/Tools/QtCreator/bin:${PATH}
101108

102-
103109
# Configure Qbs
104110
USER $USER_NAME
105111
RUN qbs-setup-toolchains /usr/bin/g++ gcc && \

Diff for: docker/jammy/test-android-no-qt.Dockerfile renamed to docker/noble/test-android-no-qt.Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#
22
# Android SDK/NDK for testing Qbs
33
#
4-
FROM ubuntu:jammy
4+
FROM ubuntu:noble
55
LABEL Description="Ubuntu test environment for Qbs for Android"
66

77
# Allow colored output on command line.
@@ -22,6 +22,7 @@ RUN apt-get update -qq && \
2222
ca-certificates \
2323
gosu \
2424
sudo && \
25+
userdel ubuntu && \
2526
groupadd -g ${USER_UID} ${USER_NAME} && \
2627
useradd -s /bin/bash -u ${USER_UID} -g ${USER_NAME} -o -c "" -m ${USER_NAME} && \
2728
usermod -a -G sudo ${USER_NAME} && \

Diff for: docker/jammy/test-android.Dockerfile renamed to docker/noble/test-android.Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#
22
# Android SDK/NDK + Qt for Android for testing Qbs
33
#
4-
FROM ubuntu:jammy
4+
FROM ubuntu:noble
55
LABEL Description="Ubuntu test environment for Qbs and Qt for Android"
66

77
# Allow colored output on command line.
@@ -22,6 +22,7 @@ RUN apt-get update -qq && \
2222
ca-certificates \
2323
gosu \
2424
sudo && \
25+
userdel ubuntu && \
2526
groupadd -g ${USER_UID} ${USER_NAME} && \
2627
useradd -s /bin/bash -u ${USER_UID} -g ${USER_NAME} -o -c "" -m ${USER_NAME} && \
2728
usermod -a -G sudo ${USER_NAME} && \

Diff for: docker/jammy/test-baremetal.Dockerfile renamed to docker/noble/test-baremetal.Dockerfile

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#
22
# Baremetal toolchains for testing Qbs
33
#
4-
FROM ubuntu:jammy
4+
FROM ubuntu:noble
55
LABEL Description="Ubuntu baremetal test environment for Qbs"
66

77
# Allow colored output on command line.
@@ -22,6 +22,7 @@ RUN apt-get update -qq && \
2222
ca-certificates \
2323
gosu \
2424
sudo && \
25+
userdel ubuntu && \
2526
groupadd -g ${USER_UID} ${USER_NAME} && \
2627
useradd -s /bin/bash -u ${USER_UID} -g ${USER_NAME} -o -c "" -m ${USER_NAME} && \
2728
usermod -a -G sudo ${USER_NAME} && \
@@ -36,11 +37,9 @@ RUN apt-get update -qq && \
3637
libasan5 \
3738
libglib2.0-0 \
3839
libgssapi-krb5-2 \
39-
libgl1-mesa-glx \
4040
gcc-arm-none-eabi \
4141
gcc-avr \
4242
avr-libc \
43-
gcc-msp430 \
4443
sdcc \
4544
binutils-xtensa-lx106 \
4645
gcc-xtensa-lx106 \

0 commit comments

Comments
 (0)