Skip to content

release-iso

release-iso #16

Workflow file for this run

on:
workflow_dispatch:
env:
REGISTRY: ghcr.io
FEDORA_VERSION: 41
name: release-iso
jobs:
release-iso:
name: Generate and Release ISOs
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
steps:
- uses: actions/checkout@v4
- name: Build ISO
uses: jasonn3/build-container-installer@main
id: build
with:
arch: x86_64
image_name: ${{ github.event.repository.name }}
image_repo: ${{ env.REGISTRY }}/${{ github.repository_owner }}
image_tag: latest
version: ${{ env.FEDORA_VERSION }}
variant: ${{ github.event.repository.name }}
iso_name: ${{ github.event.repository.name }}-${{ env.FEDORA_VERSION }}.iso
- name: install github CLI
run: |
sudo dnf install 'dnf-command(config-manager)' -y
sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install gh -y
- name: Upload ISO
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
if gh release list -R ${{ github.repository_owner }}/${{ github.event.repository.name }} | grep "auto-iso"; then
gh release view auto-iso -R ${{ github.repository_owner }}/${{ github.event.repository.name }} --json assets -q .assets[].name | xargs -L 1 gh release delete-asset auto-iso -R ${{ github.repository_owner }}/${{ github.event.repository.name }}
gh release upload auto-iso ${{ steps.build.outputs.iso_path }} -R ${{ github.repository_owner }}/${{ github.event.repository.name }} --clobber
else
gh release create auto-iso ${{ steps.build.outputs.iso_path }} -t ISO -n "This is an automatically generated ISO release." -R ${{ github.repository_owner }}/${{ github.event.repository.name }}
fi
- name: Upload SHA256SUM
env:
GITHUB_TOKEN: ${{ github.token }}
run:
gh release upload auto-iso ${{ steps.build.outputs.iso_path }}-CHECKSUM -R ${{ github.repository_owner }}/${{ github.event.repository.name }} --clobber