Files
fluffy-pancake/.github/workflows/build-installer-iso.yml
T

68 lines
1.8 KiB
YAML

name: Build Installer ISO
on:
workflow_dispatch:
#push:
#branches:
#- main
jobs:
build-iso:
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
sudo rm -rf /opt/hostedtoolcache
df -h
- name: Prepare output directory
run: mkdir -p output
- name: Login to GHCR
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | sudo podman login ghcr.io \
-u ${{ github.actor }} --password-stdin
# Wichtig: Den Pull explizit machen, damit Layer im lokalen Storage landen
- name: Pull base image
run: |
# Falls das Image privat ist, hier ein 'sudo podman login' davor setzen
sudo podman pull ghcr.io/humocs-man/fluffy-pancake:stable
- name: Build ISO (Interactive Mode)
run: |
# Wir mounten /var/lib/containers/storage, damit der Builder
# das oben gepullte Image direkt findet.
sudo podman run --rm --privileged \
-v ./iso/config.toml:/config.toml:ro \
-v ./output:/output \
-v /var/lib/containers/storage:/var/lib/containers/storage \
quay.io/centos-bootc/bootc-image-builder:latest \
--type anaconda-iso \
--rootfs btrfs \
--config /config.toml \
--output /output/ \
ghcr.io/humocs-man/fluffy-pancake:stable
- name: Upload ISO artifact
uses: actions/upload-artifact@v7
with:
name: installer-iso
path: output/**/*.iso
if-no-files-found: error