debian-forge-composer/.gitlab-ci.yml
Tomáš Hozza eb2e4715b9 Test: remove image_tests.sh
The image_tests.sh test case is being run only as part of the RHEL
nightly pipeline. This test case evolved over the years. In principle
it can do the following:
 1. Read test cases from /test/data/manifests.
 2. Rebuild the manifest attached to the test case directly by running
    osbuild.
 3. Compare the image-info report if attached to the test case (NOT
    done for any test cases in /test/data/manifests).
 4. Boot-test the built image in the respective environment (NOT done
    for any test cases in /test/data/manifests).

Moreover, these manifests (or test cases) are not updated regularly
after being generated for the first time.

All in all, given the fact that the test case rebuilds outdated
manifests by directly calling osbuild and does not run any additional
tests, it adds no value compared to the osbuild/images CI.
osbuild/images CI always rebuilds the latest image definition version
manifests with osbuild, so at the time the library is updated in
osbuild-composer, this scenario has already been tested.

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2025-08-07 10:22:55 +02:00

891 lines
24 KiB
YAML

stages:
- init
- rpmbuild
- prepare-rhel-internal
- test
- finish
.base:
before_script:
- mkdir -p /tmp/artifacts
- schutzbot/ci_details.sh > /tmp/artifacts/ci-details-before-run.txt
- cat schutzbot/team_ssh_keys.txt | tee -a ~/.ssh/authorized_keys > /dev/null
# workaround bug https://issues.redhat.com/browse/RHEL-17890
- sudo dnf upgrade -y nettle
after_script:
- schutzbot/ci_details.sh > /tmp/artifacts/ci-details-after-run.txt || true
- schutzbot/unregister.sh || true
- schutzbot/update_github_status.sh update || true
- schutzbot/save_journal.sh || true
- schutzbot/upload_artifacts.sh
interruptible: true
retry: 1
tags:
- terraform
artifacts:
paths:
- "*.repo"
- COMPOSER_NVR
when: always
.terraform:
extends: .base
tags:
- terraform
.terraform/openstack:
extends: .base
tags:
- terraform/openstack
.terraform/gcp:
extends: .base
tags:
- terraform/gcp
init:
stage: init
interruptible: true
tags:
- shell
script:
- schutzbot/update_github_status.sh start
.build_rules:
rules:
- if: '$CI_PIPELINE_SOURCE != "schedule" && $SKIP_CI == "false"'
- if: '$CI_PIPELINE_SOURCE != "schedule" && $SKIP_CI == "true"'
when: manual
.upstream_rules_all:
rules:
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/'
.upstream_rules_x86_64:
rules:
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER =~ "/^.*(x86_64).*$/" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/'
.upstream_and_ga_rules_all:
rules:
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER'
.nightly_rules_all:
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.7-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-10.1-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "10"'
.nightly_rules_x86_64:
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.7-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-10.1-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "10"'
.ga_rules_all:
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $NIGHTLY == "false"'
.ga_rules_x86_64:
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "false"'
.RPM_RUNNERS_RHEL: &RPM_RUNNERS_RHEL
RUNNER:
- aws/rhel-9.7-nightly-x86_64
- aws/rhel-9.7-nightly-aarch64
- aws/rhel-10.1-nightly-x86_64
- aws/rhel-10.1-nightly-aarch64
INTERNAL_NETWORK: ["true"]
RPM:
stage: rpmbuild
extends: .terraform
rules:
- !reference [.build_rules, rules]
- !reference [.ga_rules_all, rules]
script:
- sh "schutzbot/mockbuild.sh"
parallel:
matrix:
- RUNNER:
- aws/fedora-41-x86_64
- aws/fedora-41-aarch64
- aws/fedora-42-x86_64
- aws/fedora-42-aarch64
- aws/rhel-8.10-ga-x86_64
- aws/rhel-8.10-ga-aarch64
- aws/rhel-9.6-ga-x86_64
- aws/rhel-9.6-ga-aarch64
- aws/rhel-10.0-ga-x86_64
- aws/rhel-10.0-ga-aarch64
- aws/centos-stream-9-x86_64
- aws/centos-stream-9-aarch64
- aws/centos-stream-10-x86_64
- aws/centos-stream-10-aarch64
- <<: *RPM_RUNNERS_RHEL
Build -tests RPM for RHEL:
stage: rpmbuild
extends: .terraform
rules:
- !reference [.nightly_rules_all, rules]
script:
- sh "schutzbot/mockbuild.sh"
interruptible: true
after_script:
- schutzbot/update_github_status.sh update
- schutzbot/save_journal.sh
parallel:
matrix:
- <<: *RPM_RUNNERS_RHEL
Container:
stage: rpmbuild
extends: .terraform
rules:
- !reference [.upstream_and_ga_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- sh "schutzbot/containerbuild.sh"
parallel:
matrix:
- RUNNER:
- aws/rhel-8.10-ga-x86_64
Packer:
stage: test
extends: .terraform
rules:
- !reference [.upstream_and_ga_rules_all, rules]
script:
- tools/ci-build-worker-packer.sh
variables:
RUNNER: aws/rhel-9.6-ga-x86_64
Prepare-rhel-internal:
stage: prepare-rhel-internal
extends: .terraform
rules:
- !reference [.nightly_rules_all, rules]
script:
- schutzbot/prepare-rhel-internal.sh
artifacts:
paths:
- rhel-${RHEL_MAJOR}.json
- rhel${RHEL_MAJOR}internal.repo
- COMPOSE_ID
parallel:
matrix:
- RUNNER:
# NOTE: 1 runner prepares for all arches b/c subsequent jobs download
# artifacts from all previous jobs and the last one wins
- aws/rhel-9.7-nightly-x86_64
- aws/rhel-10.1-nightly-x86_64
INTERNAL_NETWORK: ["true"]
Base:
stage: test
extends: .terraform
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/base_tests.sh
parallel:
matrix:
- RUNNER:
- aws/fedora-41-x86_64
- aws/fedora-41-aarch64
- aws/rhel-8.10-ga-x86_64
- aws/rhel-8.10-ga-aarch64
- aws/rhel-9.6-ga-x86_64
- aws/rhel-9.6-ga-aarch64
- aws/rhel-10.0-ga-x86_64
- aws/rhel-10.0-ga-aarch64
- RUNNER:
- aws/rhel-9.7-nightly-x86_64
- aws/rhel-9.7-nightly-aarch64
- aws/rhel-10.1-nightly-x86_64
- aws/rhel-10.1-nightly-aarch64
- aws/centos-stream-9-x86_64
- aws/centos-stream-9-aarch64
- aws/centos-stream-10-x86_64
- aws/centos-stream-10-aarch64
INTERNAL_NETWORK: ["true"]
.regression:
stage: test
extends: .terraform
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/${SCRIPT}
parallel:
matrix:
- RUNNER:
- aws/fedora-41-x86_64
- aws/fedora-41-aarch64
- RUNNER:
- aws/rhel-8.10-ga-x86_64
- aws/rhel-8.10-ga-aarch64
- aws/rhel-9.6-ga-x86_64
- aws/rhel-9.6-ga-aarch64
- aws/rhel-10.0-ga-x86_64
- aws/rhel-10.0-ga-aarch64
- aws/rhel-9.7-nightly-x86_64
- aws/rhel-9.7-nightly-aarch64
- aws/rhel-10.1-nightly-x86_64
- aws/rhel-10.1-nightly-aarch64
- aws/centos-stream-9-x86_64
- aws/centos-stream-9-aarch64
- aws/centos-stream-10-x86_64
- aws/centos-stream-10-aarch64
INTERNAL_NETWORK: ["true"]
regression-composer-works-behind-satellite-fallback:
extends: .regression
rules:
# WHITELIST: Run on RHEL-nightly only
- if: $RUNNER =~ "/^.*(rhel-.*-nightly).*$/" && $CI_PIPELINE_SOURCE != "schedule"
variables:
SCRIPT: regression-composer-works-behind-satellite-fallback.sh
regression-composer-works-behind-satellite:
extends: .regression
rules:
# WHITELIST: Run on RHEL-nightly only
- if: $RUNNER =~ "/^.*(rhel-.*-nightly).*$/" && $CI_PIPELINE_SOURCE != "schedule"
variables:
SCRIPT: regression-composer-works-behind-satellite.sh
regression-excluded-dependency:
extends: .regression
rules:
# WHITELIST & BLACKLIST: excluding GA runners from the PR pipeline
- if: $RUNNER =~ "/^.*(rhel-8.*|rhel-9.*|centos-stream-*).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
variables:
SCRIPT: regression-excluded-dependency.sh
regression-include-excluded-packages:
extends: .regression
rules:
# BLACKLIST: Skipped on fedora systems & excluding GA runners from the PR pipeline
- if: $RUNNER !~ "/^.*(fedora).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
variables:
SCRIPT: regression-include-excluded-packages.sh
regression-old-worker-new-composer:
rules:
- !reference [.upstream_and_ga_rules_all, rules]
- !reference [.ga_rules_all, rules]
parallel:
matrix:
- RUNNER:
- aws/rhel-8.10-ga-x86_64
- aws/rhel-9.6-ga-x86_64
- aws/rhel-10.0-ga-x86_64
INTERNAL_NETWORK: ["true"]
extends: .regression
variables:
SCRIPT: regression-old-worker-new-composer.sh
regression-insecure-repo:
extends: .regression
rules:
# WHITELIST & BLACKLIST: excluding GA runners from the PR pipeline
- if: $RUNNER =~ "/^.*(rhel-*).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
variables:
SCRIPT: regression-insecure-repo.sh
regression-no-explicit-rootfs-definition:
extends: .regression
rules:
# BLACKLIST: Skipped on fedora systems & excluding GA runners from the PR pipeline
- if: $RUNNER !~ "/^.*(fedora).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
variables:
SCRIPT: regression-no-explicit-rootfs-definition.sh
# NB (thozza): The rhel-edge-ci job is currently disabled because the tests have been consistently failing for a while.
# The tests need to be investigated and fixed before re-enabling the job.
# See https://issues.redhat.com/browse/HMS-8719
# Trigger-rhel-edge-ci:
# rules:
# - if: '$CI_PIPELINE_SOURCE != "schedule"'
# stage: test
# interruptible: true
# tags:
# - shell
# script:
# - 'curl -u "${SCHUTZBOT_LOGIN}" -X POST -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/osbuild/rhel-edge-ci/dispatches -d "{\"event_type\":\"osbuild-composer-ci\",\"client_payload\":{\"pr_number\":\"${CI_COMMIT_BRANCH}\"}}"'
.integration_base:
stage: test
extends: .terraform
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/${SCRIPT}
.rhel_runners: &rhel_runners
RUNNER:
- aws/rhel-8.10-ga-x86_64
- aws/rhel-9.6-ga-x86_64
- aws/rhel-10.0-ga-x86_64
- aws/rhel-9.7-nightly-x86_64
- aws/rhel-10.1-nightly-x86_64
- aws/centos-stream-9-x86_64
- aws/centos-stream-10-x86_64
INTERNAL_NETWORK: ["true"]
.integration_rhel:
extends: .integration_base
parallel:
matrix:
- *rhel_runners
.fedora_runners: &fedora_runners
RUNNER:
- aws/fedora-41-x86_64
.integration_fedora:
extends: .integration_base
parallel:
matrix:
- *fedora_runners
.integration:
extends: .integration_base
parallel:
matrix:
- *fedora_runners
- *rhel_runners
koji.sh (cloud upload):
stage: test
extends: .terraform
rules:
- !reference [.upstream_and_ga_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/koji.sh cloud-upload ${CLOUD_TARGET} ${IMAGE_TYPE}
parallel:
matrix:
- RUNNER:
- aws/rhel-9.6-ga-x86_64
INTERNAL_NETWORK: ["true"]
CLOUD_TARGET: aws
IMAGE_TYPE: aws-rhui
- RUNNER:
- aws/rhel-9.6-ga-x86_64
INTERNAL_NETWORK: ["true"]
CLOUD_TARGET: azure
IMAGE_TYPE: azure-rhui
- RUNNER:
- aws/rhel-9.6-ga-x86_64
INTERNAL_NETWORK: ["true"]
CLOUD_TARGET: gcp
IMAGE_TYPE: gcp-rhui
koji.sh (cloudapi):
extends: .integration
# Not supported in nightly pipelines
rules:
- !reference [.upstream_and_ga_rules_all, rules]
- !reference [.ga_rules_all, rules]
variables:
SCRIPT: koji.sh
parallel:
matrix:
- *fedora_runners
- RUNNER:
- aws/rhel-9.6-ga-x86_64
INTERNAL_NETWORK: ["true"]
aws.sh:
extends: .integration
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
variables:
SCRIPT: aws.sh
oci.sh:
extends: .integration
rules:
# Run only on x86_64
- !reference [.upstream_rules_x86_64, rules]
- !reference [.ga_rules_x86_64, rules]
variables:
SCRIPT: oci.sh
OpenShift_Virtualization:
extends: .integration_rhel
rules:
- !reference [.nightly_rules_x86_64, rules]
variables:
SCRIPT: openshift_virtualization.sh
parallel:
matrix:
- RUNNER:
- aws/rhel-9.7-nightly-x86_64
- aws/rhel-10.1-nightly-x86_64
INTERNAL_NETWORK: ["true"]
azure.sh:
extends: .integration
rules:
# Run only on x86_64
- !reference [.upstream_rules_x86_64, rules]
- !reference [.nightly_rules_x86_64, rules]
- !reference [.ga_rules_x86_64, rules]
variables:
SCRIPT: azure.sh
azure.sh_hyperv_gen2:
extends: .integration
rules:
# Run only on x86_64
- !reference [.upstream_rules_x86_64, rules]
- !reference [.nightly_rules_x86_64, rules]
- !reference [.ga_rules_x86_64, rules]
variables:
SCRIPT: azure_hyperv_gen2.sh
# The required GCE image type is not supported on Fedora
gcp.sh:
extends: .integration_rhel
rules:
- !reference [.upstream_rules_x86_64, rules]
- !reference [.nightly_rules_x86_64, rules]
- !reference [.ga_rules_x86_64, rules]
variables:
SCRIPT: gcp.sh
# NOTE(akoutsou): The vmware tests are consistently failing. While the
# build succeeds, the upload fails with:
# Unable to protect host, if the host isn't running as part of an
# autoscaling group, this can safely be ignored: operation error Auto
# Scaling: DescribeAutoScalingInstances, get identity: get credentials:
# failed to refresh cached credentials, no EC2 IMDS role found, operation
# error ec2imds: GetMetadata, http response error StatusCode: 404, request
# to EC2 IMDS failed
# Disabling the test until we have time to look into it furhter.
# vmware.sh_vmdk:
# extends: .integration_rhel
# rules:
# # Run only on x86_64
# - !reference [.upstream_rules_x86_64, rules]
# - !reference [.nightly_rules_x86_64, rules]
# - !reference [.ga_rules_x86_64, rules]
# variables:
# SCRIPT: vmware.sh vmdk
# vmware.sh_ova:
# extends: .integration_rhel
# rules:
# # Run only on x86_64
# - !reference [.upstream_rules_x86_64, rules]
# - !reference [.nightly_rules_x86_64, rules]
# - !reference [.ga_rules_x86_64, rules]
# variables:
# SCRIPT: vmware.sh ova
filesystem.sh:
extends: .integration
parallel:
matrix:
- CUSTOMIZATION_TYPE: "disk-btrfs"
RUNNER:
- aws/fedora-42-x86_64
- CUSTOMIZATION_TYPE: "filesystem"
RUNNER:
- aws/rhel-8.10-ga-x86_64
INTERNAL_NETWORK: ["true"]
- CUSTOMIZATION_TYPE: "disk-plain"
RUNNER:
- aws/rhel-9.6-ga-x86_64
- aws/rhel-10.0-ga-x86_64
- aws/rhel-10.1-nightly-x86_64
INTERNAL_NETWORK: ["true"]
- CUSTOMIZATION_TYPE: "disk-lvm"
RUNNER:
- aws/rhel-9.7-nightly-x86_64
INTERNAL_NETWORK: ["true"]
- CUSTOMIZATION_TYPE: "disk-lvm"
RUNNER:
- aws/centos-stream-9-x86_64
- CUSTOMIZATION_TYPE: "filesystem"
RUNNER:
- aws/centos-stream-10-x86_64
variables:
SCRIPT: filesystem.sh ${CUSTOMIZATION_TYPE}
cross-distro.sh:
extends: .integration
variables:
SCRIPT: cross-distro.sh
.API_TESTS: &API_TESTS
IMAGE_TYPE:
- aws
- azure
- edge-commit
- gcp
- vsphere
- edge-commit generic.s3
- edge-container
- oci
API:
stage: test
extends: .terraform
rules:
- !reference [.upstream_and_ga_rules_all, rules]
- !reference [.ga_rules_all, rules]
# note: cloud API is not supported for on-prem installations so
# don't run this test case for nightly trees
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/api.sh ${IMAGE_TYPE}
parallel:
matrix:
- <<: *API_TESTS
RUNNER:
- aws/rhel-8.10-ga-x86_64
- aws/rhel-9.6-ga-x86_64
- aws/rhel-9.7-nightly-x86_64
INTERNAL_NETWORK: ["true"]
# el10 supports only a subset of image types
# Edge is not supported anymore for RHEL 10 (no edge-commit, edge-commit generic.s3, edge-container)
- IMAGE_TYPE:
- aws
- azure
- gcp
- oci
- vsphere
RUNNER:
# Add all RHEL 10 runners here to exclude Edge for them
- aws/rhel-10.0-ga-x86_64
- aws/rhel-10.1-nightly-x86_64
INTERNAL_NETWORK: ["true"]
- IMAGE_TYPE: ["iot-commit"]
RUNNER:
- aws/fedora-41-x86_64
- IMAGE_TYPE: ["iot-bootable-container"]
RUNNER:
- aws/fedora-41-x86_64
- aws/fedora-41-aarch64
- IMAGE_TYPE: ["aws"]
RUNNER:
- aws/rhel-8.10-ga-aarch64
- aws/rhel-9.6-ga-aarch64
- aws/rhel-10.0-ga-aarch64
INTERNAL_NETWORK: ["true"]
API-module-hotfixes:
stage: test
extends: .terraform
rules:
- !reference [.upstream_and_ga_rules_all, rules]
- !reference [.ga_rules_all, rules]
# note: cloud API is not supported for on-prem installations so
# don't run this test case for nightly trees
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/api.sh "${IMAGE_TYPE}"
parallel:
matrix:
- IMAGE_TYPE:
- aws
RUNNER:
- aws/rhel-8.10-ga-x86_64
- aws/rhel-8.10-ga-aarch64
INTERNAL_NETWORK: ["true"]
TEST_MODULE_HOTFIXES: [1]
- IMAGE_TYPE:
- vsphere
RUNNER:
- aws/rhel-8.10-ga-x86_64
INTERNAL_NETWORK: ["true"]
TEST_MODULE_HOTFIXES: [1]
.libvirt_integration:
stage: test
extends: .terraform/gcp
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/${SCRIPT}
parallel:
matrix:
- RUNNER:
- rhos-01/fedora-42-x86_64
- RUNNER:
- gcp/rhel-8.10-ga-x86_64
- gcp/rhel-9.6-ga-x86_64
- gcp/rhel-10.0-ga-x86_64
- gcp/rhel-9.7-nightly-x86_64
# TODO: replace the rhos-01 runner with this gcp runner once it's available
# - gcp/rhel-10.0-nightly-x86_64
- rhos-01/rhel-10.1-nightly-x86_64
- gcp/centos-stream-9-x86_64
INTERNAL_NETWORK: ["true"]
libvirt.sh:
extends: .libvirt_integration
variables:
SCRIPT: libvirt.sh
ubi-wsl.sh:
stage: test
extends: .terraform
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/ubi-wsl.sh
parallel:
matrix:
- RUNNER:
- aws/rhel-8.10-ga-x86_64
- aws/rhel-9.6-ga-x86_64
- aws/rhel-10.0-ga-x86_64
- aws/rhel-10.1-nightly-x86_64
INTERNAL_NETWORK: "true"
weldr-distro-dot-notation+aliases:
stage: test
extends: .terraform
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/weldr-distro-dot-notation-and-aliases.sh
parallel:
matrix:
- RUNNER:
- aws/rhel-8.8-ga-x86_64
- aws/rhel-9.7-nightly-x86_64
INTERNAL_NETWORK: ["true"]
.generic_s3:
extends: .libvirt_integration
rules:
# BLACKLIST
- if: $RUNNER !~ "/^.*(rhel-9.7).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $NIGHTLY != "true" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
generic_s3_http.sh:
extends: .generic_s3
variables:
SCRIPT: generic_s3_http.sh
generic_s3_https_secure.sh:
extends: .generic_s3
variables:
SCRIPT: generic_s3_https_secure.sh
generic_s3_https_insecure.sh:
extends: .generic_s3
variables:
SCRIPT: generic_s3_https_insecure.sh
aws_s3.sh:
extends: .generic_s3
variables:
SCRIPT: aws_s3.sh
RHEL 8 on 9 (Koji):
stage: test
extends: .terraform
rules:
- !reference [.upstream_and_ga_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/koji.sh
variables:
RUNNER: aws/rhel-9.6-ga-x86_64
INTERNAL_NETWORK: "true"
DISTRO_CODE: rhel-8.10
RHEL 10 on 9 (Koji):
stage: test
extends: .terraform
rules:
- !reference [.upstream_and_ga_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/koji.sh
variables:
RUNNER: aws/rhel-9.6-ga-x86_64
INTERNAL_NETWORK: "true"
DISTRO_CODE: rhel-10.1
Multi-tenancy:
stage: test
extends: .terraform
rules:
- if: '$CI_PIPELINE_SOURCE != "schedule"'
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/multi-tenancy.sh
variables:
RUNNER: aws/rhel-8.10-ga-x86_64
INTERNAL_NETWORK: "true"
Upgrade:
stage: test
extends: .terraform/openstack
rules:
- !reference [.nightly_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/rhel-upgrade.sh
parallel:
matrix:
- RUNNER:
- rhos-01/rhel-9.7-nightly-x86_64-large
- rhos-01/rhel-10.1-nightly-x86_64-large
NIGHTLY_FAIL:
stage: finish
tags:
- shell
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $NIGHTLY == "true"'
when: on_failure
script:
- schutzbot/slack_notification.sh FAILED ":big-sad:" nightly
NIGHTLY_SUCCESS:
stage: finish
tags:
- shell
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $NIGHTLY == "true"'
script:
- schutzbot/slack_notification.sh SUCCESS ":partymeow:" nightly
GA_FAIL:
stage: finish
tags:
- shell
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $NIGHTLY== "false"'
when: on_failure
script:
- schutzbot/slack_notification.sh FAILED ":big-sad:" ga
GA_SUCCESS:
stage: finish
tags:
- shell
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $NIGHTLY== "false"'
script:
- schutzbot/slack_notification.sh SUCCESS ":partymeow:" ga
Installer:
stage: test
extends: .terraform/openstack
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/installers.sh
parallel:
matrix:
- RUNNER:
- rhos-01/rhel-9.7-nightly-x86_64
- rhos-01/centos-stream-9-x86_64
# NB (thozza): The test is disabled for RHEL 10.1 due to https://issues.redhat.com/browse/RHEL-96222
# Re-enable it once kernel-6.12.0-97.el10 lands in the repositories.
# See https://issues.redhat.com/browse/HMS-8718
# - rhos-01/rhel-10.1-nightly-x86_64
# - rhos-01/centos-stream-10-x86_64
ContainerUpload:
stage: test
extends: .terraform
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/container-upload.sh
parallel:
matrix:
- RUNNER:
- aws/fedora-41-x86_64
ContainerEmbedding:
stage: test
extends: .terraform
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.nightly_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/container-embedding.sh
parallel:
matrix:
- INTERNAL_NETWORK: "true"
RUNNER:
- aws/centos-stream-9-x86_64
- aws/centos-stream-10-x86_64
- aws/rhel-9.7-nightly-x86_64
- aws/rhel-10.1-nightly-x86_64
WorkerExecutor:
stage: test
extends: .terraform
rules:
- !reference [.upstream_rules_all, rules]
- !reference [.ga_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/worker-executor.sh
variables:
RUNNER: aws/fedora-41-x86_64
IAM_INSTANCE_PROFILE: worker-executor
finish:
stage: finish
dependencies: []
tags:
- shell
script:
- schutzbot/update_github_status.sh finish