mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-05-07 03:48:06 +02:00
CI: rely on b2c to start qemu tests
This allows us to not have to create a specific image, and also should be more reliable because we don't have to boot a full distribution each time we just start our test suite. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
This commit is contained in:
parent
fb4f4131a1
commit
1ccbeabb0b
3 changed files with 55 additions and 48 deletions
|
|
@ -34,7 +34,7 @@
|
||||||
# <distribution>:<version>@activity:
|
# <distribution>:<version>@activity:
|
||||||
# e.g. fedora:31@build-default
|
# e.g. fedora:31@build-default
|
||||||
|
|
||||||
.templates_sha: &template_sha 0c312d9c7255f46e741d43bcd1930f09cd12efe7
|
.templates_sha: &template_sha 25459a8d343961918a7398e4b3c147e450926569
|
||||||
|
|
||||||
include:
|
include:
|
||||||
- project: 'freedesktop/ci-templates'
|
- project: 'freedesktop/ci-templates'
|
||||||
|
|
@ -94,7 +94,6 @@ variables:
|
||||||
ARCH_TAG: '2022-06-10.0'
|
ARCH_TAG: '2022-06-10.0'
|
||||||
ALPINE_TAG: '2022-06-10.0'
|
ALPINE_TAG: '2022-06-10.0'
|
||||||
FREEBSD_TAG: '2022-06-10.0'
|
FREEBSD_TAG: '2022-06-10.0'
|
||||||
FEDORA_QEMU_TAG: 'fedora-qemu-vm-2022-06-10.0'
|
|
||||||
|
|
||||||
FDO_UPSTREAM_REPO: libinput/libinput
|
FDO_UPSTREAM_REPO: libinput/libinput
|
||||||
|
|
||||||
|
|
@ -197,20 +196,6 @@ check-commit:
|
||||||
# Note: images are rebuilt weekly with a scheduled pipeline with FDO_FORCE_REBUILD set
|
# Note: images are rebuilt weekly with a scheduled pipeline with FDO_FORCE_REBUILD set
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
fedora:36@qemu-prep:
|
|
||||||
extends:
|
|
||||||
- .fdo.qemu-build@fedora
|
|
||||||
- .policy
|
|
||||||
stage: prep
|
|
||||||
tags:
|
|
||||||
- kvm
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
FDO_DISTRIBUTION_VERSION: "36"
|
|
||||||
FDO_DISTRIBUTION_TAG: $FEDORA_QEMU_TAG
|
|
||||||
FDO_DISTRIBUTION_PACKAGES: $FEDORA_PACKAGES
|
|
||||||
|
|
||||||
|
|
||||||
fedora:35@container-prep:
|
fedora:35@container-prep:
|
||||||
extends:
|
extends:
|
||||||
- .fdo.container-build@fedora
|
- .fdo.container-build@fedora
|
||||||
|
|
@ -407,6 +392,27 @@ freebsd:13.0@container-clean:
|
||||||
script:
|
script:
|
||||||
- .gitlab-ci/meson-build.sh
|
- .gitlab-ci/meson-build.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Run meson and meson test in the container image through qemu
|
||||||
|
.build-in-b2c@template:
|
||||||
|
extends:
|
||||||
|
- .policy
|
||||||
|
- .fdo.b2c-image@fedora
|
||||||
|
- .default_artifacts
|
||||||
|
tags:
|
||||||
|
- kvm
|
||||||
|
variables:
|
||||||
|
MESON_BUILDDIR: build_dir
|
||||||
|
B2C_KERNEL: https://gitlab.freedesktop.org/api/v4/projects/libevdev%2Fhid-tools/packages/generic/kernel-x86_64/v5.19/bzImage
|
||||||
|
B2C_VERSION: v0.9.8
|
||||||
|
B2C_IMAGE: $FDO_DISTRIBUTION_IMAGE
|
||||||
|
B2C_COMMAND: .gitlab-ci/meson-build.sh
|
||||||
|
script:
|
||||||
|
# pull b2c
|
||||||
|
- curl -L -o /app/boot2container https://gitlab.freedesktop.org/mupuf/boot2container/-/raw/v0.9.8/vm2c.py
|
||||||
|
- chmod +x /app/boot2container
|
||||||
|
- /app/boot2container
|
||||||
|
|
||||||
#
|
#
|
||||||
# Fedora
|
# Fedora
|
||||||
#
|
#
|
||||||
|
|
@ -471,7 +477,7 @@ freebsd:13.0@container-clean:
|
||||||
# Set one or the other, not both.
|
# Set one or the other, not both.
|
||||||
.test-suite-vm:
|
.test-suite-vm:
|
||||||
extends:
|
extends:
|
||||||
- .build-in-qemu@template
|
- .build-in-b2c@template
|
||||||
stage: test-suite
|
stage: test-suite
|
||||||
variables:
|
variables:
|
||||||
# remove the global --no-suite=hardware
|
# remove the global --no-suite=hardware
|
||||||
|
|
@ -487,9 +493,9 @@ freebsd:13.0@container-clean:
|
||||||
- .test-suite-vm
|
- .test-suite-vm
|
||||||
variables:
|
variables:
|
||||||
FDO_DISTRIBUTION_VERSION: 36
|
FDO_DISTRIBUTION_VERSION: 36
|
||||||
FDO_DISTRIBUTION_TAG: $FEDORA_QEMU_TAG
|
FDO_DISTRIBUTION_TAG: $FEDORA_TAG
|
||||||
needs:
|
needs:
|
||||||
- "fedora:36@qemu-prep"
|
- "fedora:36@container-prep"
|
||||||
|
|
||||||
|
|
||||||
vm-touchpad:
|
vm-touchpad:
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
# <distribution>:<version>@activity:
|
# <distribution>:<version>@activity:
|
||||||
# e.g. fedora:31@build-default
|
# e.g. fedora:31@build-default
|
||||||
|
|
||||||
.templates_sha: &template_sha 0c312d9c7255f46e741d43bcd1930f09cd12efe7
|
.templates_sha: &template_sha 25459a8d343961918a7398e4b3c147e450926569
|
||||||
|
|
||||||
include:
|
include:
|
||||||
- project: 'freedesktop/ci-templates'
|
- project: 'freedesktop/ci-templates'
|
||||||
|
|
@ -81,11 +81,6 @@ variables:
|
||||||
# libinput version
|
# libinput version
|
||||||
{% for distro in distributions %}
|
{% for distro in distributions %}
|
||||||
{{"%-13s"| format(distro.name.upper() + '_TAG:')}}'{{distro.tag}}'
|
{{"%-13s"| format(distro.name.upper() + '_TAG:')}}'{{distro.tag}}'
|
||||||
{% endfor %}
|
|
||||||
{% for distro in distributions %}
|
|
||||||
{% if distro.want_qemu %}
|
|
||||||
{{"%-20s"| format(distro.name.upper() + '_QEMU_TAG:')}} '{{distro.name}}-qemu-vm-{{distro.tag}}'
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
FDO_UPSTREAM_REPO: libinput/libinput
|
FDO_UPSTREAM_REPO: libinput/libinput
|
||||||
|
|
@ -189,24 +184,6 @@ check-commit:
|
||||||
# Note: images are rebuilt weekly with a scheduled pipeline with FDO_FORCE_REBUILD set
|
# Note: images are rebuilt weekly with a scheduled pipeline with FDO_FORCE_REBUILD set
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
{# qemu builds are only done for the latest version of any distribution #}
|
|
||||||
{% for distro in distributions if distro.want_qemu %}
|
|
||||||
{% set version = "{}".format(distro.versions|last()) %}
|
|
||||||
{{distro.name}}:{{version}}@qemu-prep:
|
|
||||||
extends:
|
|
||||||
- .fdo.qemu-build@{{distro.name}}
|
|
||||||
- .policy
|
|
||||||
stage: prep
|
|
||||||
tags:
|
|
||||||
- kvm
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
FDO_DISTRIBUTION_VERSION: "{{version}}"
|
|
||||||
FDO_DISTRIBUTION_TAG: ${{distro.name.upper()}}_QEMU_TAG
|
|
||||||
FDO_DISTRIBUTION_PACKAGES: ${{distro.name.upper()}}_PACKAGES
|
|
||||||
|
|
||||||
{% endfor %}
|
|
||||||
|
|
||||||
{% for distro in distributions %}
|
{% for distro in distributions %}
|
||||||
{% for version in distro.versions %}
|
{% for version in distro.versions %}
|
||||||
{{distro.name}}:{{version}}@container-prep:
|
{{distro.name}}:{{version}}@container-prep:
|
||||||
|
|
@ -291,6 +268,27 @@ check-commit:
|
||||||
script:
|
script:
|
||||||
- .gitlab-ci/meson-build.sh
|
- .gitlab-ci/meson-build.sh
|
||||||
|
|
||||||
|
|
||||||
|
# Run meson and meson test in the container image through qemu
|
||||||
|
.build-in-b2c@template:
|
||||||
|
extends:
|
||||||
|
- .policy
|
||||||
|
- .fdo.b2c-image@fedora
|
||||||
|
- .default_artifacts
|
||||||
|
tags:
|
||||||
|
- kvm
|
||||||
|
variables:
|
||||||
|
MESON_BUILDDIR: build_dir
|
||||||
|
B2C_KERNEL: {{ b2c.kernel }}
|
||||||
|
B2C_VERSION: {{ b2c.version }}
|
||||||
|
B2C_IMAGE: $FDO_DISTRIBUTION_IMAGE
|
||||||
|
B2C_COMMAND: .gitlab-ci/meson-build.sh
|
||||||
|
script:
|
||||||
|
# pull b2c
|
||||||
|
- curl -L -o /app/boot2container https://gitlab.freedesktop.org/mupuf/boot2container/-/raw/{{b2c.version}}/vm2c.py
|
||||||
|
- chmod +x /app/boot2container
|
||||||
|
- /app/boot2container
|
||||||
|
|
||||||
#
|
#
|
||||||
# Fedora
|
# Fedora
|
||||||
#
|
#
|
||||||
|
|
@ -355,7 +353,7 @@ check-commit:
|
||||||
# Set one or the other, not both.
|
# Set one or the other, not both.
|
||||||
.test-suite-vm:
|
.test-suite-vm:
|
||||||
extends:
|
extends:
|
||||||
- .build-in-qemu@template
|
- .build-in-b2c@template
|
||||||
stage: test-suite
|
stage: test-suite
|
||||||
variables:
|
variables:
|
||||||
# remove the global --no-suite=hardware
|
# remove the global --no-suite=hardware
|
||||||
|
|
@ -374,9 +372,9 @@ check-commit:
|
||||||
- .test-suite-vm
|
- .test-suite-vm
|
||||||
variables:
|
variables:
|
||||||
FDO_DISTRIBUTION_VERSION: {{version}}
|
FDO_DISTRIBUTION_VERSION: {{version}}
|
||||||
FDO_DISTRIBUTION_TAG: ${{distro.name.upper()}}_QEMU_TAG
|
FDO_DISTRIBUTION_TAG: ${{distro.name.upper()}}_TAG
|
||||||
needs:
|
needs:
|
||||||
- "{{distro.name}}:{{version}}@qemu-prep"
|
- "{{distro.name}}:{{version}}@container-prep"
|
||||||
|
|
||||||
|
|
||||||
{% for suite in test_suites %}
|
{% for suite in test_suites %}
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,7 @@ distributions:
|
||||||
tag: *default_tag
|
tag: *default_tag
|
||||||
versions:
|
versions:
|
||||||
- '35'
|
- '35'
|
||||||
- '36' # last is picked for qemu
|
- '36'
|
||||||
want_qemu: true
|
|
||||||
use_for_custom_build_tests: true
|
use_for_custom_build_tests: true
|
||||||
use_for_qemu_tests: true
|
use_for_qemu_tests: true
|
||||||
packages:
|
packages:
|
||||||
|
|
@ -195,3 +194,7 @@ test_suites:
|
||||||
- name: pointer
|
- name: pointer
|
||||||
suites:
|
suites:
|
||||||
- pointer
|
- pointer
|
||||||
|
|
||||||
|
b2c:
|
||||||
|
version: v0.9.8
|
||||||
|
kernel: https://gitlab.freedesktop.org/api/v4/projects/libevdev%2Fhid-tools/packages/generic/kernel-x86_64/v5.19/bzImage
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue