Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Klausen <kristian@klausen.dk>2022-08-08 16:56:45 +0200
committerKristian Klausen <kristian@klausen.dk>2022-08-21 19:24:47 +0200
commita2e886b4b92de99304264e8305af98bce3818b59 (patch)
treed7ae53cd0f5599fa4839674475c3289f3a03d71f
parent7bc4c5424516c9be29b460b4fa043aa76b1c69e3 (diff)
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
-rw-r--r--.gitlab-ci.yml29
1 files 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