Bug 1953584 - Build a Ubuntu 24.04 arm64 test image in CI r=releng-reviewers,jcristau
Differential Revision: https://phabricator.services.mozilla.com/D241284
This commit is contained in:
@@ -120,6 +120,7 @@ treeherder:
|
||||
'Ub22': 'Packages for Ubuntu 22.04'
|
||||
'Ub22a64': 'AArch64 packages for Ubuntu 22.04'
|
||||
'Ub24': 'Packages for Ubuntu 24.04'
|
||||
'Ub24a64': 'AArch64 packages for Ubuntu 24.04'
|
||||
'I': 'Docker Image Builds'
|
||||
'TA': 'Toolchain builds for Android'
|
||||
'TL': 'Toolchain builds for Linux 64-bits'
|
||||
|
||||
@@ -11,6 +11,13 @@ sed -i /APT::Install-Recommends/d /etc/apt/apt.conf.d/99taskcluster
|
||||
# build a list of packages to be installed and call it in one go.
|
||||
apt_packages=()
|
||||
|
||||
ARCH="${1:-amd64}"
|
||||
|
||||
if [[ "$ARCH" == "amd64" ]]; then
|
||||
apt_packages+=('g++-multilib')
|
||||
apt_packages+=('gcc-multilib')
|
||||
fi
|
||||
|
||||
apt_packages+=('autoconf2.13')
|
||||
apt_packages+=('bluez-cups')
|
||||
apt_packages+=('build-essential')
|
||||
@@ -28,8 +35,6 @@ apt_packages+=('fonts-stix')
|
||||
apt_packages+=('fonts-unfonts-core')
|
||||
apt_packages+=('fonts-unfonts-extra')
|
||||
apt_packages+=('fonts-vlgothic')
|
||||
apt_packages+=('g++-multilib')
|
||||
apt_packages+=('gcc-multilib')
|
||||
apt_packages+=('gir1.2-gnomebluetooth-3.0')
|
||||
apt_packages+=('gnome-icon-theme')
|
||||
apt_packages+=('gnome-keyring')
|
||||
@@ -104,23 +109,26 @@ apt-get install --allow-downgrades "${apt_packages[@]}"
|
||||
# whale
|
||||
sed -i 's/org.gnome.SettingsDaemon.Power;//' /usr/share/gnome-session/sessions/ubuntu.session
|
||||
|
||||
# Enable i386 packages
|
||||
dpkg --add-architecture i386
|
||||
apt-get update
|
||||
if [[ "$ARCH" == "amd64" ]]; then
|
||||
# Enable i386 packages
|
||||
dpkg --add-architecture i386
|
||||
apt-get update
|
||||
|
||||
# Make sure we have libraries for 32-bit tests
|
||||
apt_packages=()
|
||||
apt_packages+=('libavcodec-extra60:i386')
|
||||
apt_packages+=('libpulse0:i386')
|
||||
apt_packages+=('libxt6:i386')
|
||||
apt_packages+=('libxtst6:i386')
|
||||
apt_packages+=('libsecret-1-0:i386')
|
||||
apt_packages+=('libgtk-3-0:i386')
|
||||
apt_packages+=('libx11-xcb1:i386')
|
||||
apt_packages+=('libxcb1:i386')
|
||||
apt_packages+=('libasound2:i386')
|
||||
# Make sure we have libraries for 32-bit tests
|
||||
apt_packages=()
|
||||
apt_packages+=('libavcodec-extra60:i386')
|
||||
apt_packages+=('libpulse0:i386')
|
||||
apt_packages+=('libxt6:i386')
|
||||
apt_packages+=('libxtst6:i386')
|
||||
apt_packages+=('libsecret-1-0:i386')
|
||||
apt_packages+=('libgtk-3-0:i386')
|
||||
apt_packages+=('libx11-xcb1:i386')
|
||||
apt_packages+=('libxcb1:i386')
|
||||
apt_packages+=('libasound2:i386')
|
||||
|
||||
apt-get install --allow-downgrades "${apt_packages[@]}"
|
||||
fi
|
||||
|
||||
apt-get install --allow-downgrades "${apt_packages[@]}"
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# enable audiotestsrc plugin in pipewire config
|
||||
|
||||
@@ -5,13 +5,14 @@
|
||||
# of such recent breakages)
|
||||
FROM $DOCKER_IMAGE_PARENT
|
||||
|
||||
ARG ARCH=amd64
|
||||
ARG TASKCLUSTER_ROOT_URL
|
||||
ARG DOCKER_IMAGE_PACKAGES
|
||||
RUN /usr/local/sbin/setup_packages.sh $TASKCLUSTER_ROOT_URL $DOCKER_IMAGE_PACKAGES
|
||||
|
||||
# %include taskcluster/docker/recipes/ubuntu2404-test-system-setup-base.sh
|
||||
ADD topsrcdir/taskcluster/docker/recipes/ubuntu2404-test-system-setup-base.sh /setup/system-setup.sh
|
||||
RUN bash /setup/system-setup.sh
|
||||
RUN bash /setup/system-setup.sh $ARCH
|
||||
RUN /usr/local/sbin/clean_packages.sh $DOCKER_IMAGE_PACKAGES
|
||||
|
||||
# Set a default command useful for debugging
|
||||
|
||||
@@ -109,6 +109,12 @@ tasks:
|
||||
definition: debian-raw
|
||||
args:
|
||||
BASE_IMAGE: ubuntu:noble
|
||||
ubuntu2404-arm64-raw:
|
||||
symbol: I(ub24-a64-raw)
|
||||
definition: debian-raw
|
||||
args:
|
||||
BASE_IMAGE: ubuntu:noble
|
||||
arch: arm64
|
||||
ubuntu2004-packages:
|
||||
symbol: I(ub20-pkg)
|
||||
definition: debian-packages
|
||||
@@ -121,6 +127,11 @@ tasks:
|
||||
symbol: I(ub24-pkg)
|
||||
definition: debian-packages
|
||||
parent: ubuntu2404-raw
|
||||
ubuntu2404-arm64-packages:
|
||||
symbol: I(ub24-a64-pkg)
|
||||
definition: debian-packages
|
||||
parent: ubuntu2404-arm64-raw
|
||||
arch: arm64
|
||||
ubuntu2004-base:
|
||||
symbol: I(ub20-base)
|
||||
definition: debian-base
|
||||
@@ -150,12 +161,32 @@ tasks:
|
||||
packages:
|
||||
- ub24-mercurial
|
||||
- ub24-python-zstandard
|
||||
ubuntu2404-arm64-base:
|
||||
symbol: I(ub24-a64-base)
|
||||
definition: debian-base
|
||||
parent: ubuntu2404-arm64-raw
|
||||
packages:
|
||||
- ub24-arm64-mercurial
|
||||
- ub24-arm64-python-zstandard
|
||||
arch: arm64
|
||||
ubuntu2404-test-base:
|
||||
symbol: I(ub24-test-base)
|
||||
parent: ubuntu2404-base
|
||||
ubuntu2404-arm64-test-base:
|
||||
symbol: I(ub24-a64-test-base)
|
||||
parent: ubuntu2404-arm64-base
|
||||
definition: ubuntu2404-test-base
|
||||
arch: arm64
|
||||
args:
|
||||
ARCH: arm64
|
||||
ubuntu2404-test:
|
||||
symbol: I(ub24-test)
|
||||
parent: ubuntu2404-test-base
|
||||
ubuntu2404-arm64-test:
|
||||
symbol: I(ub24-a64-test)
|
||||
parent: ubuntu2404-arm64-test-base
|
||||
definition: ubuntu2404-test
|
||||
arch: arm64
|
||||
# Neither the debian8-*raw nor the debian8-*packages images can have
|
||||
# packages dependencies.
|
||||
debian8-raw:
|
||||
|
||||
@@ -211,6 +211,20 @@ ub24-python-zstandard:
|
||||
dist: noble
|
||||
pre-build-command: debchange -v 0.23.0-1.ub24moz --distribution noble "Mozilla backport for noble"
|
||||
|
||||
ub24-arm64-python-zstandard:
|
||||
worker-type: b-linux-gcp-aarch64
|
||||
description: "python-zstandard for Ubuntu noble on ARM64"
|
||||
treeherder:
|
||||
symbol: Ub24a64(python-zstandard)
|
||||
run:
|
||||
tarball:
|
||||
url: https://files.pythonhosted.org/packages/ed/f6/2ac0287b442160a89d726b17a9184a4c615bb5237db763791a7fd16d9df1/zstandard-0.23.0.tar.gz
|
||||
sha256: b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09
|
||||
name: python-zstandard
|
||||
dist: noble
|
||||
arch: arm64
|
||||
pre-build-command: debchange -v 0.23.0-1.ub24moz --distribution noble "Mozilla backport for noble"
|
||||
|
||||
ub24-mercurial:
|
||||
description: "Modern Mercurial for Ubuntu noble"
|
||||
treeherder:
|
||||
@@ -225,3 +239,20 @@ ub24-mercurial:
|
||||
sed -i -e "s/__VERSION__/$(awk -F\" '$2 {print $2}' mercurial/__version__.py)-1.ub24moz1/" \
|
||||
-e "s/__DATE__/$(date --rfc-2822)/" \
|
||||
-e "s/__CODENAME__/noble/" debian/changelog
|
||||
|
||||
ub24-arm64-mercurial:
|
||||
worker-type: b-linux-gcp-aarch64
|
||||
description: "Modern Mercurial for Ubuntu noble on ARM64"
|
||||
treeherder:
|
||||
symbol: Ub24a64(hg)
|
||||
run:
|
||||
tarball:
|
||||
url: https://www.mercurial-scm.org/release/mercurial-6.8.1.tar.gz
|
||||
sha256: 030e8a7a6d590e4eaeb403ee25675615cd80d236f3ab8a0b56dcc84181158b05
|
||||
dist: noble
|
||||
arch: arm64
|
||||
pre-build-command: >-
|
||||
cp -r contrib/packaging/debian debian &&
|
||||
sed -i -e "s/__VERSION__/$(awk -F\" '$2 {print $2}' mercurial/__version__.py)-1.ub24moz1/" \
|
||||
-e "s/__DATE__/$(date --rfc-2822)/" \
|
||||
-e "s/__CODENAME__/noble/" debian/changelog
|
||||
|
||||
Reference in New Issue
Block a user