osbuild/tests/scripts/build-images.sh
Tomáš Hozza 01e2f67db0
Test: rework integration test to run on all supported distros
Previously, the integration test was always skipped in c9s. Rework it to
pick the correct image manifest based on the running distro and build it
using osbuild.

Pick manifests for the latest distro versions from the upstream
osbuild-composer repository. Use qcow2 image with customizations.

Related: rhbz#2132250

Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2023-02-15 11:57:08 +01:00

50 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/bash
set -euxo pipefail
MANIFESTS_DIR=$1
# check that MANIFESTS_DIR is a directory
if [ ! -d "$MANIFESTS_DIR" ]; then
echo "Error: $MANIFESTS_DIR is not a directory"
exit 1
fi
# ensure that we are running on x86_64 architecture
if [ "$(uname -m)" != "x86_64" ]; then
echo "Error: this script is only supported on x86_64 architecture"
exit 1
fi
. /etc/os-release
case "${ID}-${VERSION_ID}" in
"fedora-*")
IMAGE_MANIFEST="${MANIFESTS_DIR}/fedora.json"
;;
"rhel-8.*")
IMAGE_MANIFEST="${MANIFESTS_DIR}/rhel-8.json"
;;
"rhel-9.*")
IMAGE_MANIFEST="${MANIFESTS_DIR}/rhel-9.json"
;;
"centos-8")
IMAGE_MANIFEST="${MANIFESTS_DIR}/centos-8.json"
;;
"centos-9")
IMAGE_MANIFEST="${MANIFESTS_DIR}/centos-9.json"
;;
*)
echo "Error: unsupported OS: ${ID}-${VERSION_ID}"
exit 1
;;
esac
OUTPUT_DIR=/var/tmp/osbuild-output
STORE_DIR=/var/tmp/osbuild-store
sudo mkdir -p "${OUTPUT_DIR}"
sudo mkdir -p "${STORE_DIR}"
# all the images are built with qcow2 format, so export it
EXPORT_PIPELINE="qcow2"
sudo osbuild --output-directory "${OUTPUT_DIR}" --store "${STORE_DIR}" --export "${EXPORT_PIPELINE}" "${IMAGE_MANIFEST}"