From a2e886b4b92de99304264e8305af98bce3818b59 Mon Sep 17 00:00:00 2001 From: Kristian Klausen Date: Mon, 8 Aug 2022 16:56:45 +0200 Subject: Use VM runners[1] for building Building inside a TCG accelerated qemu VM is slow and painful, but it is the only option when running in a non-privileged container. arch-boxes has been built inside a KVM accelerated VMs ("VM runner") for over 11 months[2] and recently the MR[1] was merged into the infrastructure repo. With it now being a official part of arch's infrastructure we should switch to it and get much faster builds. Doing some quick testing, the whole pipeline is now roughly ~29-84 minutes faster (taking between 7-9 minutes, instead of 36-93 minutes). [1] https://gitlab.archlinux.org/archlinux/infrastructure/-/merge_requests/385 [2] https://gitlab.archlinux.org/archlinux/arch-boxes/-/commit/3bda5b26a675f241a1e0ba596dc94858839d96fc Fix #161 --- .gitlab-ci.yml | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index cb89eb5..17ac5ff 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,20 +2,6 @@ # # SPDX-License-Identifier: GPL-3.0-or-later -# NOTE: most functionality (apart from building) is abstracted by this include -include: - - project: 'archlinux/ci-scripts' - ref: master - file: '/prepare_archiso_vm.yml' - -variables: - BUILD_SCRIPT: ./.gitlab/ci/build_archiso.sh - PACKAGE_LIST: arch-install-scripts bash dosfstools e2fsprogs erofs-utils gnupg grub jq libarchive libisoburn mtools openssl qemu-headless squashfs-tools zsync - QEMU_BUILD_TIMEOUT: 2400 - QEMU_COPY_ARTIFACTS_TIMEOUT: 120 - QEMU_VM_MEMORY: 3072 - ARCHISO_COW_SPACE_SIZE: 2g - stages: - check - build @@ -33,6 +19,19 @@ check: stage: check interruptible: true +.build: + artifacts: + reports: + metrics: output/metrics.txt + before_script: + - pacman -Sy --needed --noconfirm archlinux-keyring + - pacman -Syu --needed --noconfirm arch-install-scripts bash dosfstools e2fsprogs erofs-utils gnupg grub jq libarchive libisoburn mtools openssl qemu-headless squashfs-tools zsync + script: + - ./.gitlab/ci/build_archiso.sh ${BUILD_SCRIPT_ARGS} + stage: build + tags: + - vm + build_short: extends: .build parallel: @@ -59,8 +58,6 @@ build_long: - BUILD_SCRIPT_ARGS: baseline netboot - BUILD_SCRIPT_ARGS: releng iso - BUILD_SCRIPT_ARGS: releng netboot - tags: - - fast-single-thread only: refs: - master -- cgit v1.2.3-54-g00ecf