[PR #305] [MERGED] Add Fedora as variant alongside Ubuntu defaults #289

Closed
opened 2026-10-15 12:50:35 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/games-on-whales/gow/pull/305
Author: @JBailes
Created: 4/2/2026
Status: ✅ Merged
Merged: 4/19/2026
Merged by: @ABeltramo

Base: master ← Head: fedora-variant-images


📝 Commits (10+)

  • 3aff9f5 feat: add Fedora variant images alongside Ubuntu defaults
  • 31bfcb9 feat: add Fedora variants for all remaining GOW images
  • 4434d37 Fix Fedora 43 package availability in Dockerfiles
  • f65d7b1 fix: prevent digest artifact collision between Ubuntu and Fedora builds
  • 00d5fdf chore: update GAMESCOPE_VERSION to 3.16.22
  • 573c697 fix: kodi remove service command, pegasus remove missing packages
  • 398ab30 fix: use base-app image for bwrap builder, fix pegasus download
  • c3f40d1 fix: bump GitHub Actions to Node.js 24, fix deprecation warnings
  • 42500e8 Fix Fedora paths: use lib64 instead of x86_64-linux-gnu
  • dd0e72b fedora: address PR #305 review feedback

📊 Changes

127 files changed (+5954 additions, -58 deletions)

View changed files

📝 .github/workflows/auto-build.yml (+82 -0)
📝 .github/workflows/docker-build-and-publish.yml (+60 -48)
➕ apps/emby/_index.md (+7 -0)
➕ apps/emby/assets/wolf.config.toml (+23 -0)
➕ apps/emby/build-fedora/Dockerfile (+51 -0)
➕ apps/emby/build-fedora/scripts/startup.sh (+5 -0)
➕ apps/emby/build/Dockerfile (+55 -0)
➕ apps/emby/build/scripts/startup.sh (+5 -0)
➕ apps/es-de/build-fedora/Dockerfile (+40 -0)
➕ apps/es-de/build-fedora/configs/es/es_settings.xml (+165 -0)
➕ apps/es-de/build-fedora/configs/es/es_systems.xml (+13 -0)
➕ apps/es-de/build-fedora/configs/es/gamelist.xml (+69 -0)
➕ apps/es-de/build-fedora/configs/pcsx2/PCSX2.ini (+537 -0)
➕ apps/es-de/build-fedora/configs/retroarch/retroarch.cfg (+15 -0)
➕ apps/es-de/build-fedora/configs/rpcs3/CurrentSettings.ini (+69 -0)
➕ apps/es-de/build-fedora/configs/rpcs3/Default.yml (+546 -0)
➕ apps/es-de/build-fedora/configs/xemu/xemu.toml (+15 -0)
➕ apps/es-de/build-fedora/scripts/startup-es.sh (+7 -0)
➕ apps/es-de/build-fedora/scripts/startup.sh (+67 -0)
📝 apps/es-de/build/Dockerfile (+1 -1)

...and 80 more files

📄 Description

Summary

Builds on #282 by keeping Ubuntu as the default and adding Fedora as a tagged alternative, rather than replacing Ubuntu entirely. Adds Fedora variants for all GOW images.

  • Adds self-contained build-fedora/ directories for every image
  • Adds variant input to the reusable CI workflow, controlling build path, tag suffix, cache keys, and artifact names
  • Adds a parallel Fedora build chain in auto-build.yml (runs alongside the unchanged Ubuntu chain)
  • Applies the is_fork CI detection fixes from #282
  • Fixes steamos-dbus-watchdog.sh duplicate -shutdown line
  • Cleans up Debian-isms (DEBIAN_FRONTEND, NEEDRESTART_SUSPEND) from Fedora Dockerfiles

Images with Fedora variants

Image Fedora approach
base Fedora 43 base with dnf
base-app Mesa/Gamescope/Sway via dnf
base-emu RPM Fusion retroarch + AppImage emulators
pulseaudio alsa-lib + pulseaudio via dnf
firefox dnf install firefox
steam RPM Fusion + custom steam.sh wrapper
retroarch RPM Fusion
kodi dnf
xfce @xfce-desktop-environment group
prismlauncher COPR repo
pegasus AppImage approach
es-de AppImage (distro-agnostic)
heroic-games-launcher RPM + Wine from RPM Fusion
lutris dnf + Wine + patched bwrap

Tagging

Event Ubuntu (unchanged) Fedora
Push to master edge edge-fedora, fedora, fedora-43
Tag v1.2.3 1.2.3, 1, latest 1.2.3-fedora, 1-fedora
Branch push branch-name branch-name-fedora

Directory layout

Each image gets a build-fedora/ alongside its existing build/:

images/base/build/          ← Ubuntu (untouched)
images/base/build-fedora/   ← Fedora (new)
...same pattern for all images...

CI structure

Ubuntu chain (unchanged):
  base → base-app → base-emu → emus (pegasus, es-de)
                  → apps (all 9 apps)

Fedora chain (new, runs in parallel):
  base-fedora → base-app-fedora → base-emu-fedora → emus-fedora (pegasus, es-de)
                                → apps-fedora (all 9 apps)

Test plan

  • Ubuntu CI chain produces identical images/tags as before
  • Fedora CI chain builds all images
  • ghcr.io/games-on-whales/steam:edge → Ubuntu
  • ghcr.io/games-on-whales/steam:edge-fedora → Fedora
  • ghcr.io/games-on-whales/steam:fedora → Fedora (standalone tag)
  • Wine/32-bit apps (lutris, heroic) build successfully on Fedora

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/games-on-whales/gow/pull/305 **Author:** [@JBailes](https://github.com/JBailes) **Created:** 4/2/2026 **Status:** ✅ Merged **Merged:** 4/19/2026 **Merged by:** [@ABeltramo](https://github.com/ABeltramo) **Base:** `master` ← **Head:** `fedora-variant-images` --- ### 📝 Commits (10+) - [`3aff9f5`](https://github.com/games-on-whales/gow/commit/3aff9f5e45567ece0249092fa62b8f2131ebc89e) feat: add Fedora variant images alongside Ubuntu defaults - [`31bfcb9`](https://github.com/games-on-whales/gow/commit/31bfcb9c76b2881bbaee79964e167d90f82ebe3e) feat: add Fedora variants for all remaining GOW images - [`4434d37`](https://github.com/games-on-whales/gow/commit/4434d37d9973fbe5e4f1113e9b022961ed4db659) Fix Fedora 43 package availability in Dockerfiles - [`f65d7b1`](https://github.com/games-on-whales/gow/commit/f65d7b1d250d6ee6bcb348bf006b2e95b050da14) fix: prevent digest artifact collision between Ubuntu and Fedora builds - [`00d5fdf`](https://github.com/games-on-whales/gow/commit/00d5fdf392036863ce54b5c71d2750b5905d69f1) chore: update GAMESCOPE_VERSION to 3.16.22 - [`573c697`](https://github.com/games-on-whales/gow/commit/573c697c17f025881f755afd987b2e47498c4da4) fix: kodi remove service command, pegasus remove missing packages - [`398ab30`](https://github.com/games-on-whales/gow/commit/398ab301ca9a688f85f7aafdc37f41d6f73fccf6) fix: use base-app image for bwrap builder, fix pegasus download - [`c3f40d1`](https://github.com/games-on-whales/gow/commit/c3f40d1235179b115d11d3db595b7ca7d899bf40) fix: bump GitHub Actions to Node.js 24, fix deprecation warnings - [`42500e8`](https://github.com/games-on-whales/gow/commit/42500e8a919a64aa5d8a353286de20d369c9aebc) Fix Fedora paths: use lib64 instead of x86_64-linux-gnu - [`dd0e72b`](https://github.com/games-on-whales/gow/commit/dd0e72bca7e2d269f34202ea952905aa67fdbff7) fedora: address PR #305 review feedback ### 📊 Changes **127 files changed** (+5954 additions, -58 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/auto-build.yml` (+82 -0) 📝 `.github/workflows/docker-build-and-publish.yml` (+60 -48) ➕ `apps/emby/_index.md` (+7 -0) ➕ `apps/emby/assets/wolf.config.toml` (+23 -0) ➕ `apps/emby/build-fedora/Dockerfile` (+51 -0) ➕ `apps/emby/build-fedora/scripts/startup.sh` (+5 -0) ➕ `apps/emby/build/Dockerfile` (+55 -0) ➕ `apps/emby/build/scripts/startup.sh` (+5 -0) ➕ `apps/es-de/build-fedora/Dockerfile` (+40 -0) ➕ `apps/es-de/build-fedora/configs/es/es_settings.xml` (+165 -0) ➕ `apps/es-de/build-fedora/configs/es/es_systems.xml` (+13 -0) ➕ `apps/es-de/build-fedora/configs/es/gamelist.xml` (+69 -0) ➕ `apps/es-de/build-fedora/configs/pcsx2/PCSX2.ini` (+537 -0) ➕ `apps/es-de/build-fedora/configs/retroarch/retroarch.cfg` (+15 -0) ➕ `apps/es-de/build-fedora/configs/rpcs3/CurrentSettings.ini` (+69 -0) ➕ `apps/es-de/build-fedora/configs/rpcs3/Default.yml` (+546 -0) ➕ `apps/es-de/build-fedora/configs/xemu/xemu.toml` (+15 -0) ➕ `apps/es-de/build-fedora/scripts/startup-es.sh` (+7 -0) ➕ `apps/es-de/build-fedora/scripts/startup.sh` (+67 -0) 📝 `apps/es-de/build/Dockerfile` (+1 -1) _...and 80 more files_ </details> ### 📄 Description ## Summary Builds on #282 by keeping Ubuntu as the default and adding Fedora as a tagged alternative, rather than replacing Ubuntu entirely. Adds Fedora variants for **all** GOW images. - Adds self-contained `build-fedora/` directories for every image - Adds `variant` input to the reusable CI workflow, controlling build path, tag suffix, cache keys, and artifact names - Adds a parallel Fedora build chain in `auto-build.yml` (runs alongside the unchanged Ubuntu chain) - Applies the `is_fork` CI detection fixes from #282 - Fixes `steamos-dbus-watchdog.sh` duplicate `-shutdown` line - Cleans up Debian-isms (`DEBIAN_FRONTEND`, `NEEDRESTART_SUSPEND`) from Fedora Dockerfiles ### Images with Fedora variants | Image | Fedora approach | |-------|----------------| | base | Fedora 43 base with dnf | | base-app | Mesa/Gamescope/Sway via dnf | | base-emu | RPM Fusion retroarch + AppImage emulators | | pulseaudio | alsa-lib + pulseaudio via dnf | | firefox | dnf install firefox | | steam | RPM Fusion + custom steam.sh wrapper | | retroarch | RPM Fusion | | kodi | dnf | | xfce | @xfce-desktop-environment group | | prismlauncher | COPR repo | | pegasus | AppImage approach | | es-de | AppImage (distro-agnostic) | | heroic-games-launcher | RPM + Wine from RPM Fusion | | lutris | dnf + Wine + patched bwrap | ### Tagging | Event | Ubuntu (unchanged) | Fedora | |-------|-------------------|--------| | Push to master | `edge` | `edge-fedora`, `fedora`, `fedora-43` | | Tag v1.2.3 | `1.2.3`, `1`, `latest` | `1.2.3-fedora`, `1-fedora` | | Branch push | `branch-name` | `branch-name-fedora` | ### Directory layout Each image gets a `build-fedora/` alongside its existing `build/`: ``` images/base/build/ ← Ubuntu (untouched) images/base/build-fedora/ ← Fedora (new) ...same pattern for all images... ``` ### CI structure ``` Ubuntu chain (unchanged): base → base-app → base-emu → emus (pegasus, es-de) → apps (all 9 apps) Fedora chain (new, runs in parallel): base-fedora → base-app-fedora → base-emu-fedora → emus-fedora (pegasus, es-de) → apps-fedora (all 9 apps) ``` ## Test plan - [ ] Ubuntu CI chain produces identical images/tags as before - [ ] Fedora CI chain builds all images - [ ] `ghcr.io/games-on-whales/steam:edge` → Ubuntu - [ ] `ghcr.io/games-on-whales/steam:edge-fedora` → Fedora - [ ] `ghcr.io/games-on-whales/steam:fedora` → Fedora (standalone tag) - [ ] Wine/32-bit apps (lutris, heroic) build successfully on Fedora --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-15 12:50:35 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
games-on-whales/gow#289
No description provided.