on:
  push:
    branches:
      - main

permissions:
  contents: write
  checks: write
  actions: read
  packages: write
  pull-requests: write

name: Release Please
jobs:
  release-please:
    runs-on: ubuntu-latest
    outputs:
      releases_created: ${{ steps.release-please.outputs.releases_created }}
      tag: ${{ steps.release-please.outputs.tag_name }}
      upload_url: ${{ steps.release-please.outputs.upload_url }}
    steps:
      - uses: google-github-actions/release-please-action@v3
        id: release-please
        with:
          release-type: node
          package-name: release-please-action
  build-iso:
    name: Generate and Release ISOs
    runs-on: ubuntu-latest
    needs: release-please
    if: needs.release-please.outputs.releases_created
    container:
      image: fedora:38
      options: --privileged
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v4
      - name: Generate ISO
        uses: ublue-os/isogenerator@v2.1.3
        id: isogenerator
        with:
          image-name: bazzite
          installer-repo: releases
          installer-major-version: 38
          boot-menu-path: boot_menu.yml
      - 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: |
          gh release upload \
            ${{ needs.release-please.outputs.tag }} \
            ./${{ steps.isogenerator.outputs.iso-path }} \
            --repo ${{ github.repository_owner }}/${{ github.event.repository.name }} \
            --clobber

      - name: Upload SHA256SUM
        env:
          GITHUB_TOKEN: ${{ github.token }}
        run: |
          gh release upload \
            ${{ needs.release-please.outputs.tag }} \
            ./${{ steps.isogenerator.outputs.sha256sum-path }} \
            --repo ${{ github.repository_owner }}/${{ github.event.repository.name }} \
            --clobber
