From 02428894ebc60ce691fbc8c39ce9fe6847757d9d Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Tue, 5 Nov 2024 18:35:51 +0100 Subject: [PATCH] .zuul, playbooks: Run the CI on Arch Linux https://github.com/containers/toolbox/issues/1438 --- .zuul.yaml | 11 ++++++ playbooks/arch/dependencies.yaml | 63 ++++++++++++++++++++++++++++++++ playbooks/arch/setup.yaml | 25 +++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 playbooks/arch/dependencies.yaml create mode 100644 playbooks/arch/setup.yaml diff --git a/.zuul.yaml b/.zuul.yaml index f52971248..2930e3a87 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -48,6 +48,17 @@ pre-run: playbooks/setup-env-restricted.yaml run: playbooks/unit-test.yaml +- job: + name: system-test-arch-commands-options + description: Run Toolbx's commands-options system tests on Arch Linux + timeout: 6300 + nodeset: + nodes: + - name: arch + label: arch-linux + pre-run: playbooks/arch/setup.yaml + run: playbooks/system-test-commands-options.yaml + - job: name: system-test-fedora-rawhide-commands-options description: Run Toolbx's commands-options system tests in Fedora Rawhide diff --git a/playbooks/arch/dependencies.yaml b/playbooks/arch/dependencies.yaml new file mode 100644 index 000000000..c3071ba0f --- /dev/null +++ b/playbooks/arch/dependencies.yaml @@ -0,0 +1,63 @@ +# +# Copyright © 2024 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +- name: Install packages + become: yes + package: + update_cache: "{{ true if zuul.attempts > 1 else false }}" + name: + - apache + - bash-completion + - bats + - codespell + - crun + - fish + - gcc + - go + - go-md2man + - meson + - ninja + - openssl + - podman + - shadow + - shellcheck + - skopeo + - systemd + - udisks2 + +- name: Download Go modules + command: go mod download -x + args: + chdir: '{{ zuul.project.src_dir }}/src' + +- name: Initialize Git submodules + command: git submodule init + args: + chdir: '{{ zuul.project.src_dir }}' + +- name: Update Git submodules + command: git submodule update + args: + chdir: '{{ zuul.project.src_dir }}' + +- name: Check versions of crucial packages + command: pacman --query bash bats codespell *kernel* gcc *glibc* shadow-utils-subid-devel shellcheck golang golang-github-cpuguy83-md2man podman conmon containernetworking-plugins containers-common container-selinux crun skopeo + +- name: Show podman versions + command: podman version + +- name: Show podman debug information + command: podman info --debug diff --git a/playbooks/arch/setup.yaml b/playbooks/arch/setup.yaml new file mode 100644 index 000000000..cf466dadf --- /dev/null +++ b/playbooks/arch/setup.yaml @@ -0,0 +1,25 @@ +# +# Copyright © 2021 – 2024 Red Hat, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +--- +- hosts: all + tasks: + - include_tasks: dependencies.yaml + + - name: Set up build directory + command: meson setup --fatal-meson-warnings builddir + args: + chdir: '{{ zuul.project.src_dir }}'