[skip-ci] machine images #1
Workflow file for this run
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 | |
# Run everyday at midnight and pull the latest packages from the copr | |
schedule: | |
- cron: '0 0 * * *' | |
env: | |
MACHINE_IMAGE_NAME: machine-images | |
# 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 cosa | |
run: | | |
podman pull quay.io/coreos-assembler/coreos-assembler | |
mkdir fcos | |
cd fcos | |
echo "" >> ~/.bashrc | |
cat ./contrib/podman-next/machine-image/cosa-snippet >> ~/.bashrc | |
- name: Check out code | |
uses: actions/checkout@v4 | |
- 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: Build Machine images | |
run: | | |
cosa shell | |
cosa init https://github.com/coreos/fedora-coreos-config | |
cosa fetch | |
cosa build | |
- name: Add Machine images to Manifest | |
# TBD | |
- 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: 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.MACHINE_IMAGE_NAME }} | |
tags: ${{ steps.build_image_multiarch.outputs.tags }} | |
registry: ${{ env.IMAGE_REGISTRY }} | |
username: ${{ secrets.QUAY_PODMAN_USERNAME }} | |
password: ${{ secrets.QUAY_PODMAN_PASSWORD }} |