Files
fluffy-pancake/.github/workflows/build-installer-iso.yml
T
gunnar a957c96fa1 chore: repo cleanup - pin actions, fix typos, improve gitignore
- build.yml: pin push-to-registry to SHA
- build-installer-iso.yml: pin checkout/upload-artifact to SHA,
  replace hardcoded registry with env vars, add env block
- Justfile: fix 'Virtal' typo (10x), fix shfmt error msg,
  quote $file in check/fix recipes
- .gitignore: add *.iso, *.qcow2, *.raw, .env, *.log
- iso/config.toml: remove leading space
- Containerfile: remove non-existent /tmp/build from cleanup
- build/50-prepare-flatpak-for-bazaar.sh: add executable permission
- build/README.md: update to reflect current script names
2026-05-30 16:33:41 +02:00

72 lines
2.2 KiB
YAML

name: Build Installer ISO
on:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
env:
IMAGE_REGISTRY: "ghcr.io/${{ github.repository_owner }}"
IMAGE_NAME: "${{ github.event.repository.name }}"
DEFAULT_TAG: "stable"
jobs:
build-iso:
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
steps:
- name: Prepare environment
run: |
echo "IMAGE_REGISTRY=${IMAGE_REGISTRY,,}" >> ${GITHUB_ENV}
echo "IMAGE_NAME=${IMAGE_NAME,,}" >> ${GITHUB_ENV}
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 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
sudo docker image prune -af
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
- name: Pull base image
run: |
sudo podman pull ${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }}
- name: Build ISO
run: |
sudo podman run --rm --privileged \
-v ${{ github.workspace }}/iso/config.toml:/config.toml:ro \
-v ${{ github.workspace }}/output:/output \
-v /var/lib/containers/storage:/var/lib/containers/storage \
ghcr.io/osbuild/bootc-image-builder:latest \
--type anaconda-iso \
--rootfs btrfs \
--config /config.toml \
--output /output/ \
${{ env.IMAGE_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }}
- name: Upload ISO artifact
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: installer-iso
# Wir suchen rekursiv nach jeder .iso Datei im output Ordner
path: output/**/*.iso
if-no-files-found: error