Skip to content

Commit 519c412

Browse files
authored
feat: produce beta ISOs (#48)
1 parent 421fd5b commit 519c412

5 files changed

Lines changed: 69 additions & 11 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Build Beta ISOs
3+
on:
4+
merge_group:
5+
pull_request:
6+
branches:
7+
- main
8+
paths:
9+
- ".github/workflows/build-iso-beta.yml"
10+
- ".github/workflows/reusable-build-iso-anaconda.yml"
11+
- "iso_files/**"
12+
workflow_call:
13+
workflow_dispatch:
14+
inputs:
15+
upload_artifacts:
16+
description: 'Upload ISOs as job artifacts'
17+
type: boolean
18+
default: false
19+
upload_r2:
20+
description: 'Upload ISOs to Cloudflare R2'
21+
type: boolean
22+
default: true
23+
24+
jobs:
25+
build-iso-beta:
26+
name: Build Beta ISOs
27+
uses: ./.github/workflows/reusable-build-iso-anaconda.yml
28+
secrets: inherit
29+
with:
30+
image_version: beta
31+
# Upload artifacts on PR checks or if manually requested
32+
upload_artifacts: ${{ github.event_name == 'pull_request' || (github.event_name == 'workflow_dispatch' && inputs.upload_artifacts) }}
33+
# Upload to R2 on merge_group or if manually requested
34+
upload_r2: ${{ github.event_name == 'merge_group' || (github.event_name == 'workflow_dispatch' && inputs.upload_r2) }}

.github/workflows/promote-iso.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,10 @@ jobs:
3939
- name: List files in Test bucket
4040
run: |
4141
echo "Files in Test bucket:"
42-
/home/linuxbrew/.linuxbrew/bin/rclone ls R2_TEST:aurora-dl-test --include "*.iso" --include "*.iso-CHECKSUM"
42+
/home/linuxbrew/.linuxbrew/bin/rclone ls R2_TEST:aurora-dl-test \
43+
--include "*.iso" \
44+
--include "*.iso-CHECKSUM" \
45+
--exclude "aurora-beta-*"
4346
4447
- name: Promote ISOs (Dry Run)
4548
if: inputs.dry_run == true
@@ -48,6 +51,7 @@ jobs:
4851
/home/linuxbrew/.linuxbrew/bin/rclone sync R2_TEST:aurora-dl-test R2_PROD:aurora-dl \
4952
--include "*.iso" \
5053
--include "*.iso-CHECKSUM" \
54+
--exclude "aurora-beta-*" \
5155
--dry-run \
5256
--verbose
5357
@@ -58,6 +62,7 @@ jobs:
5862
/home/linuxbrew/.linuxbrew/bin/rclone sync R2_TEST:aurora-dl-test R2_PROD:aurora-dl \
5963
--include "*.iso" \
6064
--include "*.iso-CHECKSUM" \
65+
--exclude "aurora-beta-*" \
6166
--verbose \
6267
--progress
6368

.github/workflows/reusable-build-iso-anaconda.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ on:
1111
description: 'Upload ISOs to Cloudflare R2'
1212
type: boolean
1313
default: true
14+
image_version:
15+
description: 'Image version/tag to build (e.g. stable, beta)'
16+
type: string
17+
default: stable
18+
hook_script:
19+
description: 'Path to the ISO post-rootfs hook script'
20+
type: string
21+
default: iso_files/configure_iso_anaconda.sh
1422

1523
env:
1624
IMAGE_REGISTRY: "ghcr.io/ublue-os"
@@ -29,7 +37,7 @@ jobs:
2937
matrix:
3038
platform: [amd64]
3139
flavor: ["main", "nvidia-open"]
32-
image_version: ["stable"]
40+
image_version: ["${{ inputs.image_version }}"]
3341
permissions:
3442
contents: read
3543
packages: read
@@ -83,7 +91,7 @@ jobs:
8391
with:
8492
image-ref: ${{ steps.image_ref.outputs.image_ref }}:${{ matrix.image_version }}
8593
flatpaks-list: ${{ steps.flatpak_list.outputs.file_list_path }}
86-
hook-post-rootfs: ${{ github.workspace }}/iso_files/configure_iso_anaconda.sh
94+
hook-post-rootfs: ${{ github.workspace }}/${{ inputs.hook_script }}
8795
kargs: ${{ steps.image_ref.outputs.kargs }}
8896

8997
- name: Rename ISO

Justfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ flavors := '(
1010
tags := '(
1111
[stable]=stable
1212
[latest]=latest
13+
[beta]=beta
1314
)'
1415
export SUDO_DISPLAY := if `if [ -n "${DISPLAY:-}" ] || [ -n "${WAYLAND_DISPLAY:-}" ]; then echo true; fi` == "true" { "true" } else { "false" }
1516
export SUDOIF := if `id -u` == "0" { "" } else if SUDO_DISPLAY == "true" { "sudo --askpass" } else { "sudo" }

iso_files/configure_iso_anaconda.sh

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,17 @@ rm /usr/share/applications/dev.getaurora.system-update.desktop
2727

2828
systemctl --global disable bazaar.service
2929

30-
# HACK for https://bugzilla.redhat.com/show_bug.cgi?id=2433186
31-
rpm --erase --nodeps --justdb generic-logos
32-
dnf download fedora-logos
33-
rpm -i --justdb fedora-logos*.rpm
34-
rm -f fedora-logos*.rpm
30+
#TODO: Remove once F44 is on stable
31+
if [[ "${IMAGE_TAG}" == "stable" ]]; then
32+
# HACK for https://bugzilla.redhat.com/show_bug.cgi?id=2433186
33+
rpm --erase --nodeps --justdb generic-logos
34+
dnf download fedora-logos
35+
rpm -i --justdb fedora-logos*.rpm
36+
rm -f fedora-logos*.rpm
37+
fi
3538

3639
# Configure Anaconda
3740

38-
# Install Anaconda WebUI
3941
SPECS=(
4042
"libblockdev-btrfs"
4143
"libblockdev-lvm"
@@ -46,13 +48,16 @@ SPECS=(
4648

4749
dnf install -y "${SPECS[@]}"
4850

49-
rpm --erase --nodeps --justdb fedora-logos
51+
#TODO: Remove once F44 is on stable
52+
if [[ "${IMAGE_TAG}" == "stable" ]]; then
53+
rpm --erase --nodeps --justdb fedora-logos
54+
fi
5055

5156
# Anaconda Profile Detection
5257

5358
# Aurora
5459
tee /etc/anaconda/profile.d/aurora.conf <<'EOF'
55-
# Anaconda configuration file for Aurora Stable
60+
# Anaconda configuration file for Aurora
5661
5762
[Profile]
5863
# Define the profile.
@@ -87,6 +92,11 @@ hidden_webui_pages =
8792
network
8893
EOF
8994

95+
if [[ "${IMAGE_TAG}" == "beta" ]]; then
96+
sed -i '/hidden_spokes =/a \ UserSpoke' /etc/anaconda/profile.d/aurora.conf
97+
sed -i '/hidden_webui_pages =/a \ anaconda-screen-accounts' /etc/anaconda/profile.d/aurora.conf
98+
fi
99+
90100
# add intaller to kickoff
91101
sed -i '2s/$/;liveinst.desktop/' /usr/share/kde-settings/kde-profile/default/xdg/kicker-extra-favoritesrc
92102

0 commit comments

Comments
 (0)