From 614fdd5ebe07c4e9906454ae77eac5992cf05905 Mon Sep 17 00:00:00 2001 From: badblocks <4161747+badbl0cks@users.noreply.github.com> Date: Tue, 10 Mar 2026 22:25:22 -0700 Subject: [PATCH] Add new recipes and update build pipeline - Split common-modules into base.yml and gui.yml - Rename and consolidate old recipe_gnome* files into bazzite-gnome.yml; move firmware path - Add new build recipe ucore-hci.yml - Update GitHub Actions: schedule to 18:00 UTC, add concurrency, bump blue-build action to v1.11 and switch matrix recipes - Update docker-ce repo URLs to Fedora 43 - Rotate cosign public key --- .github/workflows/build.yml | 23 +-- cosign.pub | 4 +- files/dnf/docker-ce.repo | 18 +-- .../lib => }/firmware/hda-jack-retask.fw | 0 recipes/base.yml | 50 +++++++ recipes/bazzite-gnome.yml | 47 ++++++ recipes/common-modules.yml | 140 ------------------ recipes/gui.yml | 66 +++++++++ recipes/recipe_gnome-nvidia-open.yml | 8 - recipes/recipe_gnome.yml | 8 - recipes/ucore-hci.yml | 10 ++ 11 files changed, 196 insertions(+), 178 deletions(-) rename files/{system/lib => }/firmware/hda-jack-retask.fw (100%) create mode 100644 recipes/base.yml create mode 100644 recipes/bazzite-gnome.yml delete mode 100644 recipes/common-modules.yml create mode 100644 recipes/gui.yml delete mode 100644 recipes/recipe_gnome-nvidia-open.yml delete mode 100644 recipes/recipe_gnome.yml create mode 100644 recipes/ucore-hci.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bb2a06a..e4adf46 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,14 +1,18 @@ name: bluebuild on: schedule: - - cron: "00 07 * * *" # build at 07:00 UTC every day - # (1:20 hours after last ublue images start building) + - cron: + "00 18 * * *" # build at 18:00 UTC every day + # (12 hours after last ublue images start building) push: - paths-ignore: # don't rebuild if only documentation has changed + paths-ignore: - "**.md" pull_request: - workflow_dispatch: # allow manually triggering builds + workflow_dispatch: +concurrency: + group: ${{ github.workflow }}-${{ github.ref || github.run_id }} + cancel-in-progress: true jobs: bluebuild: name: Build Custom Image @@ -18,20 +22,17 @@ jobs: packages: write id-token: write strategy: - fail-fast: false # stop GH from cancelling all matrix builds if one fails + fail-fast: false matrix: recipe: - - recipe_gnome.yml - - recipe_gnome-nvidia-open.yml + - bazzite-gnome.yml + - ucore-hci.yml steps: - # the build is fully handled by the reusable github action - name: Build Custom Image - uses: blue-build/github-action@v1.8 + uses: blue-build/github-action@v1.11 with: recipe: ${{ matrix.recipe }} cosign_private_key: ${{ secrets.SIGNING_SECRET }} registry_token: ${{ github.token }} pr_event_number: ${{ github.event.number }} - - # enabled by default, disable if your image is small and you want faster builds maximize_build_space: true diff --git a/cosign.pub b/cosign.pub index 6ea8a28..cd59d6e 100644 --- a/cosign.pub +++ b/cosign.pub @@ -1,4 +1,4 @@ -----BEGIN PUBLIC KEY----- -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESCLT/nZpT/cuJudCqEIzoCTJZPs3 -ZdeBil6MG9FMJ7nGgj3+f1pSCAPHORz9WPLLAntu9iMp18rM0pN5fYyZLQ== +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEy+mK2kDTNECEbjuzl0/OyO7PgXXs +NAKzbIqyh8tzNu4z+XV6kH/Jkvq8Hf1EYelfPiU2MlNLSrNFfr5CHBKelw== -----END PUBLIC KEY----- diff --git a/files/dnf/docker-ce.repo b/files/dnf/docker-ce.repo index c7896cb..b7d06a7 100644 --- a/files/dnf/docker-ce.repo +++ b/files/dnf/docker-ce.repo @@ -1,62 +1,62 @@ [docker-ce-stable] name=Docker CE Stable - $basearch -baseurl=https://download.docker.com/linux/fedora/42/$basearch/stable +baseurl=https://download.docker.com/linux/fedora/43/$basearch/stable enabled=1 gpgcheck=1 gpgkey=https://download.docker.com/linux/fedora/gpg [docker-ce-stable-debuginfo] name=Docker CE Stable - Debuginfo $basearch -baseurl=https://download.docker.com/linux/fedora/42/debug-$basearch/stable +baseurl=https://download.docker.com/linux/fedora/43/debug-$basearch/stable enabled=0 gpgcheck=1 gpgkey=https://download.docker.com/linux/fedora/gpg [docker-ce-stable-source] name=Docker CE Stable - Sources -baseurl=https://download.docker.com/linux/fedora/42/source/stable +baseurl=https://download.docker.com/linux/fedora/43/source/stable enabled=0 gpgcheck=1 gpgkey=https://download.docker.com/linux/fedora/gpg [docker-ce-test] name=Docker CE Test - $basearch -baseurl=https://download.docker.com/linux/fedora/42/$basearch/test +baseurl=https://download.docker.com/linux/fedora/43/$basearch/test enabled=0 gpgcheck=1 gpgkey=https://download.docker.com/linux/fedora/gpg [docker-ce-test-debuginfo] name=Docker CE Test - Debuginfo $basearch -baseurl=https://download.docker.com/linux/fedora/42/debug-$basearch/test +baseurl=https://download.docker.com/linux/fedora/43/debug-$basearch/test enabled=0 gpgcheck=1 gpgkey=https://download.docker.com/linux/fedora/gpg [docker-ce-test-source] name=Docker CE Test - Sources -baseurl=https://download.docker.com/linux/fedora/42/source/test +baseurl=https://download.docker.com/linux/fedora/43/source/test enabled=0 gpgcheck=1 gpgkey=https://download.docker.com/linux/fedora/gpg [docker-ce-nightly] name=Docker CE Nightly - $basearch -baseurl=https://download.docker.com/linux/fedora/42/$basearch/nightly +baseurl=https://download.docker.com/linux/fedora/43/$basearch/nightly enabled=0 gpgcheck=1 gpgkey=https://download.docker.com/linux/fedora/gpg [docker-ce-nightly-debuginfo] name=Docker CE Nightly - Debuginfo $basearch -baseurl=https://download.docker.com/linux/fedora/42/debug-$basearch/nightly +baseurl=https://download.docker.com/linux/fedora/43/debug-$basearch/nightly enabled=0 gpgcheck=1 gpgkey=https://download.docker.com/linux/fedora/gpg [docker-ce-nightly-source] name=Docker CE Nightly - Sources -baseurl=https://download.docker.com/linux/fedora/42/source/nightly +baseurl=https://download.docker.com/linux/fedora/43/source/nightly enabled=0 gpgcheck=1 gpgkey=https://download.docker.com/linux/fedora/gpg diff --git a/files/system/lib/firmware/hda-jack-retask.fw b/files/firmware/hda-jack-retask.fw similarity index 100% rename from files/system/lib/firmware/hda-jack-retask.fw rename to files/firmware/hda-jack-retask.fw diff --git a/recipes/base.yml b/recipes/base.yml new file mode 100644 index 0000000..c17f921 --- /dev/null +++ b/recipes/base.yml @@ -0,0 +1,50 @@ +modules: + - type: files + files: + - source: system + destination: / + - type: dnf + repos: + files: + - docker-ce.repo + keys: + - https://download.docker.com/linux/fedora/gpg + group-install: + with-optional: true + packages: + - development-tools + - c-development + remove: + packages: + - moby-engine + - docker-cli + install: + packages: + - usbguard + - android-tools + - arm-image-installer + - hunspell-devel + - zsh + - autofs + - wireguard-tools + - trash-cli + - git + - git-filter-repo + - firewall-config + - alsa-tools + - libappstream-glib + - htop + - glances + - ansible + - docker-ce + - docker-ce-cli + - containerd.io + - docker-buildx-plugin + - docker-compose-plugin + - freeipa-client + - chromium-headless + - type: systemd + system: + enabled: + - docker.service + - type: signing diff --git a/recipes/bazzite-gnome.yml b/recipes/bazzite-gnome.yml new file mode 100644 index 0000000..4843aed --- /dev/null +++ b/recipes/bazzite-gnome.yml @@ -0,0 +1,47 @@ +--- +# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json +name: bazzite-gnome-badblocks +description: Customizations of bazzite-gnome with all video drivers for personal use + +base-image: ghcr.io/ublue-os/bazzite-gnome-nvidia-open +image-version: latest + +modules: + - from-file: base.yml + - from-file: gui.yml + - type: files + files: + - source: firmware + destination: /lib/firmware/ + - type: dnf + install: + packages: + - mpv_inhibit_gnome + - git-credential-libsecret + - gtk-murrine-engine + - gnome-boxes + - fedora-chromium-config-gnome + - type: gnome-extensions + install: + - 6 # Applications Menu + - 1460 # Vitals + - 1160 # Dash to Panel + - 97 # Coverflow Alt-Tab + - 8671 # All-in-One Clipboard + - 7856 # Mouse Tail + - 8971 # Lock Guard + - 4338 # Allow Locked Remote Desktop + # Below are provided currently by Bazzite + #- 615 # *AppIndicator and KStatusNotifierItem Support + #- 8760 # *Add to Steam + #- 3193 # *Blur my Shell + #- 517 # *Caffeine + #- 3740 # *Compiz alike magic lamp effect + #- 3210 # *Compiz windows effect + #- 7215 # *Restart To + #- 19 # *User Themes + #- 1319 # *GSConnect (Commented out as this extension will not work if installed system-wide without compile-time modifications, bazzite includes a modified version) + #- 4451 # *Logo Menu (Commented out as Bazzite includes customizations with their install) + - type: gschema-overrides + include: + - zz1-power-button-settings.gschema.override diff --git a/recipes/common-modules.yml b/recipes/common-modules.yml deleted file mode 100644 index a230aef..0000000 --- a/recipes/common-modules.yml +++ /dev/null @@ -1,140 +0,0 @@ -modules: - - type: files - files: - - source: system/lib/firmware/ - destination: /lib/firmware/ - - type: files - files: - - source: system/etc/modprobe.d/ - destination: /etc/modprobe.d/ - - type: dnf - repos: - files: - - https://packages.microsoft.com/yumrepos/vscode/config.repo - - docker-ce.repo - - https://copr.fedorainfracloud.org/coprs/lizardbyte/stable/repo/fedora-43/lizardbyte-stable-fedora-43.repo - keys: - - https://packages.microsoft.com/keys/microsoft.asc - - https://download.docker.com/linux/fedora/gpg - - https://download.copr.fedorainfracloud.org/results/lizardbyte/stable/pubkey.gpg - group-install: - with-optional: true - packages: - - development-tools - - c-development - install: - packages: - - vlc - - mpv - - mpv_inhibit_gnome - - usbguard - - android-tools - - arm-image-installer - - hunspell-devel - - zsh - - libvirt - - virt-manager - - autofs - - gstreamer1-plugins-ugly-free - - gstreamer1-plugins-bad-free - - gstreamer1-plugins-bad-free-extras - - gstreamer1-plugins-good - - gstreamer1-plugins-good-extras - - gstreamer1-plugins-base - - gstreamer1-plugins-base-tools - - wireguard-tools - - trash-cli - - git - - git-credential-libsecret - - git-filter-repo - - gtk-murrine-engine - - firewall-config - - alsa-tools - - libappstream-glib - - htop - - glances - - ansible - - docker-ce - - docker-ce-cli - - containerd.io - - docker-buildx-plugin - - docker-compose-plugin - - gnome-boxes - - code - - freeipa-client - - sunshine - - chromium - - chromium-headless - - chromedriver - - fedora-chromium-config-gnome - - type: fonts - fonts: - nerd-fonts: - - FiraCode - - Hack - - SourceCodePro - - Terminus - - JetBrainsMono - - NerdFontsSymbolsOnly - google-fonts: - - Roboto - - Lexend - - type: gnome-extensions - install: - - 6 # Applications Menu - - 1460 # Vitals - - 1160 # Dash to Panel - - 97 # Coverflow Alt-Tab - - 8671 # All-in-One Clipboard - - 7856 # Mouse Tail - - 8971 # Lock Guard - - 4338 # Allow Locked Remote Desktop - - 4548 # Tactile - # Below are provided currently by Bazzite - #- 615 # *AppIndicator and KStatusNotifierItem Support - #- 8760 # *Add to Steam - #- 3193 # *Blur my Shell - #- 517 # *Caffeine - #- 3740 # *Compiz alike magic lamp effect - #- 3210 # *Compiz windows effect - #- 7215 # *Restart To - #- 19 # *User Themes - #- 1319 # *GSConnect (Commented out as this extension will not work if installed system-wide without compile-time modifications, bazzite includes a modified version) - #- 4451 # *Logo Menu (Commented out as Bazzite includes customizations with their install) - - type: gschema-overrides - include: - - zz1-power-button-settings.gschema.override - - type: default-flatpaks@v1 - notify: true - system: - install: - - net.nokyan.Resources - - org.gimp.GIMP - - org.libreoffice.LibreOffice - - page.codeberg.libre_menu_editor.LibreMenuEditor - - us.zoom.Zoom - - com.bitwarden.desktop - - dev.zed.Zed - - dev.goats.xivlauncher - - com.github.zocker_160.SyncThingy - - io.github.vikdevelop.SaveDesktop - - md.obsidian.Obsidian - - org.strawberrymusicplayer.strawberry - - com.discordapp.Discord - - com.borgbase.Vorta - - org.mozilla.Thunderbird - - io.gitlab.librewolf-community - - io.github.ungoogled_software.ungoogled_chromium - remove: - - org.gnome.Boxes - - org.videolan.VLC - user: - remove: - - org.gnome.Boxes - - org.videolan.VLC - - type: systemd - system: - enabled: - - docker.service - - type: signing - diff --git a/recipes/gui.yml b/recipes/gui.yml new file mode 100644 index 0000000..cb57fd9 --- /dev/null +++ b/recipes/gui.yml @@ -0,0 +1,66 @@ +modules: + - type: fonts + fonts: + nerd-fonts: + - FiraCode + - Hack + - SourceCodePro + - Terminus + - JetBrainsMono + - NerdFontsSymbolsOnly + google-fonts: + - Roboto + - Lexend + - type: dnf + repos: + files: + - https://packages.microsoft.com/yumrepos/vscode/config.repo + - https://copr.fedorainfracloud.org/coprs/lizardbyte/stable/repo/fedora-43/lizardbyte-stable-fedora-43.repo + keys: + - https://packages.microsoft.com/keys/microsoft.asc + - https://download.copr.fedorainfracloud.org/results/lizardbyte/stable/pubkey.gpg + install: + packages: + - vlc + - mpv + - libvirt + - virt-manager + - code + - sunshine + - chromium + - chromedriver + - gstreamer1-plugins-ugly-free + - gstreamer1-plugins-bad-free + - gstreamer1-plugins-bad-free-extras + - gstreamer1-plugins-good + - gstreamer1-plugins-good-extras + - gstreamer1-plugins-base + - gstreamer1-plugins-base-tools + - type: default-flatpaks@v1 # only v1 allows removals + notify: true + system: + install: + - net.nokyan.Resources + - org.gimp.GIMP + - org.libreoffice.LibreOffice + - page.codeberg.libre_menu_editor.LibreMenuEditor + - us.zoom.Zoom + - com.bitwarden.desktop + - dev.zed.Zed + - dev.goats.xivlauncher + - com.github.zocker_160.SyncThingy + - io.github.vikdevelop.SaveDesktop + - md.obsidian.Obsidian + - org.strawberrymusicplayer.strawberry + - com.discordapp.Discord + - com.borgbase.Vorta + - org.mozilla.Thunderbird + - io.gitlab.librewolf-community + - io.github.ungoogled_software.ungoogled_chromium + remove: + - org.gnome.Boxes + - org.videolan.VLC + user: + remove: + - org.gnome.Boxes + - org.videolan.VLC diff --git a/recipes/recipe_gnome-nvidia-open.yml b/recipes/recipe_gnome-nvidia-open.yml deleted file mode 100644 index 269e9c4..0000000 --- a/recipes/recipe_gnome-nvidia-open.yml +++ /dev/null @@ -1,8 +0,0 @@ -name: bazzite-badblocks-gnome-nvidia-open -description: badblocks's custom bazzite-gnome-nvidia-open build - -base-image: ghcr.io/ublue-os/bazzite-gnome-nvidia-open -image-version: latest - -modules: - - from-file: common-modules.yml diff --git a/recipes/recipe_gnome.yml b/recipes/recipe_gnome.yml deleted file mode 100644 index 507f191..0000000 --- a/recipes/recipe_gnome.yml +++ /dev/null @@ -1,8 +0,0 @@ -name: bazzite-badblocks-gnome -description: badblocks's custom bazzite-gnome build - -base-image: ghcr.io/ublue-os/bazzite-gnome -image-version: latest - -modules: - - from-file: common-modules.yml diff --git a/recipes/ucore-hci.yml b/recipes/ucore-hci.yml new file mode 100644 index 0000000..7cde004 --- /dev/null +++ b/recipes/ucore-hci.yml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json +name: ucore-hci-badblocks +description: Customizations of ucore for personal use + +base-image: ghcr.io/ublue-os/ucore-hci +image-version: lts + +modules: + - from-file: base.yml