Smoke test creation of Gentoo OpenStack images #1672
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Smoke test creation of Gentoo OpenStack images | |
on: | |
pull_request: | |
push: | |
schedule: | |
- cron: '0 16 * * 5' # Every Friday 4pm | |
jobs: | |
install_and_run: | |
name: Smoke test creation of Gentoo OpenStack images | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout Git repository | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Cache pip | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: 3.8 | |
- name: Install | |
run: |- | |
sudo pip3 install \ | |
--disable-pip-version-check \ | |
. | |
- name: Install runtime dependencies | |
run: |- | |
sudo apt-get update | |
sudo apt-get install --no-install-recommends --yes \ | |
kpartx \ | |
qemu-utils | |
- name: Smoke test creation of Gentoo OpenStack images | |
run: |- | |
cd /tmp # to not be in Git clone folder | |
image-bootstrap --help ; echo | |
image-bootstrap gentoo --help ; echo | |
free -g | |
df -H | |
truncate --size 7g /tmp/disk | |
LOOP_DEV="$(sudo losetup --show --find -f /tmp/disk | tee /dev/stderr)" | |
echo "LOOP_DEV=${LOOP_DEV}" >> "${GITHUB_ENV}" | |
sudo PYTHONUNBUFFERED=1 image-bootstrap --verbose --debug --openstack gentoo ${LOOP_DEV} | |
- name: Create .qcow2 image from loop device | |
run: |- | |
set -eux | |
git fetch --force --tags --unshallow origin # for "git describe" | |
img_base_name="gentoo-openstack-$(date '+%Y-%m-%d-%H-%M')-image-bootstrap-$(git describe --tags).qcow2" | |
sudo qemu-img convert -f raw -O qcow2 "${LOOP_DEV}" "${img_base_name}" | |
ls -lh "${img_base_name}" | |
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 | |
with: | |
name: gentoo-openstack-qcow2 | |
path: '*.qcow2' | |
if-no-files-found: error |