-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Lokesh Mandvekar <[email protected]>
- Loading branch information
Showing
2 changed files
with
98 additions
and
8 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
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 }} |