Merge pull request #20058 from rhatdan/VENDOR #103
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: Build FCOS image with packages from rhcontainerbot/podman-next | |
on: | |
push: | |
branches: | |
- main | |
env: | |
IMAGE_NAME: fcos | |
# IMAGE_ARCHS has to be comma separated | |
IMAGE_ARCHS: amd64, arm64 | |
IMAGE_REGISTRY: quay.io/podman | |
COPR_OWNER: rhcontainerbot | |
COPR_PROJECT: podman-next | |
jobs: | |
fcos-podman-next-image-build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install qemu dependency | |
run: | | |
sudo apt update | |
sudo apt -y install qemu-user-static | |
- name: Set up wait-for-copr | |
run: | | |
pip3 install git+https://github.com/packit/wait-for-copr.git@main | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- name: Get short SHA from HEAD | |
run: echo "SHORT_SHA=$(git rev-parse --short HEAD)" >> "$GITHUB_ENV" | |
id: short_sha | |
- name: Wait for successful podman-next build with the latest commit | |
run: | | |
# TODO: add this in the Containerfile itself or as a --build-arg | |
wait-for-copr --owner ${{ env.COPR_OWNER }} --project ${{ env.COPR_PROJECT }} podman ${{ env.SHORT_SHA }} | |
echo "podman-next build successful." | |
- name: Build FCOS Image | |
id: build_image_multiarch | |
# Ref: https://github.com/redhat-actions/buildah-build | |
uses: redhat-actions/buildah-build@v2 | |
with: | |
image: ${{ env.IMAGE_NAME }} | |
tags: ${{ env.COPR_PROJECT }} podman-${{ env.SHORT_SHA }} | |
archs: ${{ env.IMAGE_ARCHS }} | |
containerfiles: ./contrib/podman-next/fcos-podmanimage/Containerfile | |
labels: | | |
org.opencontainers.image.title=fcos-podman-next image | |
org.opencontainers.image.source=https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/contrib/podman-next/fcos-podmanimage/Containerfile | |
org.opencontainers.image.url=https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
org.opencontainers.image.description=FCOS image with rpms from rhcontainerbot/podman-next copr | |
org.opencontainers.image.revision=${{ github.sha }} | |
- name: Echo Outputs | |
run: | | |
echo "Image: ${{ steps.build_image_multiarch.outputs.image }}" | |
echo "Tags: ${{ steps.build_image_multiarch.outputs.tags }}" | |
echo "Tagged Image: ${{ steps.build_image_multiarch.outputs.image-with-tag }}" | |
- name: Check images created | |
run: buildah images | grep '${{ env.IMAGE_NAME }}' | |
- name: Check image metadata | |
run: | | |
set -x | |
# COPR_PROJECT envvar is used for the `podman-next` floating tag | |
buildah inspect ${{ steps.build_image_multiarch.outputs.image }}:${{ env.COPR_PROJECT }} | jq ".OCIv1.architecture" | |
buildah inspect ${{ steps.build_image_multiarch.outputs.image }}:${{ env.COPR_PROJECT }} | jq ".Docker.architecture" | |
buildah inspect ${{ steps.build_image_multiarch.outputs.image }}:podman-${{ env.SHORT_SHA }} | jq ".OCIv1.architecture" | |
buildah inspect ${{ steps.build_image_multiarch.outputs.image }}:podman-${{ env.SHORT_SHA }} | jq ".Docker.architecture" | |
- name: Run image | |
run: podman run --privileged --rm ${{ steps.build_image_multiarch.outputs.image-with-tag }} podman system info | |
- name: Push to Quay | |
id: push-to-quay | |
# Ref: https://github.com/redhat-actions/push-to-registry | |
uses: redhat-actions/push-to-registry@v2 | |
with: | |
image: ${{ env.IMAGE_NAME }} | |
tags: ${{ steps.build_image_multiarch.outputs.tags }} | |
registry: ${{ env.IMAGE_REGISTRY }} | |
username: ${{ secrets.QUAY_PODMAN_USERNAME }} | |
password: ${{ secrets.QUAY_PODMAN_PASSWORD }} |