diff --git a/.zuul.yaml b/.zuul.yaml index c444d0e6e..33a2059aa 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -56,138 +56,231 @@ dependencies_playbook: dependencies-fedora-restricted.yaml - job: - name: system-test-fedora-rawhide-commands-options - description: Run Toolbx's commands-options system tests in Fedora Rawhide + name: system-test-fedora + abstract: true + pre-run: playbooks/setup-env.yaml + timeout: 6300 + +- job: + name: system-test-fedora-rawhide + abstract: true + parent: system-test-fedora ansible-version: 11 - timeout: 7200 nodeset: nodes: - name: fedora-rawhide label: cloud-fedora-rawhide - pre-run: playbooks/setup-env.yaml + timeout: 7200 + +- job: + name: system-test-fedora-rawhide-commands-options + parent: system-test-fedora-rawhide + description: Run Toolbx's commands-options system tests in Fedora Rawhide run: playbooks/system-test-commands-options.yaml - job: name: system-test-fedora-rawhide-runtime-environment-arch-fedora + parent: system-test-fedora-rawhide description: Run Toolbx's (arch-fedora,runtime-environment) system tests in Fedora Rawhide - ansible-version: 11 - timeout: 7200 - nodeset: - nodes: - - name: fedora-rawhide - label: cloud-fedora-rawhide - pre-run: playbooks/setup-env.yaml run: playbooks/system-test-runtime-environment-arch-fedora.yaml - job: name: system-test-fedora-rawhide-runtime-environment-ubuntu + parent: system-test-fedora-rawhide description: Run Toolbx's (runtime-environment,ubuntu) system tests in Fedora Rawhide - ansible-version: 11 - timeout: 7200 - nodeset: - nodes: - - name: fedora-rawhide - label: cloud-fedora-rawhide - pre-run: playbooks/setup-env.yaml run: playbooks/system-test-runtime-environment-ubuntu.yaml - job: name: system-test-fedora-44-commands-options + parent: system-test-fedora description: Run Toolbx's commands-options system tests in Fedora 44 - timeout: 6300 nodeset: nodes: - name: fedora-44 label: cloud-fedora-44 - pre-run: playbooks/setup-env.yaml run: playbooks/system-test-commands-options.yaml - job: name: system-test-fedora-44-runtime-environment-arch-fedora + parent: system-test-fedora description: Run Toolbx's (arch-fedora,runtime-environment) system tests in Fedora 44 - timeout: 6300 nodeset: nodes: - name: fedora-44 label: cloud-fedora-44 - pre-run: playbooks/setup-env.yaml run: playbooks/system-test-runtime-environment-arch-fedora.yaml - job: name: system-test-fedora-44-runtime-environment-ubuntu + parent: system-test-fedora description: Run Toolbx's (runtime-environment,ubuntu) system tests in Fedora 44 - timeout: 6300 nodeset: nodes: - name: fedora-44 label: cloud-fedora-44 - pre-run: playbooks/setup-env.yaml run: playbooks/system-test-runtime-environment-ubuntu.yaml - job: name: system-test-fedora-43-commands-options + parent: system-test-fedora description: Run Toolbx's commands-options system tests in Fedora 43 - timeout: 6300 nodeset: nodes: - name: fedora-43 label: cloud-fedora-43 - pre-run: playbooks/setup-env.yaml run: playbooks/system-test-commands-options.yaml - job: name: system-test-fedora-43-runtime-environment-arch-fedora + parent: system-test-fedora description: Run Toolbx's (arch-fedora,runtime-environment) system tests in Fedora 43 - timeout: 6300 nodeset: nodes: - name: fedora-43 label: cloud-fedora-43 - pre-run: playbooks/setup-env.yaml run: playbooks/system-test-runtime-environment-arch-fedora.yaml - job: name: system-test-fedora-43-runtime-environment-ubuntu + parent: system-test-fedora description: Run Toolbx's (runtime-environment,ubuntu) system tests in Fedora 43 - timeout: 6300 nodeset: nodes: - name: fedora-43 label: cloud-fedora-43 - pre-run: playbooks/setup-env.yaml run: playbooks/system-test-runtime-environment-ubuntu.yaml - job: name: system-test-fedora-42-commands-options + parent: system-test-fedora description: Run Toolbx's commands-options system tests in Fedora 42 - timeout: 6300 nodeset: nodes: - name: fedora-42 label: cloud-fedora-42 - pre-run: playbooks/setup-env.yaml run: playbooks/system-test-commands-options.yaml - job: name: system-test-fedora-42-runtime-environment-arch-fedora + parent: system-test-fedora description: Run Toolbx's (arch-fedora,runtime-environment) system tests in Fedora 42 - timeout: 6300 nodeset: nodes: - name: fedora-42 label: cloud-fedora-42 - pre-run: playbooks/setup-env.yaml run: playbooks/system-test-runtime-environment-arch-fedora.yaml - job: name: system-test-fedora-42-runtime-environment-ubuntu + parent: system-test-fedora description: Run Toolbx's (runtime-environment,ubuntu) system tests in Fedora 42 - timeout: 6300 nodeset: nodes: - name: fedora-42 label: cloud-fedora-42 + run: playbooks/system-test-runtime-environment-ubuntu.yaml + +- job: + name: system-test-fedora-coreos + abstract: true pre-run: playbooks/setup-env.yaml + timeout: 6300 + vars: + dependencies_playbook: dependencies-fedora-coreos.yaml + meson_setup_args: >- + -Dbash_completions_dir=/usr/local/share/bash-completion/completions + -Dfish_completions_dir=/usr/local/share/fish/vendor_completions.d + -Dprofile_dir=/usr/local/share/profile.d + -Dtmpfiles_dir=/usr/local/lib/tmpfiles.d + +- job: + name: system-test-fedora-coreos-next-commands-options + parent: system-test-fedora-coreos + description: Run Toolbx's commands-options system tests in Fedora CoreOS next + nodeset: + nodes: + - name: fedora-coreos-next + label: cloud-fedora-coreos-next + run: playbooks/system-test-commands-options.yaml + +- job: + name: system-test-fedora-coreos-next-runtime-environment-arch-fedora + parent: system-test-fedora-coreos + description: Run Toolbx's (arch-fedora,runtime-environment) system tests in Fedora CoreOS next + nodeset: + nodes: + - name: fedora-coreos-next + label: cloud-fedora-coreos-next + run: playbooks/system-test-runtime-environment-arch-fedora.yaml + +- job: + name: system-test-fedora-coreos-next-runtime-environment-ubuntu + parent: system-test-fedora-coreos + description: Run Toolbx's (runtime-environment,ubuntu) system tests in Fedora CoreOS next + nodeset: + nodes: + - name: fedora-coreos-next + label: cloud-fedora-coreos-next + run: playbooks/system-test-runtime-environment-ubuntu.yaml + +- job: + name: system-test-fedora-coreos-stable-commands-options + parent: system-test-fedora-coreos + description: Run Toolbx's commands-options system tests in Fedora CoreOS stable + nodeset: + nodes: + - name: fedora-coreos-stable + label: cloud-fedora-coreos-stable + run: playbooks/system-test-commands-options.yaml + +- job: + name: system-test-fedora-coreos-stable-runtime-environment-arch-fedora + parent: system-test-fedora-coreos + description: Run Toolbx's (arch-fedora,runtime-environment) system tests in Fedora CoreOS stable + nodeset: + nodes: + - name: fedora-coreos-stable + label: cloud-fedora-coreos-stable + run: playbooks/system-test-runtime-environment-arch-fedora.yaml + +- job: + name: system-test-fedora-coreos-stable-runtime-environment-ubuntu + parent: system-test-fedora-coreos + description: Run Toolbx's (runtime-environment,ubuntu) system tests in Fedora CoreOS stable + nodeset: + nodes: + - name: fedora-coreos-stable + label: cloud-fedora-coreos-stable + run: playbooks/system-test-runtime-environment-ubuntu.yaml + +- job: + name: system-test-fedora-coreos-testing-commands-options + parent: system-test-fedora-coreos + description: Run Toolbx's commands-options system tests in Fedora CoreOS testing + nodeset: + nodes: + - name: fedora-coreos-testing + label: cloud-fedora-coreos-testing + run: playbooks/system-test-commands-options.yaml + +- job: + name: system-test-fedora-coreos-testing-runtime-environment-arch-fedora + parent: system-test-fedora-coreos + description: Run Toolbx's (arch-fedora,runtime-environment) system tests in Fedora CoreOS testing + nodeset: + nodes: + - name: fedora-coreos-testing + label: cloud-fedora-coreos-testing + run: playbooks/system-test-runtime-environment-arch-fedora.yaml + +- job: + name: system-test-fedora-coreos-testing-runtime-environment-ubuntu + parent: system-test-fedora-coreos + description: Run Toolbx's (runtime-environment,ubuntu) system tests in Fedora CoreOS testing + nodeset: + nodes: + - name: fedora-coreos-testing + label: cloud-fedora-coreos-testing run: playbooks/system-test-runtime-environment-ubuntu.yaml - project: @@ -205,6 +298,15 @@ - system-test-fedora-42-commands-options - system-test-fedora-42-runtime-environment-arch-fedora - system-test-fedora-42-runtime-environment-ubuntu + - system-test-fedora-coreos-next-commands-options + - system-test-fedora-coreos-next-runtime-environment-arch-fedora + - system-test-fedora-coreos-next-runtime-environment-ubuntu + - system-test-fedora-coreos-stable-commands-options + - system-test-fedora-coreos-stable-runtime-environment-arch-fedora + - system-test-fedora-coreos-stable-runtime-environment-ubuntu + - system-test-fedora-coreos-testing-commands-options + - system-test-fedora-coreos-testing-runtime-environment-arch-fedora + - system-test-fedora-coreos-testing-runtime-environment-ubuntu check: jobs: - unit-test @@ -222,6 +324,15 @@ - system-test-fedora-42-commands-options - system-test-fedora-42-runtime-environment-arch-fedora - system-test-fedora-42-runtime-environment-ubuntu + - system-test-fedora-coreos-next-commands-options + - system-test-fedora-coreos-next-runtime-environment-arch-fedora + - system-test-fedora-coreos-next-runtime-environment-ubuntu + - system-test-fedora-coreos-stable-commands-options + - system-test-fedora-coreos-stable-runtime-environment-arch-fedora + - system-test-fedora-coreos-stable-runtime-environment-ubuntu + - system-test-fedora-coreos-testing-commands-options + - system-test-fedora-coreos-testing-runtime-environment-arch-fedora + - system-test-fedora-coreos-testing-runtime-environment-ubuntu gate: jobs: - unit-test @@ -239,3 +350,12 @@ - system-test-fedora-42-commands-options - system-test-fedora-42-runtime-environment-arch-fedora - system-test-fedora-42-runtime-environment-ubuntu + - system-test-fedora-coreos-next-commands-options + - system-test-fedora-coreos-next-runtime-environment-arch-fedora + - system-test-fedora-coreos-next-runtime-environment-ubuntu + - system-test-fedora-coreos-stable-commands-options + - system-test-fedora-coreos-stable-runtime-environment-arch-fedora + - system-test-fedora-coreos-stable-runtime-environment-ubuntu + - system-test-fedora-coreos-testing-commands-options + - system-test-fedora-coreos-testing-runtime-environment-arch-fedora + - system-test-fedora-coreos-testing-runtime-environment-ubuntu diff --git a/playbooks/dependencies-centos-9-stream.yaml b/playbooks/dependencies-centos-9-stream.yaml index 1c6dd3c18..5d4fe373d 100644 --- a/playbooks/dependencies-centos-9-stream.yaml +++ b/playbooks/dependencies-centos-9-stream.yaml @@ -45,26 +45,4 @@ - p11-kit-server state: absent -- 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: rpm -qa ShellCheck bash bash-completion bats codespell *kernel* gcc *glibc* golang golang-github-cpuguy83-md2man shadow-utils-subid-devel podman conmon containernetworking-plugins containers-common container-selinux crun fuse-overlayfs flatpak-session-helper skopeo - -- name: Show podman versions - command: podman version - -- name: Show podman debug information - command: podman info --debug +- include_tasks: dependencies-common.yaml diff --git a/playbooks/dependencies-common.yaml b/playbooks/dependencies-common.yaml new file mode 100644 index 000000000..2e413fb9c --- /dev/null +++ b/playbooks/dependencies-common.yaml @@ -0,0 +1,42 @@ +# +# Copyright © 2026 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: 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: Show os-release(5) + command: cat /etc/os-release + +- name: Check versions of crucial packages + command: rpm -qa ShellCheck bash bash-completion bats codespell *kernel* gcc *glibc* shadow-utils-subid-devel golang golang-github-cpuguy83-md2man podman conmon containernetworking-plugins containers-common container-selinux crun fuse-overlayfs flatpak-session-helper skopeo + +- name: Show podman versions + command: podman version + +- name: Show podman debug information + command: podman info --debug diff --git a/playbooks/dependencies-fedora-coreos.yaml b/playbooks/dependencies-fedora-coreos.yaml new file mode 100644 index 000000000..d676cb9f4 --- /dev/null +++ b/playbooks/dependencies-fedora-coreos.yaml @@ -0,0 +1,53 @@ +# +# Copyright © 2026 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: Synchronize glibc to repo version for gcc/glibc-devel compatibility + become: yes + command: >- + rpm-ostree override replace --experimental --from repo=updates + glibc + glibc-common + glibc-minimal-langpack + glibc-gconv-extra + ignore_errors: yes + +- name: Synchronize shadow-utils to repo version for shadow-utils-subid-devel compatibility + become: yes + command: rpm-ostree override replace --experimental --from repo=updates shadow-utils + ignore_errors: yes + +- name: Apply base package overrides + become: yes + command: rpm-ostree apply-live --allow-replacement + ignore_errors: yes + +- name: Install RPM packages + become: yes + command: >- + rpm-ostree install --allow-inactive --apply-live --assumeyes --idempotent + ShellCheck + bats + codespell + gcc + golang + golang-github-cpuguy83-md2man + httpd-tools + meson + ninja-build + shadow-utils-subid-devel + udisks2 + +- include_tasks: dependencies-common.yaml diff --git a/playbooks/dependencies-fedora.yaml b/playbooks/dependencies-fedora.yaml index d125888b0..eebb2e887 100644 --- a/playbooks/dependencies-fedora.yaml +++ b/playbooks/dependencies-fedora.yaml @@ -48,26 +48,4 @@ update_cache: "{{ true if zuul.attempts > 1 else false }}" use: "{{ 'dnf' if zuul.attempts > 1 else 'auto' }}" -- 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: rpm -qa ShellCheck bash bash-completion bats codespell *kernel* gcc *glibc* shadow-utils-subid-devel golang golang-github-cpuguy83-md2man podman conmon containernetworking-plugins containers-common container-selinux crun fuse-overlayfs flatpak-session-helper skopeo - -- name: Show podman versions - command: podman version - -- name: Show podman debug information - command: podman info --debug +- include_tasks: dependencies-common.yaml