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>
891 lines
24 KiB
YAML
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
|