mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-02-23 06:41:11 +00:00
chore(ci): build isos (#794)
* chore(ci): build isos * chore(ci): added image_tag for stable, updated version of action * chore(ci): moved building ISOs into separate action * chore(ci): fixed version * chore(ci): registered workflow * chore(ci): removed push * chore(ci): renamed release-please to generate_changelog * chore(ci): Added new upload action and readded push to test * chore(ci): attempting upload using rclone action * chore(ci): use colons instead of = sign * chore(ci): try with latest * chore(ci): refactored to use shell instead of action * chore(ci): forgot export * chore(ci): forgot secret access key * chore(ci): removed ACL * chore(ci): Updated isogenerator version * Update .github/workflows/build_iso.yml Co-authored-by: Jorge O. Castro <jorge.castro@gmail.com> --------- Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch> Co-authored-by: Jorge O. Castro <jorge.castro@gmail.com>
This commit is contained in:
parent
011aa8fa62
commit
eef8643f28
62
.github/workflows/build_iso.yml
vendored
Normal file
62
.github/workflows/build_iso.yml
vendored
Normal file
@ -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: ./
|
22
.github/workflows/generate_changelog.yml
vendored
Normal file
22
.github/workflows/generate_changelog.yml
vendored
Normal file
@ -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
|
70
.github/workflows/release-please.yml
vendored
70
.github/workflows/release-please.yml
vendored
@ -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
|
|
Loading…
x
Reference in New Issue
Block a user