mirror of
https://github.com/containers/bootc.git
synced 2026-02-05 15:45:53 +01:00
The previous commit consolidated test content (nushell, cloud-init, etc.) into the base image. This completes that work by removing the separate `build-integration-test-image` target and updating all references. Now `just build` produces the complete test-ready image directly, simplifying the build pipeline and eliminating the intermediate `localhost/bootc-integration` image. Also adds SKIP_CONFIGS support for the coreos testing workflow, which skips LBIs, test kargs, and install configs that would conflict with FCOS. Signed-off-by: Colin Walters <walters@verbum.org>
65 lines
2.0 KiB
YAML
65 lines
2.0 KiB
YAML
name: Build and Publish Images
|
|
|
|
permissions:
|
|
packages: write
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
workflow_dispatch: {}
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
LIBVIRT_DEFAULT_URI: "qemu:///session"
|
|
DEV_IMAGE: ghcr.io/bootc-dev/dev-bootc
|
|
|
|
jobs:
|
|
# Build and publish container images to ghcr.io
|
|
publish-images:
|
|
strategy:
|
|
matrix:
|
|
test_os: [fedora-42, fedora-43, fedora-44, centos-9, centos-10]
|
|
variant: [ostree, composefs-sealeduki-sdboot]
|
|
exclude:
|
|
# centos-9 UKI is experimental/broken (https://github.com/bootc-dev/bootc/issues/1812)
|
|
- test_os: centos-9
|
|
variant: composefs-sealeduki-sdboot
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
- name: Bootc Ubuntu Setup
|
|
uses: ./.github/actions/bootc-ubuntu-setup
|
|
|
|
- name: Setup env
|
|
run: |
|
|
BASE=$(just pullspec-for-os base ${{ matrix.test_os }})
|
|
echo "BOOTC_base=${BASE}" >> $GITHUB_ENV
|
|
echo "BOOTC_variant=${{ matrix.variant }}" >> $GITHUB_ENV
|
|
|
|
if [ "${{ matrix.variant }}" = "composefs-sealeduki-sdboot" ]; then
|
|
BUILDROOTBASE=$(just pullspec-for-os buildroot-base ${{ matrix.test_os }})
|
|
echo "BOOTC_buildroot_base=${BUILDROOTBASE}" >> $GITHUB_ENV
|
|
fi
|
|
|
|
- name: Build container
|
|
# TODO: Also consider building + publishing an image that is just "base + bootc"
|
|
# as this implicitly changed to also publish our integration test images.
|
|
run: just build
|
|
|
|
- name: Login to ghcr.io
|
|
uses: redhat-actions/podman-login@v1
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Push container image
|
|
run: |
|
|
if [ "${{ matrix.variant }}" = "composefs-sealeduki-sdboot" ]; then
|
|
TAG="${{ matrix.test_os }}-uki"
|
|
else
|
|
TAG="${{ matrix.test_os }}"
|
|
fi
|
|
podman tag localhost/bootc ${{ env.DEV_IMAGE }}:${TAG}
|
|
podman push ${{ env.DEV_IMAGE }}:${TAG}
|