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