test: disable non supported tests

some scripts skip the test if it's not supported for that
distro-version. Disable them in gitlab-ci.yml so we don't waste CI
resources.

To disable them, we are using the `rules` on each job with a regex
pattern. Using `=~` (pattern matches) as a  WHITELIST and `!~` (pattern
does not match) as a BLACKLIST.
This commit is contained in:
Juan Abia 2022-08-09 14:30:36 +02:00 committed by Jakub Rusz
parent 8982ab2018
commit 1873c561cf
14 changed files with 52 additions and 104 deletions

View file

@ -237,26 +237,46 @@ Manifests:
regression-bigiso:
extends: .regression
rules:
# WHITELIST: Run only on x86_64 and rhel like systems
- if: $RUNNER =~ "/^.*(rhel-8.6.*x86_64|rhel-9.0.*x86_64|centos-stream-8.*x86_64|centos-stream-9.*x86_64).*$/" && $CI_PIPELINE_SOURCE != "schedule"
- !reference [.nightly_rules, rules]
variables:
SCRIPT: regression-bigiso.sh
regression-composer-works-behind-satellite-fallback:
extends: .regression
rules:
# BLACKLIST: Skipped on subscribed RHEL machines
- if: $RUNNER !~ "/^.*(rhel-.*-ga|centos).*$/" && $CI_PIPELINE_SOURCE != "schedule"
- !reference [.nightly_rules, rules]
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).*$/" && $CI_PIPELINE_SOURCE != "schedule"
- !reference [.nightly_rules, rules]
variables:
SCRIPT: regression-composer-works-behind-satellite.sh
regression-excluded-dependency:
extends: .regression
rules:
# WHITELIST
- if: $RUNNER =~ "/^.*(rhel-8.6|rhel-9.0|centos-stream-8|centos-stream-9).*$/" && $CI_PIPELINE_SOURCE != "schedule"
- !reference [.nightly_rules, rules]
variables:
SCRIPT: regression-excluded-dependency.sh
regression-include-excluded-packages:
extends: .regression
rules:
# BLACKLIST: Skipped on fedora systems
- if: $RUNNER !~ "/^.*(fedora).*$/" && $CI_PIPELINE_SOURCE != "schedule"
- !reference [.nightly_rules, rules]
variables:
SCRIPT: regression-include-excluded-packages.sh
@ -284,6 +304,10 @@ regression-insecure-repo:
regression-no-explicit-rootfs-definition:
extends: .regression
rules:
# BLACKLIST: Skipped on fedora systems
- if: $RUNNER !~ "/^.*(fedora).*$/" && $CI_PIPELINE_SOURCE != "schedule"
- !reference [.nightly_rules, rules]
variables:
SCRIPT: regression-no-explicit-rootfs-definition.sh
@ -455,7 +479,6 @@ koji.sh (cloud upload):
extends: .terraform
rules:
- !reference [.upstream_rules, rules]
- !reference [.nightly_rules, rules]
script:
- schutzbot/deploy.sh
- /usr/libexec/tests/osbuild-composer/koji.sh cloud-upload ${CLOUD_TARGET} ${IMAGE_TYPE}
@ -498,11 +521,19 @@ azure.sh:
# The required GCE image type is not supported on Fedora
gcp.sh:
extends: .integration_rhel
rules:
# BLACKLIST
- if: $RUNNER !~ "/^.*(rhel-8.7|rhel-9.1).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $NIGHTLY != "true"
- !reference [.nightly_rules, rules]
variables:
SCRIPT: gcp.sh
vmware.sh:
extends: .integration
rules:
# WHITELIST
- if: $RUNNER =~ "/^.*(rhel).*$/" && $CI_PIPELINE_SOURCE != "schedule"
- !reference [.nightly_rules, rules]
variables:
SCRIPT: vmware.sh
@ -574,23 +605,30 @@ libvirt.sh:
variables:
SCRIPT: libvirt.sh
generic_s3_http.sh:
.generic_s3:
extends: .libvirt_integration
rules:
# BLACKLIST
- if: $RUNNER !~ "/^.*(rhel-8.7|rhel-9.1).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $NIGHTLY != "true"
- !reference [.nightly_rules, rules]
generic_s3_http.sh:
extends: .generic_s3
variables:
SCRIPT: generic_s3_http.sh
generic_s3_https_secure.sh:
extends: .libvirt_integration
extends: .generic_s3
variables:
SCRIPT: generic_s3_https_secure.sh
generic_s3_https_insecure.sh:
extends: .libvirt_integration
extends: .generic_s3
variables:
SCRIPT: generic_s3_https_insecure.sh
aws_s3.sh:
extends: .libvirt_integration
extends: .generic_s3
variables:
SCRIPT: aws_s3.sh

View file

@ -2,17 +2,6 @@
source /usr/libexec/osbuild-composer-test/set-env-variables.sh
if [ "${NIGHTLY:=false}" == "true" ]; then
case "${ID}-${VERSION_ID}" in
"rhel-8.7" | "rhel-9.1" )
echo "$0 is not enabled for ${ID}-${VERSION_ID} skipping..."
exit 0
;;
*)
;;
esac
fi
set -euo pipefail
# Container image used for cloud provider CLI tools

View file

@ -9,17 +9,6 @@
source /usr/libexec/osbuild-composer-test/set-env-variables.sh
if [ "${NIGHTLY:=false}" == "true" ]; then
case "${ID}-${VERSION_ID}" in
"rhel-8.7" | "rhel-9.1" )
echo "$0 is not enabled for ${ID}-${VERSION_ID} skipping..."
exit 0
;;
*)
;;
esac
fi
set -euo pipefail
# Colorful output.

View file

@ -2,17 +2,6 @@
source /usr/libexec/osbuild-composer-test/set-env-variables.sh
if [ "${NIGHTLY:=false}" == "true" ]; then
case "${ID}-${VERSION_ID}" in
"rhel-8.7" | "rhel-9.1")
echo "$0 is not enabled for ${ID}-${VERSION_ID} skipping..."
exit 0
;;
*)
;;
esac
fi
set -euo pipefail
# Container images for MinIO Server and Client

View file

@ -13,7 +13,7 @@ function greenprint {
if [ "${NIGHTLY:=false}" == "true" ]; then
greenprint "INFO: Test not supported during nightly CI pipelines. Exiting ..."
exit 0
exit 1
fi
#

View file

@ -91,8 +91,8 @@ case "${ID}-${VERSION_ID}" in
DATASTREAM="/usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml"
;;
*)
echo "$0 is not enabled for ${ID}-${VERSION_ID} skipping..."
exit 0
echo "$0 should be skipped on ${ID}-${VERSION_ID} check gitlab-ci.yml"
exit 1
;;
esac

View file

@ -4,21 +4,6 @@
# Get OS data.
source /usr/libexec/osbuild-composer-test/set-env-variables.sh
case "${ID}-${VERSION_ID}" in
"rhel-8.6" | "rhel-9.0" | "centos-9" | "centos-8")
;;
*)
echo "$0 is not enabled for ${ID}-${VERSION_ID} skipping..."
exit 0
;;
esac
if [ "$ARCH" != "x86_64" ]; then
echo "Workstation group is only available on x86_64"
exit 0
fi
set -xeuo pipefail
function get_build_info() {

View file

@ -40,12 +40,6 @@ function generate_certificates {
source /usr/libexec/osbuild-composer-test/set-env-variables.sh
# Skip if running on subscribed RHEL
if [[ "$ID" == rhel ]] && sudo subscription-manager status; then
echo "This test is skipped on subscribed RHEL machines."
exit 0
fi
# Provision the software under tet.
/usr/libexec/osbuild-composer-test/provision.sh none
@ -72,12 +66,12 @@ case "${ID}" in
;;
*)
echo "Unknown RHEL: ${VERSION_ID}"
exit 0
exit 1
esac
;;
*)
echo "unsupported distro: ${ID}-${VERSION_ID}"
exit 0
echo "$0 should be skipped on ${ID}-${VERSION_ID} check gitlab-ci.yml"
exit 1
esac
function cleanup {

View file

@ -69,12 +69,6 @@ function cleanup {
source /usr/libexec/osbuild-composer-test/set-env-variables.sh
# Skip if running on subscribed RHEL
if [[ "$ID" == rhel ]] && sudo subscription-manager status; then
echo "This test is skipped on subscribed RHEL machines."
exit 0
fi
# Provision the software under tet.
/usr/libexec/osbuild-composer-test/provision.sh none
@ -101,12 +95,12 @@ case "${ID}" in
;;
*)
echo "Unknown RHEL: ${VERSION_ID}"
exit 0
exit 1
esac
;;
*)
echo "unsupported distro: ${ID}-${VERSION_ID}"
exit 0
exit 1
esac
trap cleanup EXIT

View file

@ -14,16 +14,6 @@
# Get OS data.
source /usr/libexec/osbuild-composer-test/set-env-variables.sh
case "${ID}-${VERSION_ID}" in
"rhel-8.6" | "rhel-9.0" | "centos-9" | "centos-8")
;;
*)
echo "$0 is not enabled for ${ID}-${VERSION_ID} skipping..."
exit 0
;;
esac
set -xeuo pipefail
function get_build_info() {

View file

@ -16,11 +16,6 @@ set -xeuo pipefail
source /usr/libexec/osbuild-composer-test/set-env-variables.sh
if [[ "${ID}" == "fedora" ]]; then
echo "$0 is only enabled for rhel like systems; skipping..."
exit 0
fi
# Provision the software under test.
/usr/libexec/osbuild-composer-test/provision.sh none
BLUEPRINT_FILE=/tmp/blueprint.toml

View file

@ -5,15 +5,6 @@
# Get OS data.
source /usr/libexec/osbuild-composer-test/set-env-variables.sh
case "${ID}-${VERSION_ID}" in
"fedora-"*)
echo "$0 is not enabled for ${ID}-${VERSION_ID} skipping..."
exit 0
;;
*)
;;
esac
set -xeuo pipefail
# Provision the software under test.

View file

@ -19,7 +19,7 @@ source /usr/libexec/osbuild-composer-test/set-env-variables.sh
# Only run this on x86 and rhel8 GA
if [ "$ARCH" != "x86_64" ] || [ "$ID" != rhel ] || ! sudo subscription-manager status; then
echo "Test only supported on GA RHEL."
exit 0
exit 1
fi
# Provision the software under test.

View file

@ -25,12 +25,6 @@ function get_build_info() {
jq -r "${key}" "${fname}"
}
if [ "$ID" != "rhel" ]; then
greenprint "VMware test not supported on $ID"
exit 0
fi
# Provision the software under test.
/usr/libexec/osbuild-composer-test/provision.sh none