debian-forge-composer/.gitlab-ci.yml
2024-08-12 08:39:05 +03:00

851 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.5-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-10.0-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "10"'
.nightly_rules_x86_64:
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.5-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-10.0-[^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.5-nightly-x86_64
- aws/rhel-9.5-nightly-aarch64
- aws/rhel-10.0-nightly-x86_64
- aws/rhel-10.0-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-39-x86_64
- aws/fedora-39-aarch64
- aws/fedora-40-x86_64
- aws/fedora-40-aarch64
- aws/rhel-8.10-ga-x86_64
- aws/rhel-8.10-ga-aarch64
- aws/rhel-9.4-ga-x86_64
- aws/rhel-9.4-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]
- !reference [.ga_rules_all, rules]
script:
- tools/ci-build-worker-packer.sh
variables:
RUNNER: aws/rhel-9.4-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.5-nightly-x86_64
- aws/rhel-10.0-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-39-x86_64
- aws/fedora-39-aarch64
- aws/rhel-8.10-ga-x86_64
- aws/rhel-8.10-ga-aarch64
- aws/rhel-9.4-ga-x86_64
- aws/rhel-9.4-ga-aarch64
- RUNNER:
- aws/rhel-9.5-nightly-x86_64
- aws/rhel-9.5-nightly-aarch64
- aws/rhel-10.0-nightly-x86_64
- aws/rhel-10.0-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-39-x86_64
- aws/fedora-39-aarch64
- RUNNER:
- aws/rhel-8.10-ga-x86_64
- aws/rhel-8.10-ga-aarch64
- aws/rhel-9.4-ga-x86_64
- aws/rhel-9.4-ga-aarch64
- aws/rhel-9.5-nightly-x86_64
- aws/rhel-9.5-nightly-aarch64
- aws/rhel-10.0-nightly-x86_64
- aws/rhel-10.0-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:
# BLACKLIST: Skipped on subscribed RHEL machines
- if: $RUNNER !~ "/^.*(rhel-.*-ga|centos|fedora).*$/" && $RUNNER !~ "/^.*(rhel-9.5|rhel-10.0).*$/" && $CI_PIPELINE_SOURCE != "schedule"
variables:
SCRIPT: regression-composer-works-behind-satellite-fallback.sh
regression-composer-works-behind-satellite:
extends: .regression
rules:
# BLACKLIST: Skipped on subscribed RHEL machines
- if: $RUNNER !~ "/^.*(rhel-.*-ga|centos|fedora).*$/" && $RUNNER !~ "/^.*(rhel-9.5|rhel-10.0).*$/" && $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.4-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
Image Tests:
stage: test
extends: .terraform
rules:
- !reference [.nightly_rules_all, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/image_tests.sh
parallel:
matrix:
- RUNNER:
- aws/rhel-8.10-ga-x86_64
- aws/rhel-8.10-ga-aarch64
- aws/rhel-9.5-nightly-x86_64
- aws/rhel-9.5-nightly-aarch64
- aws/rhel-10.0-nightly-x86_64
- aws/rhel-10.0-nightly-aarch64
INTERNAL_NETWORK: ["true"]
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.4-ga-x86_64
- aws/rhel-9.5-nightly-x86_64
- aws/rhel-10.0-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-39-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-8.10-ga-x86_64
- aws/rhel-9.4-ga-x86_64
INTERNAL_NETWORK: ["true"]
CLOUD_TARGET: aws
IMAGE_TYPE: aws-rhui
- RUNNER:
- aws/rhel-8.10-ga-x86_64
- aws/rhel-9.4-ga-x86_64
INTERNAL_NETWORK: ["true"]
CLOUD_TARGET: azure
IMAGE_TYPE: azure-rhui
- RUNNER:
- aws/rhel-8.10-ga-x86_64
- aws/rhel-9.4-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-8.10-ga-x86_64
- aws/rhel-9.4-ga-x86_64
INTERNAL_NETWORK: ["true"]
aws.sh:
extends: .integration
rules:
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.5-[^ga][\S]+/ && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
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.5-nightly-x86_64
- aws/rhel-10.0-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:
# Temporarily disabled for RHEL-10 and Centos-10
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER =~ "/^.*(x86_64).*$/" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $RUNNER !~ "/^.*(rhel-10.0-nightly|centos-stream-10).*$/"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.5-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
# - !reference [.upstream_rules_x86_64, rules]
# - !reference [.nightly_rules_x86_64, rules]
- !reference [.ga_rules_x86_64, rules]
variables:
SCRIPT: gcp.sh
vmware.sh_vmdk:
extends: .integration_rhel
rules:
# Run only on x86_64
# Temporarily disabled for RHEL-10 and Centos-10
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER =~ "/^.*(x86_64).*$/" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $RUNNER !~ "/^.*(rhel-10.0-nightly|centos-stream-10).*$/"'
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.5-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
# - !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
# Temporarily disabled for RHEL-10 and Centos-10
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER =~ "/^.*(x86_64).*$/" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $RUNNER !~ "/^.*(rhel-10.0-nightly|centos-stream-10).*$/"'
# - !reference [.upstream_rules_x86_64, rules]
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.5-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
# - !reference [.nightly_rules_x86_64, rules]
- !reference [.ga_rules_x86_64, rules]
variables:
SCRIPT: vmware.sh ova
filesystem.sh:
extends: .integration
parallel:
matrix:
- RUNNER:
- aws/fedora-40-x86_64
- *rhel_runners
variables:
SCRIPT: filesystem.sh
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.4-ga-x86_64
- aws/rhel-9.5-nightly-x86_64
INTERNAL_NETWORK: ["true"]
# el10 for now supports only a subset of image types
- IMAGE_TYPE:
- aws
- azure
RUNNER:
- aws/rhel-10.0-nightly-x86_64
INTERNAL_NETWORK: ["true"]
- IMAGE_TYPE: ["iot-commit"]
RUNNER:
- aws/fedora-39-x86_64
- IMAGE_TYPE: ["iot-bootable-container"]
RUNNER:
- aws/fedora-39-x86_64
- aws/fedora-39-aarch64
- IMAGE_TYPE: ["aws"]
RUNNER:
- aws/rhel-8.10-ga-aarch64
- aws/rhel-9.4-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-40-x86_64
- RUNNER:
- gcp/rhel-8.10-ga-x86_64
- gcp/rhel-9.4-ga-x86_64
- gcp/rhel-9.5-nightly-x86_64
# TODO: uncomment when there is el10 GCE image
# - gcp/rhel-10.0-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.4-ga-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.5-nightly-x86_64
INTERNAL_NETWORK: ["true"]
.generic_s3:
extends: .libvirt_integration
rules:
# BLACKLIST
- if: $RUNNER !~ "/^.*(rhel-9.5).*$/" && $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 9 on 8:
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-8.10-ga-x86_64
INTERNAL_NETWORK: "true"
DISTRO_CODE: rhel-91
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/upgrade8to9.sh
variables:
RUNNER: rhos-01/rhel-9.5-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.5-nightly-x86_64
- rhos-01/centos-stream-9-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-39-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.5-nightly-x86_64
- aws/rhel-10.0-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-39-x86_64
IAM_INSTANCE_PROFILE: worker-executor
finish:
stage: finish
dependencies: []
tags:
- shell
script:
- schutzbot/update_github_status.sh finish