Upgrade CI to 9.6 GA and 10.0 GA (first GA runners for rhel 10) and remove 9.6 and 10.0 nightly runners from the CI.
172 lines
5.3 KiB
YAML
172 lines
5.3 KiB
YAML
stages:
|
|
- init
|
|
- rpmbuild
|
|
- test
|
|
- finish
|
|
|
|
.terraform:
|
|
before_script:
|
|
- schutzbot/ci_details.sh > ci-details-before-run
|
|
- cat schutzbot/team_ssh_keys.txt | tee -a ~/.ssh/authorized_keys > /dev/null
|
|
after_script:
|
|
- schutzbot/ci_details.sh > ci-details-after-run
|
|
- schutzbot/unregister.sh
|
|
tags:
|
|
- terraform
|
|
artifacts:
|
|
paths:
|
|
- ci-details-before-run
|
|
- ci-details-after-run
|
|
|
|
init:
|
|
stage: init
|
|
tags:
|
|
- shell
|
|
script:
|
|
- schutzbot/update_github_status.sh start
|
|
interruptible: true
|
|
|
|
RPM:
|
|
stage: rpmbuild
|
|
extends: .terraform
|
|
script:
|
|
- sh "schutzbot/mockbuild.sh"
|
|
interruptible: true
|
|
parallel:
|
|
matrix:
|
|
- RUNNER:
|
|
- aws/fedora-41-x86_64
|
|
- aws/fedora-41-aarch64
|
|
- aws/fedora-42-x86_64
|
|
- aws/fedora-42-aarch64
|
|
- aws/centos-stream-9-x86_64
|
|
- aws/centos-stream-9-aarch64
|
|
- aws/centos-stream-10-x86_64
|
|
- aws/centos-stream-10-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
|
|
INTERNAL_NETWORK: "true"
|
|
|
|
OSTree Images:
|
|
stage: test
|
|
extends: .terraform
|
|
script:
|
|
- schutzbot/deploy.sh
|
|
- sudo test/cases/ostree-images --manifest "$MANIFEST" --export $EXPORT
|
|
variables:
|
|
RUNNER: aws/fedora-41-x86_64
|
|
parallel:
|
|
matrix:
|
|
- MANIFEST: fedora-ostree-tarball.json
|
|
EXPORT: tarball/fedora-commit.tar
|
|
- MANIFEST: fedora-ostree-container.json
|
|
EXPORT: container/fedora-container.tar
|
|
- MANIFEST: fedora-ostree-native-container.json
|
|
EXPORT: container/ostree-container.tar
|
|
- MANIFEST: fedora-ostree-bootiso.json
|
|
EXPORT: bootiso/fedora-ostree-boot.iso
|
|
- MANIFEST: fedora-ostree-bootiso-xz.json
|
|
EXPORT: bootiso/fedora-ostree-boot.iso
|
|
- MANIFEST: fedora-ostree-image.json
|
|
EXPORT: qcow2/disk.qcow2
|
|
- MANIFEST: fedora-coreos-container.json
|
|
EXPORT: qemu/qemu.qcow2 metal/metal.raw metal4k/metal4k.raw
|
|
- MANIFEST: fedora-ostree-container-dev-null.json
|
|
EXPORT: commit-archive/ostree-commit.tar
|
|
|
|
Manifests:
|
|
stage: test
|
|
extends: .terraform
|
|
script:
|
|
- schutzbot/deploy.sh
|
|
- schutzbot/manifest-tests-install-deps.sh
|
|
- IMAGES_REPO_REF=$(jq -r '.global.dependencies.images.ref' Schutzfile)
|
|
- |
|
|
if [[ -n "$CHUNKS_COUNT" && -n "$CHUNK" ]]; then
|
|
echo "Running manifest tests with $CHUNKS_COUNT chunks, chunk $CHUNK"
|
|
SCRIPT_EXTRA_ARGS="--chunk-size $CHUNK $CHUNKS_COUNT"
|
|
fi
|
|
if [[ -n "$UNSUPPORTED_IMG_TYPES" ]]; then
|
|
echo "Skipping unsupported image types: $UNSUPPORTED_IMG_TYPES"
|
|
SCRIPT_EXTRA_ARGS="$SCRIPT_EXTRA_ARGS --skip-image-type $UNSUPPORTED_IMG_TYPES"
|
|
fi
|
|
if [[ -n "$CONFIG" ]]; then
|
|
echo "Testing only the following manifest generation configs: $CONFIG"
|
|
SCRIPT_EXTRA_ARGS="$SCRIPT_EXTRA_ARGS --config $CONFIG"
|
|
fi
|
|
if [[ -n "$IMAGES_REPO_REF" ]]; then
|
|
echo "Using osbuild/images repo ref: $IMAGES_REPO_REF"
|
|
SCRIPT_EXTRA_ARGS="$SCRIPT_EXTRA_ARGS --images-ref $IMAGES_REPO_REF"
|
|
fi
|
|
if [[ -n "$SCRIPT_EXTRA_ARGS" ]]; then
|
|
echo "Running manifest tests with extra args: $SCRIPT_EXTRA_ARGS"
|
|
fi
|
|
- |
|
|
source /etc/os-release
|
|
if [[ "$ID" == "rhel" || "$ID" == "centos" ]]; then
|
|
export GOFLAGS="-tags=exclude_graphdriver_btrfs"
|
|
fi
|
|
- test/cases/manifest_tests --rm-artifacts-after-test --workdir ./osbuild-manifest-tests-workdir $SCRIPT_EXTRA_ARGS
|
|
variables:
|
|
PYTHONUNBUFFERED: 1
|
|
# List of image types that are not supported by osbuild-image-info
|
|
UNSUPPORTED_IMG_TYPES: "ova *container live-installer wsl"
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- ci-details-before-run
|
|
- ci-details-after-run
|
|
- ./osbuild-manifest-tests-results/
|
|
parallel:
|
|
matrix:
|
|
- RUNNER:
|
|
- aws/fedora-41-x86_64
|
|
- aws/fedora-41-aarch64
|
|
- aws/centos-stream-9-x86_64
|
|
- aws/centos-stream-9-aarch64
|
|
- aws/centos-stream-10-x86_64
|
|
- aws/centos-stream-10-aarch64
|
|
# Test only the following manifest generation configs
|
|
CONFIG: "empty all-customizations"
|
|
CHUNK: [1, 2, 3, 4, 5]
|
|
CHUNKS_COUNT: 5
|
|
- RUNNER:
|
|
- aws/rhel-9.6-ga-x86_64
|
|
- aws/rhel-9.6-ga-aarch64
|
|
- aws/rhel-9.7-nightly-x86_64
|
|
- aws/rhel-9.7-nightly-aarch64
|
|
- aws/rhel-10.0-ga-x86_64
|
|
- aws/rhel-10.0-ga-aarch64
|
|
- aws/rhel-10.1-nightly-x86_64
|
|
- aws/rhel-10.1-nightly-aarch64
|
|
INTERNAL_NETWORK: "true"
|
|
# Test only the following manifest generation configs
|
|
CONFIG: "empty all-customizations"
|
|
CHUNK: [1, 2, 3, 4, 5]
|
|
CHUNKS_COUNT: 5
|
|
|
|
finish:
|
|
stage: finish
|
|
tags:
|
|
- shell
|
|
script:
|
|
- schutzbot/update_github_status.sh finish
|
|
|
|
fail:
|
|
stage: finish
|
|
tags:
|
|
- shell
|
|
script:
|
|
- schutzbot/update_github_status.sh fail
|
|
- exit 1 # make the pipeline fail so it doesn't look like success in gitlab
|
|
when:
|
|
on_failure
|