diff --git a/.github/workflows/build_iso.yml b/.github/workflows/build_iso.yml new file mode 100644 index 00000000..a7281233 --- /dev/null +++ b/.github/workflows/build_iso.yml @@ -0,0 +1,62 @@ +name: Build Bazzite ISOs +on: + workflow_dispatch: +env: + IMAGE_REGISTRY: ghcr.io/${{ github.repository_owner }} + +concurrency: + group: ${{ github.workflow }}-${{ github.ref || github.run_id }} + cancel-in-progress: true + +jobs: + build-iso: + runs-on: ubuntu-22.04 + permissions: + contents: read + packages: write + id-token: write + container: + image: fedora:${{ matrix.major_version }} + options: "--privileged" + volumes: + - "/:/host" + strategy: + fail-fast: false + matrix: + image_name: [bazzite, bazzite-nvidia, bazzite-gnome, bazzite-gnome-nvidia, bazzite-deck, bazzite-deck-gnome, bazzite-ally, bazzite-ally-gnome, bazzite-asus, bazzite-gnome-asus, bazzite-asus-nvidia, bazzite-gnome-asus-nvidia] + major_version: [39] + image_tag: [stable] + steps: + - name: Build ISOs + #if: github.event_name == 'push' && github.ref_name == github.event.repository.default_branch + uses: ublue-os/isogenerator@1.0.3 + with: + ARCH: x86_64 + IMAGE_NAME: ${{ matrix.image_name }} + IMAGE_REPO: ghcr.io/ublue-os + VARIANT: 'Kinoite' + VERSION: ${{ matrix.major_version }} + IMAGE_TAG: ${{ matrix.image_tag }} + ACTION_REPO: ublue-os/isogenerator + ACTION_REF: 1.0.3 + - name: Upload ISOs to R2 + shell: bash + run: | + export RCLONE_CONFIG_R2_TYPE=s3 + export RCLONE_CONFIG_R2_PROVIDER=Cloudflare + export RCLONE_CONFIG_R2_ACCESS_KEY_ID=${{ secrets.R2_ACCESS_KEY_ID }} + export RCLONE_CONFIG_R2_SECRET_ACCESS_KEY=${{ secrets.R2_SECRET_ACCESS_KEY }} + export RCLONE_CONFIG_R2_REGION=auto + export RCLONE_CONFIG_R2_ENDPOINT=${{ secrets.R2_ENDPOINT }} + dnf install -y rclone + rclone copy ./end_iso R2:bazzite + +# - name: Upload ISOs to R2 +# uses: ryand56/r2-upload-action@latest +# with: +# r2-account-id: ${{ secrets.R2_ACCOUNT_ID }} +# r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }} +# r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }} +# r2-bucket: ${{ secrets.R2_BUCKET }} +# source-dir: ./end_iso +# destination-dir: ./ diff --git a/.github/workflows/generate_changelog.yml b/.github/workflows/generate_changelog.yml new file mode 100644 index 00000000..a390f2f2 --- /dev/null +++ b/.github/workflows/generate_changelog.yml @@ -0,0 +1,22 @@ +on: + push: + branches: + - main + +permissions: + contents: write + checks: write + actions: read + packages: write + pull-requests: write + +name: Generate Changelog +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: google-github-actions/release-please-action@v4 + id: release-please + with: + release-type: simple + package-name: release-please-action diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml deleted file mode 100644 index 256b003b..00000000 --- a/.github/workflows/release-please.yml +++ /dev/null @@ -1,70 +0,0 @@ -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@v4 - id: release-please - with: - release-type: simple - 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 == 'true' }} - container: - image: fedora:39 - options: --privileged - permissions: - contents: write - steps: - - uses: actions/checkout@v4 - - name: Generate ISO - uses: ublue-os/isogenerator@v2.3.1 - id: isogenerator - with: - image-name: bazzite - installer-repo: releases - installer-major-version: 39 - 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