Skip to content

Building diskimage - code-cli-bootc #87

Building diskimage - code-cli-bootc

Building diskimage - code-cli-bootc #87

name: build diskimage - code-cli-bootc
run-name: Building diskimage - code-cli-bootc
on:
schedule:
- cron: "0 2 */2 * *"
workflow_dispatch:
env:
DISK_TYPE: qcow2
ROOTFS: xfs
ARCH: amd64
BIB_IMAGE: quay.io/centos-bootc/bootc-image-builder:latest
BODY: "Fedora disk images"
jobs:
build:
name: build-diskimage-code-cli
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
steps:
- name: Remove unwanted stuff
uses: gbraad-actions/remove-unwanted@v1
- uses: actions/checkout@v4
- name: Workaround podman issues in GH actions
run: |
# see https://github.com/osbuild/bootc-image-builder/issues/446
sudo rm -rf /var/lib/containers/storage
sudo mkdir -p /etc/containers
echo -e "[storage]\ndriver = \"overlay\"\nrunroot = \"/run/containers/storage\"\ngraphroot = \"/var/lib/containers/storage\"" | sudo tee /etc/containers/storage.conf
- name: Workarounds for GH runner diskspace
run: |
sudo mkdir -p /mnt/var/lib/containers
sudo mount -o bind /mnt/var/lib/containers /var/lib/containers
sudo mkdir /var/lib/containers/storage
- name: Create user configuration
run: cat config.toml.in > config.toml
- name: Build image - code-cli
id: build-image-code-cli
run: |
mkdir -p ./output
sudo podman pull ${{ env.IMAGE_NAME }}
sudo podman run \
--rm \
-it \
--privileged \
--pull=newer \
--security-opt label=type:unconfined_t \
-v ./config.toml:/config.toml:ro \
-v ./output:/output \
-v /var/lib/containers/storage:/var/lib/containers/storage \
${{ env.BIB_IMAGE }} \
--target-arch ${{ env.ARCH }} \
--type ${{ env.DISK_TYPE }} \
--rootfs ${{ env.ROOTFS }} \
--local \
${{ env.IMAGE_NAME }}
env:
IMAGE_NAME: ghcr.io/gbraad-devenv/fedora/code-cli-bootc:41
- name: Set release tag
id: get-tag
run: |
echo "TAG=$(date +'%y%m%d')" >> $GITHUB_OUTPUT
- name: Wrap disk image in container
run: |
podman build -t ghcr.io/gbraad-devenv/fedora/code-cli-disk:latest \
-f containers/Containerfile-disk .
- name: Tag image container
run: |
podman tag ghcr.io/gbraad-devenv/fedora/code-cli-disk:latest \
ghcr.io/gbraad-devenv/fedora/code-cli-disk:41
podman tag ghcr.io/gbraad-devenv/fedora/code-cli-disk:latest \
ghcr.io/gbraad-devenv/fedora/code-cli-disk:${{steps.get-tag.outputs.TAG}}
- name: Login to registry
run: |
podman login ghcr.io -u ${{ github.actor }} \
-p ${{ secrets.GITHUB_TOKEN }}
- name: Push image container to registry
run: |
podman push ghcr.io/gbraad-devenv/fedora/code-cli-disk:latest
podman push ghcr.io/gbraad-devenv/fedora/code-cli-disk:41
podman push ghcr.io/gbraad-devenv/fedora/code-cli-disk:${{steps.get-tag.outputs.TAG}}