feat: add Fedora 44 support alongside Fedora 43
- add fedora-44-mirrors ingredient and register it in the repository choices - expand the desktop variant matrix to [43, 44, rawhide] (48 dishes) - bump CI workflows and deploy fallback URL to Fedora 44 - cover both release repositories in tests
This commit is contained in:
@@ -39,11 +39,11 @@ jobs:
|
||||
|
||||
- name: Initialize mock
|
||||
run: |
|
||||
mock -r fedora-43-x86_64 --init
|
||||
mock -r fedora-44-x86_64 --init
|
||||
|
||||
- name: Install required packages
|
||||
run: |
|
||||
mock -r fedora-43-x86_64 --install lorax-lmc-novirt vim-minimal pykickstart livecd-tools
|
||||
mock -r fedora-44-x86_64 --install lorax-lmc-novirt vim-minimal pykickstart livecd-tools
|
||||
|
||||
- name: Generate dishes
|
||||
run: |
|
||||
@@ -52,23 +52,23 @@ jobs:
|
||||
|
||||
- name: Copy configuration file to mock
|
||||
run: |
|
||||
mock -r fedora-43-x86_64 --copyin dishes/desktop_43_standard_grub_gnome_guest-agents.cfg /builddir
|
||||
mock -r fedora-44-x86_64 --copyin dishes/desktop_44_standard_grub_gnome_guest-agents.cfg /builddir
|
||||
|
||||
- name: Build ISO with livemedia-creator
|
||||
run: |
|
||||
mock -r fedora-43-x86_64 --shell --enable-network --isolation=simple << 'EOF'
|
||||
mock -r fedora-44-x86_64 --shell --enable-network --isolation=simple << 'EOF'
|
||||
cd /builddir
|
||||
livemedia-creator --ks desktop_43_standard_grub_gnome_guest-agents.cfg --no-virt --resultdir /var/lmc --project phyllomeos --make-iso --volid phyllomeos --iso-only --iso-name desktop-43.iso --releasever 43 --macboot
|
||||
livemedia-creator --ks desktop_44_standard_grub_gnome_guest-agents.cfg --no-virt --resultdir /var/lmc --project phyllomeos --make-iso --volid phyllomeos --iso-only --iso-name desktop-44.iso --releasever 44 --macboot
|
||||
EOF
|
||||
|
||||
- name: Upload ISO as artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: desktop-43.iso
|
||||
path: /var/lmc/desktop-43.iso
|
||||
name: desktop-44.iso
|
||||
path: /var/lmc/desktop-44.iso
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Cleanup mock environment
|
||||
if: always()
|
||||
run: |
|
||||
mock -r fedora-43-x86_64 --clean
|
||||
mock -r fedora-44-x86_64 --clean
|
||||
|
||||
@@ -6,8 +6,8 @@ on:
|
||||
- "v*.*.*"
|
||||
|
||||
env:
|
||||
FEDORA_VERSION: 43
|
||||
KICKSTART_FILE: desktop_43_standard_grub_gnome_guest-agents
|
||||
FEDORA_VERSION: 44
|
||||
KICKSTART_FILE: desktop_44_standard_grub_gnome_guest-agents
|
||||
|
||||
jobs:
|
||||
checkout:
|
||||
|
||||
@@ -10,7 +10,7 @@ Provided that some dependencies are met (`libvirt` is running on your computer,
|
||||
chmod +x deploy.sh
|
||||
```
|
||||
|
||||
- Execute it and pick a dish, e.g. `desktop_43_standard_grub_gnome_guest-agents`, when prompted:
|
||||
- Execute it and pick a dish, e.g. `desktop_44_standard_grub_gnome_guest-agents`, when prompted:
|
||||
|
||||
```
|
||||
./deploy.sh
|
||||
@@ -19,19 +19,19 @@ Executing: ./deploy/core-count.sh
|
||||
System has more than 2 core (nproc --all: 6).
|
||||
[...]
|
||||
Available files:
|
||||
1. desktop_43_standard_grub_gnome
|
||||
1. desktop_44_standard_grub_gnome
|
||||
[...]
|
||||
8. desktop_43_standard_grub_gnome_guest-agents
|
||||
8. desktop_44_standard_grub_gnome_guest-agents
|
||||
[...]
|
||||
Enter the number of the file you want to select: 8
|
||||
You selected: desktop_43_standard_grub_gnome_guest-agents
|
||||
You selected: desktop_44_standard_grub_gnome_guest-agents
|
||||
|
||||
Starting install...
|
||||
Retrieving 'vmlinuz' | 16 MB 00:00:00
|
||||
Retrieving 'initrd.img' | 161 MB 00:00:05
|
||||
Allocating 'virtinst-n0km88yy-vmlinuz' | 16 MB 00:00:00
|
||||
Transferring 'virtinst-qxr2jxcb-initrd.img' | 161 MB 00:00:00
|
||||
Allocating 'desktop_43_standard_grub_gnome_guest-agents.img' | 10 GB 00:00:00
|
||||
Allocating 'desktop_44_standard_grub_gnome_guest-agents.img' | 10 GB 00:00:00
|
||||
Creating domain...
|
||||
```
|
||||
|
||||
@@ -95,7 +95,7 @@ cd cook && make all
|
||||
Alternatively, for a bespoke dish not part of the matrix, append the ingredient directly to an existing recipe and re-flatten it:
|
||||
|
||||
```
|
||||
echo "%include ../ingredients/extra-luanti.ks # Sandbox video game engine" >> cook/recipes/desktop_43_standard_grub_gnome.cfg
|
||||
echo "%include ../ingredients/extra-luanti.ks # Sandbox video game engine" >> cook/recipes/desktop_44_standard_grub_gnome.cfg
|
||||
cd cook && make generate
|
||||
```
|
||||
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# Fedora 44 repositories
|
||||
|
||||
repo --name=fedora --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-44&arch=x86_64 # Official Fedora mirror
|
||||
repo --name=updates --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f44&arch=x86_64 # Official Fedora updates mirror
|
||||
url --mirrorlist=https://mirrors.fedoraproject.org/mirrorlist?repo=fedora-44&arch=x86_64 # Official Fedora updates mirror
|
||||
@@ -30,6 +30,7 @@ base:
|
||||
choices:
|
||||
repository:
|
||||
"43": repo/fedora-43-mirrors.ks
|
||||
"44": repo/fedora-44-mirrors.ks
|
||||
rawhide: repo/rawhide-mirrors.ks
|
||||
storage:
|
||||
standard: storage/standard.ks
|
||||
|
||||
@@ -4,12 +4,13 @@
|
||||
#
|
||||
# Syntax:
|
||||
# - Single values: repository: "43"
|
||||
# - List values: repository: ["43", "rawhide"] (expands to multiple variants)
|
||||
# - List values: repository: ["43", "44", "rawhide"] (expands to multiple variants)
|
||||
# - Booleans: hardware-support: true / false (feature flags)
|
||||
#
|
||||
# NOTE: List values create a cartesian product.
|
||||
# Example: repository: ["43", "rawhide"] + storage: ["standard", "encrypted"]
|
||||
# creates 4 variants: (43,standard), (43,encrypted), (rawhide,standard), (rawhide,encrypted)
|
||||
# Example: repository: ["43", "44", "rawhide"] + storage: ["standard", "encrypted"]
|
||||
# creates 6 variants: (43,standard), (43,encrypted), (44,standard), (44,encrypted),
|
||||
# (rawhide,standard), (rawhide,encrypted)
|
||||
#
|
||||
# NOTE: The 'name' field prefixes every generated dish/recipe filename, e.g.
|
||||
# the group below yields dishes like desktop_43_gnome_standard_grub_guest-agents.cfg.
|
||||
@@ -18,7 +19,7 @@ recipes:
|
||||
# Desktop variants
|
||||
- name: desktop
|
||||
variants:
|
||||
- repository: ["43", "rawhide"]
|
||||
- repository: ["43", "44", "rawhide"]
|
||||
desktop: gnome
|
||||
storage: ["standard", "encrypted"]
|
||||
bootloader: ["grub", "systemd-boot"]
|
||||
|
||||
@@ -99,6 +99,14 @@ def test_collect_fragments_gnome_standard(templates):
|
||||
assert slug in fragments
|
||||
|
||||
|
||||
@pytest.mark.parametrize("release", ["43", "44"])
|
||||
def test_collect_fragments_release_repository(templates, release):
|
||||
variant = {"repository": release}
|
||||
fragments, problems = gen.collect_fragments(templates, variant)
|
||||
assert problems == []
|
||||
assert f"repo/fedora-{release}-mirrors.ks" in fragments
|
||||
|
||||
|
||||
def test_collect_fragments_choices_default_to_first(templates):
|
||||
variant = {"repository": "43"}
|
||||
fragments, problems = gen.collect_fragments(templates, variant)
|
||||
|
||||
@@ -183,7 +183,7 @@ else
|
||||
location_param="$fedora_iso"
|
||||
echo "Using local ISO: $fedora_iso"
|
||||
else
|
||||
location_param="https://download.fedoraproject.org/pub/fedora/linux/releases/43/Everything/x86_64/os/"
|
||||
location_param="https://download.fedoraproject.org/pub/fedora/linux/releases/44/Everything/x86_64/os/"
|
||||
echo "Using default online repository"
|
||||
fi
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user