Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: cb89eb56e936ffe338d4989164db54b9decdb2fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
---
#
# 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

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:
    refs:
      - master
      - merge_requests
    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:
    refs:
      - master
      - merge_requests
    changes:
      - archiso/*
      - configs/**/*
      - Makefile
      - .gitlab-ci.yml
      - .gitlab/ci/*
  interruptible: true