1
0
Fork 0

drm_hwcomposer: CI: Refactor containers

The `ubuntu/x86_64_android` container is the base for running cts/vts
tests, but it is getting very large (~4GB) and takes a long time to build.
To make the base container smaller (~2.6GB), and to make it quicker to
rebuild specific components, carve out two new containers from the base
container:
  1) `ubuntu/x86_64_android_tools` for any tools that can be downloaded;
  2) `ubuntu/x86_64_android_binaries` for any binaries (excluding
      cuttlefish) that need to be built within the aosp repo.

Also, remove the jobs that start with the prefix `use-*`. These jobs pull
containers (e.g. debian/x86_64_cuttlefish) to make files inside the
container (e.g. cuttlefish.tar.xz) available to other jobs in the pipeline
as artifacts. But these `use-*` jobs can take a long time to run
(anywhere from 3 to 20 minutes to use the cuttlefish container). Instead,
use skopeo with umoci to fetch the containers and access their files,
which is much quicker.

Signed-off-by: Deborah Brouwer <deborah.brouwer@collabora.com>
This commit is contained in:
Deborah Brouwer 2025-08-28 16:05:45 -07:00
parent c02ebae650
commit 2e853865c2
9 changed files with 332 additions and 144 deletions

View file

@ -44,26 +44,39 @@ ubuntu/x86_64_aospless:
FDO_DISTRIBUTION_EXEC: 'bash .ci/container/ubuntu/x86_64_aospless.sh'
HWC_TAG: $UBUNTU_AOSPLESS_TAG
ubuntu/x86_64_android:
ubuntu/x86_64_android_binaries:
extends:
- .ubuntu/x86_64_hwc
timeout: 2h
variables:
FDO_DISTRIBUTION_VERSION: "22.04"
FDO_DISTRIBUTION_EXEC: 'bash .ci/container/ubuntu/x86_64_android_binaries.sh'
HWC_TAG: $UBUNTU_ANDROID_BINARIES_TAG
ubuntu/x86_64_android_tools:
extends:
- .ubuntu/x86_64_hwc
timeout: 2h
variables:
ANDROID_VERSION: 16
ANDROID_CTS_DEVICE_ARCH: "x86"
ANDROID_CTS_MODULES: >-
CtsGraphicsTestCases
CtsDisplayTestCases
FDO_DISTRIBUTION_VERSION: "22.04"
FDO_DISTRIBUTION_EXEC: 'bash .ci/container/ubuntu/x86_64_android_tools.sh'
HWC_TAG: $UBUNTU_ANDROID_TOOLS_TAG
ubuntu/x86_64_android:
extends:
- .ubuntu/x86_64_hwc
variables:
FDO_DISTRIBUTION_VERSION: "22.04"
FDO_DISTRIBUTION_EXEC: 'bash .ci/container/ubuntu/x86_64_android.sh'
HWC_TAG: $UBUNTU_ANDROID_TAG
after_script:
- cp /vts.log.txt "${CI_PROJECT_DIR}/vts.log.txt"
artifacts:
when: always
paths:
- "${CI_PROJECT_DIR}/vts.log.txt"
expire_in: 1 week
needs:
- job: debian/x86_64_cuttlefish
- job: ubuntu/x86_64_android_binaries
- job: ubuntu/x86_64_android_tools
.set-image:
extends:
@ -78,7 +91,7 @@ ubuntu/x86_64_android:
HWC_IMAGE: $UBUNTU_AOSPLESS_IMAGE
HWC_TAG: $UBUNTU_AOSPLESS_TAG
needs:
- ubuntu/x86_64_aospless
- job: ubuntu/x86_64_aospless
.use-ubuntu/x86_64_android:
extends:
@ -88,21 +101,4 @@ ubuntu/x86_64_android:
HWC_IMAGE: $UBUNTU_ANDROID_IMAGE
HWC_TAG: $UBUNTU_ANDROID_TAG
needs:
- ubuntu/x86_64_android
use-debian/x86_64_cuttlefish:
extends:
- .fdo.container-build@debian
- .set-image
variables:
HWC_IMAGE: $DEBIAN_CUTTLEFISH_IMAGE
HWC_TAG: $DEBIAN_CUTTLEFISH_TAG
needs:
- debian/x86_64_cuttlefish
script:
- cp -a "/${CUTTLEFISH_TARBALL}" "${CI_PROJECT_DIR}"
artifacts:
when: always
paths:
- "${CI_PROJECT_DIR}/${CUTTLEFISH_TARBALL}"
expire_in: 1 week
- job: ubuntu/x86_64_android

View file

@ -26,8 +26,21 @@ function my_atexit()
exit $EXIT_CODE
}
# Cuttlefish is an artifact built earlier in the pipeline
tar xf "${CI_PROJECT_DIR}/${CUTTLEFISH_TARBALL}" -C /
fdo_log_section_start_collapsed get_cuttlefish "get_cuttlefish"
tar xf "/${CUTTLEFISH_TARBALL}" -C /
fdo_log_section_end get_cuttlefish
fdo_log_section_start_collapsed get_tools "get_tools"
tar xf "/${ANDROID_TOOLS_TARBALL}" -C /
mv "/${BINARIES_DIR}/apexer" "/${TOOLS_DIR}/build-tools"
fdo_log_section_end get_tools
fdo_log_section_start_collapsed install_packages "install_packages"
apt-get update
apt-get upgrade -y
apt-get install -y --allow-downgrades /"${TOOLS_DIR}"/cuttlefish-base_*.deb
apt-get install -y --allow-downgrades /"${TOOLS_DIR}"/cuttlefish-user_*.deb
fdo_log_section_end install_packages
export PATH=/cuttlefish/bin:/android-tools/android-cts/jdk/bin/:/android-tools/build-tools:$PATH
@ -105,7 +118,7 @@ cp /old_apex/apex_manifest.pb /new_apex/
cp /old_apex/apex_build_info.pb /new_apex/
mkdir -p "${PWD}"/prebuilts/sdk/current/public/
cp /android.jar "${PWD}"/prebuilts/sdk/current/public/
cp "/${BINARIES_DIR}/android.jar" "${PWD}"/prebuilts/sdk/current/public/
apexer \
--build_info /new_apex/apex_build_info.pb \

View file

@ -14,7 +14,7 @@ source "${CI_PROJECT_DIR}/.ci/android/launch-cvd.sh"
fdo_log_section_start_collapsed run_android_vts "run_android_vts"
adb wait-for-device devices
adb root
adb push /VtsHalGraphicsComposer3_TargetTest /data/local/tmp/
adb push "/${BINARIES_DIR}/VtsHalGraphicsComposer3_TargetTest" /data/local/tmp/
adb shell stop surfaceflinger
SKIP_FILE="${CI_PROJECT_DIR}/.ci/android/vts-skips.txt"

View file

@ -1,6 +1,7 @@
#!/usr/bin/env bash
# shellcheck disable=SC1091 # no need to follow references to other shell scripts
# Bump the DEBIAN_CUTTLEFISH_TAG for changes in this file to take effect.
# For changes in this file to take effect, bump both:
# DEBIAN_CUTTLEFISH_TAG and UBUNTU_ANDROID_TAG
set -e
function get_repo() {

View file

@ -1,131 +1,75 @@
#!/usr/bin/env bash
# shellcheck disable=SC1091 # no need to follow references to other shell scripts
# no need to follow references to other shell scripts
# shellcheck disable=SC1090
# shellcheck disable=SC1091
# Bump the UBUNTU_ANDROID_TAG for changes in this file to take effect.
set -e
function my_atexit()
{
set +e
apt-get purge -y "${EPHEMERAL_DEPS[@]}"
apt-get autoremove -y
apt-get clean
}
trap my_atexit EXIT
trap 'exit 2' HUP INT PIPE TERM
source "${FDO_CI_BASH_HELPERS}"
DEPS=(
ca-certificates
curl
git
sudo
wget
unzip
xz-utils
)
DEPS_FOR_AOSP=(
gpg
gpg-agent
rsync
ssh
unzip
EPHEMERAL_DEPS=(
skopeo
umoci
)
export DEBIAN_FRONTEND=noninteractive
ln -fs /usr/share/zoneinfo/UTC /etc/localtime # suppress tzdata prompt
fdo_log_section_start_collapsed install_packages "install_packages"
apt-get update
apt-get upgrade -y
apt-get install -y --no-remove --no-install-recommends "${DEPS[@]}"
apt-get install -y --no-remove --no-install-recommends "${DEPS_FOR_AOSP[@]}"
curl -o /usr/local/bin/repo https://storage.googleapis.com/git-repo-downloads/repo
chmod a+x /usr/local/bin/repo
apt-get install -y --no-remove --no-install-recommends "${EPHEMERAL_DEPS[@]}"
fdo_log_section_end install_packages
# Build and install Debian package for cuttlefish
fdo_log_section_start_collapsed get_cuttlefish_packages "get_cuttlefish_packages"
ANDROID_CUTTLEFISH_VERSION=v1.17.0
mkdir /android-cuttlefish
pushd /android-cuttlefish
git init
git remote add origin https://github.com/google/android-cuttlefish.git
git fetch --depth 1 origin "$ANDROID_CUTTLEFISH_VERSION"
git checkout FETCH_HEAD
/android-cuttlefish/tools/buildutils/build_packages.sh
apt-get install -y --allow-downgrades ./cuttlefish-base_*.deb ./cuttlefish-user_*.deb
popd
rm -rf /android-cuttlefish
fdo_log_section_end get_cuttlefish_packages
TMP_DIR=/tmp/my_oci
fdo_log_section_start_collapsed get_cuttlefish "get_cuttlefish"
mkdir -p "${TMP_DIR}"
skopeo copy --retry-times 3 \
--src-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" \
"docker://${CI_REGISTRY_IMAGE}/${DEBIAN_CUTTLEFISH_IMAGE}:${DEBIAN_CUTTLEFISH_TAG}--${CI_TEMPLATES_COMMIT}" \
"oci:${TMP_DIR}/cuttlefish-oci:cf"
umoci unpack --image "${TMP_DIR}/cuttlefish-oci:cf" "${TMP_DIR}"
cp -a "${TMP_DIR}/rootfs/${CUTTLEFISH_TARBALL}" /"${CUTTLEFISH_TARBALL}"
rm --preserve-root "${TMP_DIR}" -rf
fdo_log_section_end get_cuttlefish
# Download Android CTS
fdo_log_section_start_collapsed get_android_cts "get_android_cts"
ANDROID_CTS_VERSION="${ANDROID_VERSION}_r2"
mkdir /android-tools
cd /android-tools
curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
-o "android-cts-${ANDROID_CTS_VERSION}-linux_x86-${ANDROID_CTS_DEVICE_ARCH}.zip" \
"https://dl.google.com/dl/android/cts/android-cts-${ANDROID_CTS_VERSION}-linux_x86-${ANDROID_CTS_DEVICE_ARCH}.zip"
unzip -q ./*.zip
rm ./*.zip
fdo_log_section_start_collapsed get_binaries "get_binaries"
mkdir -p "${TMP_DIR}"
skopeo copy --retry-times 3 \
--src-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" \
"docker://${CI_REGISTRY_IMAGE}/${UBUNTU_ANDROID_BINARIES_IMAGE}:${UBUNTU_ANDROID_BINARIES_TAG}--${CI_TEMPLATES_COMMIT}" \
"oci:${TMP_DIR}/binaries-oci:cf"
umoci unpack --image "${TMP_DIR}/binaries-oci:cf" "${TMP_DIR}"
cp -a "${TMP_DIR}/rootfs/${BINARIES_DIR}" /"${BINARIES_DIR}"
rm --preserve-root "${TMP_DIR}" -rf
fdo_log_section_end get_binaries
# Keep only the interesting tests to save space
# shellcheck disable=SC2086 # keep word splitting
ANDROID_CTS_MODULES_KEEP_EXPRESSION=$(printf "%s|" $ANDROID_CTS_MODULES | sed -e 's/|$//g')
find android-cts/testcases/ -mindepth 1 -type d | grep -v -E "$ANDROID_CTS_MODULES_KEEP_EXPRESSION" | xargs rm -rf
fdo_log_section_end get_android_cts
fdo_log_section_start_collapsed get_build-tools "get_build-tools"
curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
-o "build-tools_r${ANDROID_SDK_VERSION}-linux.zip" \
"https://dl.google.com/android/repository/build-tools_r${ANDROID_SDK_VERSION}_linux.zip"
unzip "build-tools_r${ANDROID_SDK_VERSION}-linux.zip"
rm ./*.zip
mv "android-$ANDROID_VERSION" build-tools #rename the directory
fdo_log_section_end get_build-tools "get_build-tools"
fdo_log_section_start_collapsed repo_init "repo_init"
TOP="/aosp"
mkdir "${TOP}"
cd "${TOP}"
: "${ANDROID_BRANCH:?ANDROID_BRANCH is not set}"
# prevent interactive colour diffs question
yes n | repo init \
-u https://android.googlesource.com/platform/manifest \
-b "${ANDROID_BRANCH}" \
--depth=1
# Don't increase parallel jobs or they will be denied
time repo sync --fail-fast --no-tags -j2
fdo_log_section_end repo_init
fdo_log_section_start_collapsed build_vts "build_vts"
source "${TOP}/build/envsetup.sh"
export TARGET_BUILD_VARIANT=userdebug
export TARGET_PRODUCT=aosp_cf_x86_64_slim
export TARGET_RELEASE=bp2a
lunch "${TARGET_PRODUCT}-${TARGET_RELEASE}-${TARGET_BUILD_VARIANT}"
time m VtsHalGraphicsComposer3_TargetTest > "/vts.log.txt" 2>&1
cp "${TOP}/out/target/product/vsoc_x86_64_only/data/nativetest64/VtsHalGraphicsComposer3_TargetTest/VtsHalGraphicsComposer3_TargetTest" \
"/VtsHalGraphicsComposer3_TargetTest"
fdo_log_section_end build_vts
fdo_log_section_start_collapsed build_apexer "build_apexer"
m apexer-host
cp "${TOP}/out/host/linux-x86/bin/apexer" "/android-tools/build-tools/apexer"
fdo_log_section_end build_apexer
cp "${TOP}/prebuilts/sdk/current/public/android.jar" "/android.jar"
fdo_log_section_start_collapsed build_vkms_tests "build_vkms_tests"
m setup_vkms_connectors_for_atest;
cp "${TOP}/out/target/product/vsoc_x86_64_only/system/bin/setup_vkms_connectors_for_atest" \
"/${BINARIES_DIR}/setup_vkms_connectors_for_atest"
m teardown_vkms;
cp "${TOP}/out/target/product/vsoc_x86_64_only/system/bin/teardown_vkms" \
"/${BINARIES_DIR}/teardown_vkms"
m test_hotplugs
cp "${TOP}/out/target/product/vsoc_x86_64_only/data/nativetest64/test_hotplugs/test_hotplugs" \
"/${BINARIES_DIR}/test_hotplugs"
fdo_log_section_end build_vkms_tests
# clean up
rm "/root/.cache" -rf
rm "${TOP}" -rf
fdo_log_section_start_collapsed get_tools "get_tools"
mkdir -p "${TMP_DIR}"
skopeo copy --retry-times 3 \
--src-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" \
"docker://${CI_REGISTRY_IMAGE}/${UBUNTU_ANDROID_TOOLS_IMAGE}:${UBUNTU_ANDROID_TOOLS_TAG}--${CI_TEMPLATES_COMMIT}" \
"oci:${TMP_DIR}/tools-oci:cf"
umoci unpack --image "${TMP_DIR}/tools-oci:cf" "${TMP_DIR}"
cp -a "${TMP_DIR}/rootfs/${ANDROID_TOOLS_TARBALL}" /"${ANDROID_TOOLS_TARBALL}"
rm --preserve-root "${TMP_DIR}" -rf
fdo_log_section_end get_tools

View file

@ -0,0 +1,112 @@
#!/usr/bin/env bash
# no need to follow references to other shell scripts
# shellcheck disable=SC1090
# shellcheck disable=SC1091
# For changes in this file to take effect, bump both:
# UBUNTU_ANDROID_BINARIES_TAG and UBUNTU_ANDROID_TAG
set -e
function my_atexit()
{
set +e
apt-get purge -y "${DEPS_FOR_AOSP[@]}"
apt-get autoremove -y
apt-get clean
rm --preserve-root "${BINARIES_DIR}" -rf
rm --preserve-root /root/.cache/ -rf
rm --preserve-root /root/.npm/ -rf
rm --preserve-root /tmp/* -rf
rm --preserve-root /usr/local/bin/repo
rm --preserve-root "${TOP}" -rf
}
trap my_atexit EXIT
trap 'exit 2' HUP INT PIPE TERM
source "${FDO_CI_BASH_HELPERS}"
DEPS=(
ca-certificates
curl
git
sudo
wget
xz-utils
)
DEPS_FOR_AOSP=(
gpg
gpg-agent
python3
rsync
ssh
unzip
)
export DEBIAN_FRONTEND=noninteractive
ln -fs /usr/share/zoneinfo/UTC /etc/localtime # suppress tzdata prompt
fdo_log_section_start_collapsed install_packages "install_packages"
apt-get update
apt-get upgrade -y
apt-get install -y --no-remove --no-install-recommends "${DEPS[@]}"
apt-get install -y --no-remove --no-install-recommends "${DEPS_FOR_AOSP[@]}"
curl -o /usr/local/bin/repo https://storage.googleapis.com/git-repo-downloads/repo
chmod a+x /usr/local/bin/repo
fdo_log_section_end install_packages
fdo_log_section_start_collapsed repo_init "repo_init"
TOP="/aosp"
mkdir "${TOP}"
cd "${TOP}"
: "${ANDROID_BRANCH:?ANDROID_BRANCH is not set}"
# prevent interactive colour diffs question
yes n | repo init \
-u https://android.googlesource.com/platform/manifest \
-b "${ANDROID_BRANCH}" \
--depth=1
# Don't increase parallel jobs or they will be denied
time repo sync --fail-fast --no-tags -j2
fdo_log_section_end repo_init
source "${TOP}/build/envsetup.sh"
export TARGET_BUILD_VARIANT=userdebug
export TARGET_PRODUCT=aosp_cf_x86_64_slim
export TARGET_RELEASE=bp2a
lunch "${TARGET_PRODUCT}-${TARGET_RELEASE}-${TARGET_BUILD_VARIANT}"
: "${BINARIES_DIR:?BINARIES_DIR is not set}"
mkdir "/${BINARIES_DIR}"
fdo_log_section_start_collapsed build_vts "build_vts"
m VtsHalGraphicsComposer3_TargetTest
cp "${TOP}/out/target/product/vsoc_x86_64_only/data/nativetest64/VtsHalGraphicsComposer3_TargetTest/VtsHalGraphicsComposer3_TargetTest" \
"/${BINARIES_DIR}/VtsHalGraphicsComposer3_TargetTest"
fdo_log_section_end build_vts
fdo_log_section_start_collapsed build_apexer "build_apexer"
m apexer-host
cp "${TOP}/out/host/linux-x86/bin/apexer" "/${BINARIES_DIR}/apexer"
fdo_log_section_end build_apexer
cp "${TOP}/prebuilts/sdk/current/public/android.jar" "/${BINARIES_DIR}/android.jar"
fdo_log_section_start_collapsed build_vkms_tests "build_vkms_tests"
m setup_vkms_connectors_for_atest;
cp "${TOP}/out/target/product/vsoc_x86_64_only/system/bin/setup_vkms_connectors_for_atest" \
"/${BINARIES_DIR}/setup_vkms_connectors_for_atest"
m teardown_vkms;
cp "${TOP}/out/target/product/vsoc_x86_64_only/system/bin/teardown_vkms" \
"/${BINARIES_DIR}/teardown_vkms"
m test_hotplugs
cp "${TOP}/out/target/product/vsoc_x86_64_only/data/nativetest64/test_hotplugs/test_hotplugs" \
"/${BINARIES_DIR}/test_hotplugs"
fdo_log_section_end build_vkms_tests

View file

@ -0,0 +1,116 @@
#!/usr/bin/env bash
# shellcheck disable=SC1090 # no need to follow references to other shell scripts
# For changes in this file to take effect, bump both:
# UBUNTU_ANDROID_TOOLS_TAG and UBUNTU_ANDROID_TAG
set -e
function my_atexit()
{
set +e
apt-get purge -y "${EPHEMERAL_DEPS[@]}"
apt-get autoremove -y
apt-get clean
rm --preserve-root "${TOOLS_DIR}" -rf
rm --preserve-root /root/.cache/ -rf
rm --preserve-root /root/.npm/ -rf
rm --preserve-root /tmp/* -rf
}
trap my_atexit EXIT
trap 'exit 2' HUP INT PIPE TERM
source "${FDO_CI_BASH_HELPERS}"
DEPS=(
ca-certificates
curl
git
sudo
wget
xz-utils
)
EPHEMERAL_DEPS=(
bazel
binutils
curl
emacsen-common
gcc
gettext
git
gnupg
golang
libfakeroot
m4
make
man-db
perl
python3
openssl
)
export DEBIAN_FRONTEND=noninteractive
ln -fs /usr/share/zoneinfo/UTC /etc/localtime # suppress tzdata prompt
fdo_log_section_start_collapsed install_packages "install_packages"
apt-get update
apt-get upgrade -y
apt-get install -y --no-remove --no-install-recommends "${DEPS[@]}"
fdo_log_section_end install_packages
: "${TOOLS_DIR:?TOOLS_DIR is not set}"
mkdir "${TOOLS_DIR}"
# Build debian packages for cuttlefish
fdo_log_section_start_collapsed get_cuttlefish_packages "get_cuttlefish_packages"
ANDROID_CUTTLEFISH_VERSION=v1.17.0
CUT_DIR="/android-cuttlefish"
mkdir "${CUT_DIR}"
pushd "${CUT_DIR}"
git init
git remote add origin https://github.com/google/android-cuttlefish.git
git fetch --depth 1 origin "${ANDROID_CUTTLEFISH_VERSION}"
git checkout FETCH_HEAD
${CUT_DIR}/tools/buildutils/build_packages.sh
popd
cp -a "${CUT_DIR}"/cuttlefish-base_*.deb "${TOOLS_DIR}"
cp -a "${CUT_DIR}"/cuttlefish-user_*.deb "${TOOLS_DIR}"
rm "${CUT_DIR}" -rf
fdo_log_section_end get_cuttlefish_packages
# Download Android CTS https://source.android.com/docs/compatibility/cts/downloads
fdo_log_section_start_collapsed get_android_cts "get_android_cts"
CTS_DIR="/cts"
mkdir "${CTS_DIR}"
ANDROID_CTS_VERSION="${ANDROID_VERSION}_r2"
curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
-o "${CTS_DIR}/cts.zip" \
"https://dl.google.com/dl/android/cts/android-cts-${ANDROID_CTS_VERSION}-linux_x86-x86.zip"
unzip -q "${CTS_DIR}/cts.zip" -d "${CTS_DIR}"
rm "${CTS_DIR}/cts.zip"
# Keep only the interesting tests to save space
# shellcheck disable=SC2086 # keep word splitting
ANDROID_CTS_MODULES_KEEP_EXPRESSION=$(printf "%s|" $ANDROID_CTS_MODULES | sed -e 's/|$//g')
find "${CTS_DIR}"/android-cts/testcases/ -mindepth 1 -type d | grep -v -E "$ANDROID_CTS_MODULES_KEEP_EXPRESSION" | xargs rm -rf
mv "${CTS_DIR}"/android-cts "${TOOLS_DIR}"
rm "${CTS_DIR}" -rf
fdo_log_section_end get_android_cts
fdo_log_section_start_collapsed get_build-tools "get_build-tools"
BUILD_TOOLS_DIR="/build-tools"
mkdir "${BUILD_TOOLS_DIR}"
curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
-o "${BUILD_TOOLS_DIR}/build-tools.zip" \
"https://dl.google.com/android/repository/build-tools_r${ANDROID_SDK_VERSION}_linux.zip"
unzip "${BUILD_TOOLS_DIR}/build-tools.zip" -d "${BUILD_TOOLS_DIR}"
rm "${BUILD_TOOLS_DIR}/build-tools.zip"
mv "${BUILD_TOOLS_DIR}/android-$ANDROID_VERSION" "${TOOLS_DIR}"/build-tools #rename the directory
rm "${BUILD_TOOLS_DIR}" -rf
fdo_log_section_end get_build-tools "get_build-tools"
: "${ANDROID_TOOLS_TARBALL:?ANDROID_TOOLS_TARBALL is not set}"
time tar -cf - "${TOOLS_DIR}" | xz --best -e -T"${FDO_CI_CONCURRENT:-4}" > "/${ANDROID_TOOLS_TARBALL}"

View file

@ -1,3 +1,6 @@
# IMPORTANT
# If updating DEBIAN_CUTTLEFISH_TAG, UBUNTU_ANDROID_TOOLS_TAG, UBUNTU_ANDROID_BINARIES_TAG
# also update UBUNTU_ANDROID_TAG for these changes to have any effect
variables:
DEBIAN_CUTTLEFISH_IMAGE: "debian/x86_64_cuttlefish"
@ -5,4 +8,8 @@ variables:
UBUNTU_AOSPLESS_IMAGE: "ubuntu/x86_64_aospless"
UBUNTU_AOSPLESS_TAG: "20250815_a16"
UBUNTU_ANDROID_IMAGE: "ubuntu/x86_64_android"
UBUNTU_ANDROID_TAG: "20250815.1_a16"
UBUNTU_ANDROID_TAG: "20250828_rf"
UBUNTU_ANDROID_TOOLS_IMAGE: "ubuntu/x86_64_android_tools"
UBUNTU_ANDROID_TOOLS_TAG: "20250827_rf"
UBUNTU_ANDROID_BINARIES_IMAGE: "ubuntu/x86_64_android_binaries"
UBUNTU_ANDROID_BINARIES_TAG: "20250828_rf"

View file

@ -11,6 +11,9 @@ variables:
CI_TEMPLATES_COMMIT: &ci-templates-commit 32afe5644697e503af18a736587c8619fa036a72
FDO_UPSTREAM_REPO: "drm-hwcomposer/drm-hwcomposer"
CUTTLEFISH_TARBALL: "cuttlefish.tar.xz"
ANDROID_TOOLS_TARBALL: "android_tools.tar.xz"
TOOLS_DIR: "android-tools"
BINARIES_DIR: "android-binaries"
RESULTS_DIR: "${CI_PROJECT_DIR}/results"
include:
@ -80,8 +83,6 @@ android-cts:
- job: build_x86_64
artifacts: true
- job: ubuntu/x86_64_android
- job: use-debian/x86_64_cuttlefish
artifacts: true
artifacts:
paths:
- "${RESULTS_DIR}"
@ -100,8 +101,6 @@ android-vts:
- job: build_x86_64
artifacts: true
- job: ubuntu/x86_64_android
- job: use-debian/x86_64_cuttlefish
artifacts: true
artifacts:
paths:
- "${RESULTS_DIR}"