ci: use osbuild/containers images

Use the images provided by `osbuild/containers` tagged as GHCI (GitHub
CI). These images are fully under our control, cached on the GitHub
infrastructure, and prepared to run `systemd-nspawn` and friends in a
docker container.

The GHCI infrastructure is versioned. New updates to the CI
infrastructure are not automatically picked up. Instead, the `v1` tag
has to be explicitly redirected to new image builds to deploy them. If
a new deployment causes CI failures, we can simply redirect the `v1` tag
back to the previous image builds and get the previous behavior back.

The `osbuild/containers` repository contains the required
infrastructure for this logic. If new dependencies are required in the
CI environment, the respective Dockerfiles must be updated. As a
temporary workaround (e.g., as part of a PR that introduces this), you
can simply add `dnf install -y <package>` to the required entries in
`.github/workflows/*`.
This commit is contained in:
David Rheinsberg 2020-05-13 14:50:55 +02:00 committed by Tom Gundersen
parent 15e4d0d3a1
commit cd95a8a167

View file

@ -17,24 +17,10 @@ jobs:
steps:
- name: "Clone Repository"
uses: actions/checkout@v2
- name: "Install Dependencies"
run: |
sudo apt-get update
sudo apt-get -y install \
nbd-client \
qemu-utils \
rpm \
systemd-container \
tar \
yum
- name: "Set up Python"
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install Python Packages
run: pip install jsonschema
- name: "Run Pipeline Tests"
run: sudo env "PATH=$PATH" make test-runtime
uses: osbuild/containers/ghci/actions/ghci-osbuild@ghci/v1
with:
run: make test-runtime
noop_pipeline_tests:
name: "Noop-Pipeline Tests"