qemu-e2k/scripts/ci/org.centos/stream/8/build-environment.yml
Cleber Rosa d7c2e2b3f4 Jobs based on custom runners: add CentOS Stream 8
This introduces three different parts of a job designed to run
on a custom runner managed by Red Hat.  The goals include:

  a) propose a model for other organizations that want to onboard
     their own runners, with their specific platforms, build
     configuration and tests.

  b) bring awareness to the differences between upstream QEMU and the
     version available under CentOS Stream, which is "A preview of
     upcoming Red Hat Enterprise Linux minor and major releases".

  c) because of b), it should be easier to identify and reduce the gap
     between Red Hat's downstream and upstream QEMU.

The components of this custom job are:

  I) OS build environment setup code:

     - additions to the existing "build-environment.yml" playbook
       that can be used to set up CentOS/EL 8 systems.

     - a CentOS Stream 8 specific "build-environment.yml" playbook
       that adds to the generic one.

 II) QEMU build configuration: a script that will produce binaries with
     features as similar as possible to the ones built and packaged on
     CentOS stream 8.

III) Scripts that define the minimum amount of testing that the
     binaries built with the given configuration (point II) under the
     given OS build environment (point I) should be subjected to.

 IV) Job definition: GitLab CI jobs that will dispatch the build/test
     jobs (see points #II and #III) to the machine specifically
     configured according to #I.

Signed-off-by: Cleber Rosa <crosa@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Tested-by: Willian Rampazzo <willianr@redhat.com>
Message-Id: <20211111160501.862396-2-crosa@redhat.com>
Message-Id: <20211115142915.3797652-6-alex.bennee@linaro.org>
2021-11-16 16:19:53 +00:00

52 lines
1.4 KiB
YAML

---
- name: Installation of extra packages to build QEMU
hosts: all
tasks:
- name: Extra check for CentOS Stream 8
lineinfile:
path: /etc/redhat-release
line: CentOS Stream release 8
state: present
check_mode: yes
register: centos_stream_8
- name: Enable PowerTools repo on CentOS Stream 8
ini_file:
path: /etc/yum.repos.d/CentOS-Stream-PowerTools.repo
section: powertools
option: enabled
value: "1"
when:
- ansible_facts['distribution'] == 'CentOS'
- ansible_facts['distribution_major_version'] == '8'
- centos_stream_8
- name: Install basic packages to build QEMU on CentOS Stream 8
dnf:
name:
- device-mapper-multipath-devel
- glusterfs-api-devel
- gnutls-devel
- libcap-ng-devel
- libcurl-devel
- libfdt-devel
- libiscsi-devel
- libpmem-devel
- librados-devel
- librbd-devel
- libseccomp-devel
- libssh-devel
- libxkbcommon-devel
- ninja-build
- numactl-devel
- python3-sphinx
- redhat-rpm-config
- snappy-devel
- spice-server-devel
- systemd-devel
state: present
when:
- ansible_facts['distribution'] == 'CentOS'
- ansible_facts['distribution_major_version'] == '8'
- centos_stream_8