549ce5bc4b
.gitlab-ci.yml: Set all build steps to be interruptable, so they will be interrupted if a newer commit is pushed on the same branch, which also triggers CI.
69 lines
1.6 KiB
YAML
69 lines
1.6 KiB
YAML
---
|
|
#
|
|
# 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: dosfstools e2fsprogs erofs-utils jq 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
|
|
|
|
check:
|
|
before_script:
|
|
# NOTE: Install latest archlinux-keyring before upgrading system. In the
|
|
# future this should not be needed anymore when we can guarantee a valid
|
|
# keyring for longer:
|
|
# https://gitlab.archlinux.org/archlinux/archlinux-keyring/-/issues/4
|
|
- pacman -Sy --needed --noconfirm archlinux-keyring
|
|
- pacman --noconfirm -Syu --needed make shellcheck
|
|
script:
|
|
- make check
|
|
stage: check
|
|
interruptible: true
|
|
|
|
build_short:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- BUILD_SCRIPT_ARGS: baseline bootstrap
|
|
- BUILD_SCRIPT_ARGS: releng bootstrap
|
|
only:
|
|
changes:
|
|
- archiso/*
|
|
- configs/**/*
|
|
- Makefile
|
|
- .gitlab-ci.yml
|
|
- .gitlab/ci/*
|
|
interruptible: true
|
|
|
|
build_long:
|
|
extends: .build
|
|
parallel:
|
|
matrix:
|
|
- BUILD_SCRIPT_ARGS: baseline iso
|
|
- BUILD_SCRIPT_ARGS: baseline netboot
|
|
- BUILD_SCRIPT_ARGS: releng iso
|
|
- BUILD_SCRIPT_ARGS: releng netboot
|
|
tags:
|
|
- fast-single-thread
|
|
only:
|
|
changes:
|
|
- archiso/*
|
|
- configs/**/*
|
|
- Makefile
|
|
- .gitlab-ci.yml
|
|
- .gitlab/ci/*
|
|
interruptible: true
|