Commit graph

25 commits

Author SHA1 Message Date
Benjamin Sherman
bd91a7eb53
fix(ci): stop four recurring CI flakes (#618)
* fix(build): retry dnf installs with fresh metadata

Fedora updates pushes leave mirrors briefly inconsistent. dnf rejects the
new repomd, accepts an older one, then 404s on RPMs that have already been
removed. A plain retry reuses that metadata, especially with the persistent
libdnf5 cache, so refresh it between attempts.

* fix(zfs): pin ZFS release instead of querying the GitHub API

Unauthenticated api.github.com calls from shared runner IPs get rate-limited,
and short curl retries cannot outlast an hourly limit. Pinning the full
release removes that call and makes version bumps show up as PRs.

BREAKING: ZFS_MINOR_VERSION and zfs.*.minor_version are no longer read.
Use ZFS_VERSION and zfs.*.version (full X.Y.Z). Renovate manages the pin.

* fix(just): resolve CoreOS kernel without pulling the image

cache-kernel pulls the full fedora-coreos image on every arch just to run
rpm -q kernel, and a quay.io CDN EOF fails the job. Read the build id from
the image index and the kernel from commitmeta.json instead.

An empty or invalid cache.json was also published, so the later step failed
with "Input required and not supplied: path". Write the cache only after
the fields check out, and drop a restored cache that does not match.

* fix(just): retry koji kernel lookups

A transient curl error was treated as "not found" because the check matched
the string "200 OK" with no retry. That dropped the release number by 100
and could select the wrong kernel or none. Retry transport failures, and
only use the fallback after a successful request that returns 404.

* docs: document RPMFUSION_MIRROR build override

The variable already changes where the build fetches RPM Fusion packages,
but it was not listed with the other Justfile environment variables.
2026-10-24 18:08:40 -05:00
Robin?
d4bab83a0e
chore: remove centos and centos-kmodsig akmods support (#608)
* chore: remove centos and centos-kmodsig akmods support

CentOS Stream 10 builds are no longer needed. This change removes:
- The centos kernel flavor from images.yaml and its generated workflow
- The centos-kmodsig dead code from Justfile and fetch-kernel.sh
- All centos-specific branches in build scripts (prep, test, nvidia, dual-sign)
- The #ifndef CENTOS preprocessor guard in Containerfile.in
- CentOS references from README.md badges and examples
- CentOS from artifacthub package keywords

* docs: update akmods example version to 44
2026-10-13 19:24:35 +00:00
Benjamin Sherman
21c5bae947
chore: drop Fedora 43 builds (#600)
* chore: drop Fedora 43 builds

Fedora 43 akmods are no longer needed by the maintained downstreams.
Retire their build matrix alongside the removal of GTS support in
ublue-os/main to stop producing unused kernel and module caches.

* fix: preserve Fedora 43 CoreOS stable builds

Bluefin LTS HWE and GDX still consume coreos-stable-43 akmods, so retain that flavor while dropping the other Fedora 43 builds.
2026-10-02 07:07:08 +00:00
Kyle Gospodnetich
1e4d10b9ac
feat: Add Fedora 45 support for OGC and OGC-LTS (#597)
* feat: Add Fedora 45 support for OGC and OGC-LTS

* fix: Drop a dependency and use skopeo
2026-09-24 22:34:59 -07:00
inffy
69c139b49b
feat: fedora 45 bringup (#594)
* bringup f45

* update the workflow

* do-not-test

* use dnf repo commands instead of sed

* gate openrazer on f45

* add notice for temp workaround for openrazer
2026-09-17 12:09:56 -05:00
Kyle Gospodnetich
afc983c624
feat: Add support for OGC LTS kernel (#574) 2026-08-17 01:06:26 -07:00
Benjamin Sherman
c30f343b72
fix(zfs): backport upstream 7.1 and mmap fixes into 2.4.3 (#566)
coreos-stable ZFS builds have failed since CoreOS moved to kernel 7.1,
holding back kernel CVE fixes and nvidia driver updates from ucore and
other downstream consumers.

The 7.1 code compat (openzfs/zfs#18471) already shipped in 2.4.3 — only
META's Linux-Maximum gates it. Raising that ceiling (openzfs/zfs#18682)
unblocks the build without --enable-linux-experimental, which would
otherwise flood dmesg with EXPERIMENTAL warnings and mask real errors.

Also carry openzfs/zfs#18715, which replaces a compiled-out ASSERT3U in
zfs_fillpage() with a real bounds check. Without it an mmap read racing a
truncate underflows io_len and zero-fills forward across physical memory.
This is not 7.1-specific and already affects the 7.0.x builds we ship.

Neither commit is on zfs-2.4-release, so patching is gated to exactly
2.4.3 and stops once upstream ships a release carrying them.

coreos-testing no longer needs the experimental switch now that META
covers 7.1.
2026-08-10 13:12:53 +00:00
Benjamin Sherman
dd57cab266
feat(zfs): move release policy to images config (#554)
Default all ZFS akmod builds to the 2.4 release line through a per-kernel-flavor policy in images.yaml. Keep an explicit CoreOS testing override and enable OpenZFS's experimental Linux-kernel support there.
2026-07-20 17:04:19 +00:00
Benjamin Sherman
633b830284
feat: move longterm to F44 and update to 6.18 (#532)
chore: move longterm to F44 and update to 6.18

longterm-6.12 is not being built for F44, but our
coreos longterm builds are based on coreos stable, which is
now based on F44. So we need to bump the longterm-6.12
to longterm-6.18

Also, this removes coreos-testing from F43 since that is
not used by downstreams.
2026-05-23 15:24:05 +00:00
Benjamin Sherman
e01194cebd
chore: update workflows removing F42 (#529)
This removes F42 from akmods builds, since F44 is now current
and F43 is current-1.
2026-05-22 21:47:42 -05:00
inffy
0a02b808b5
chore: bump coreos-stable to f44 (#520)
* chore: bump coreos-stable to f44

* restore ogc check

* indent
2026-05-11 10:31:14 -07:00
m2
a2bd8a1a79
chore: add F44 for coreos-testing (#514) 2026-05-03 21:12:37 -04:00
Dylan M. Taylor
79f9814abb
feat: add OGC Fedora 44 builds (#485) 2026-04-02 10:50:07 +00:00
Kyle Gospodnetich
23ccfeec77
feat: Restore akmod-extra with a subset of the old akmods (#468)
* feat: Restore akmod-extra with a subset of the old akmods

* chore: Only build extra for OGC kernel for now
2026-03-19 19:07:31 -07:00
Kyle Gospodnetich
73a6f664b3
feat: Add support for the Open Gaming Collective kernel (#463) 2026-03-16 09:48:51 +00:00
Adam Fidel
e30435b77c
chore: add Fedora 44 (#460)
* chore: add Fedora 44 to images.yaml

* restore old cron schedules

* Remove coreos variants

* Regenerate workflows

* Bump rawhide guards

---------

Co-authored-by: inffy <10782843+inffy@users.noreply.github.com>
2026-03-12 06:40:04 +00:00
Benjamin Sherman
5e88e76e29
feat: enable aarch64 builds of nvidia 590 (#434)
* feat: enable aarch64 builds of nvidia 590

* possible for versions to mismatch, correct
2025-12-10 23:16:23 +00:00
Benjamin Sherman
cf9e81a01e
feat: support nvidia driver 590 with 580 LTS (#432)
* feat: support nvidia driver 590 with 580 LTS

Negativo17 added a 580 LTS repo in addition to the recent 590 update.
See: https://negativo17.org/nvidia-driver-580-lts-repository/

- 590 is always "open" and shipping on the existging `akmods-nvidia-open` image
- 580 is always "kernel" and shipping on a new `akmods-nvidia-lts` image
- gcc-c++ needed for 590
- no new `akmods-nvidia` images will be published
- sway environment was finally removed from ublue-os-nvidia-addons
- ublue-os-ucore-nvidia was removed as ublue-os-nvidia-addons now works for ucore

* add nvidia/nvidia-lts to cleanup

* set longterm default akmods_target to zfs

* bypass aarch64 for 590 nvidia driver

it won't build for me so this at least gets the intel builds going

* codacy fixes

* fixup typos

* nvidia-lts repo name should match file name
2025-12-09 00:13:30 +00:00
inffy
10a4cdb226
chore(ci): enable F43 coreOS stable builds (#418)
* enable F43 coreOS stable builds

* keep coreos-testing on F43, drop CentOS kmods SIG builds

Fedora CoreOS is now F43 for both stable and testing, so
also remove longterm-6.12 from F42. For same reason keep
building both stable and testing kmods for coreos F43.

centos-kmodsig are no longer in use by bluefin-lts, thus
removing to avoid noise.

Also, nvidia kmods are now only built when with a repo 
validated  nvidia-driver version.

---------

Co-authored-by: Benjamin Sherman <benjamin@holyarmy.org>
2025-11-12 12:37:18 -06:00
Benjamin Sherman
b2b4e9b6dc
fix: enable Fedora 43 CoreOS builds to succeed (#416)
* fix: enable Fedora 43 CoreOS builds to succeed

with Fedora 43, CoreOS switched to a Containerfile (podman build)
solution for publishing their images. As a side effect they no longer
include the 'ostree.linux' label on those images.

This causes our coreos kernel version lookup to query RPM within
a given image to find the current kernel rather than inspecting
the image label.

Also some small cleanup to variables/comments to make more clear
how this works.

* update workflow for coreos-testing to use F43
2025-11-02 09:18:21 +00:00
Antheas Kapenekakis
9d0f6b0af6
fix: remove Bazzite and unused modules (#414)
* fix: remove bazzite and all of its modules

* fix: remove extra image by merging it into common

* fix: update codeowners

* fix: remove spurious cat

* fix: remove fedora 41

* fix: only build previous extra modules for x86

* fix: remove extra modules from common

* chore: update readme by removing removed modules

* fix: remove kvmfr completely
2025-11-01 19:22:06 +01:00
Robert Sturla
f5b4cbc644
feat: enable Fedora 43 builds (#410)
* feat: enable Fedora 43 builds

* chore: remove coreos builds

* chore: don't test nvidia-container-toolkit in tests

* remove nvidia container toolkit from test image

---------

Co-authored-by: Antheas Kapenekakis <git@antheas.dev>
2025-10-06 21:31:52 +00:00
Benjamin Sherman
9946c17373
feat: enable ARM builds for akmods (#394)
force merging with a manifest fix which prevented original merge queue from succeeding, but which could not be verified in CI until merge queue ran.
2025-09-09 21:52:49 -05:00
Benjamin Sherman
ad13f2b0bd
feat: replace centos-hsk kernel with centos-kmodsig (#391)
* feat: replace centos-hsk kernel with centos-kmodsig

This replaces the Hyperscale (hsk) kernel (which is no longer used by Bluefin LTS)
with the CentOS Kmods SIG kernel, now used for Bluefin LTS (HWE).

Closes: #349
Closes: #370

* correct kernel download

* can't install packages which down exist

* correct kmodsig kernel version query and download

* re-add kernel-core install

* cleanup and add dracut to kmods SIG kernel install

* slight cleanup
2025-08-22 14:17:20 +00:00
m2
00880e48db
refactor: implement local builds (#356)
* refactor: implement local builds

This has a long way to go. But at least want to get the branch published.

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* disable all workflows while iterating

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* cleanup fetch-kernel.sh

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* enable local builds

Still need to generate tags. Removal of most of the suffix Containerfiles.

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* add tags, images.yaml

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* use anchors more!

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* start on workflows

No Testing and Pushing in yet.

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* update workflows

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* more workflow modifications

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* don't cache during PRs

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* fix base64 decode

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* fix path name

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* name file

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* quotes?

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* try again.

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* try again

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* quote the env?

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* tell base64 to read from stdin

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* update workflows

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* try different way for getting json file

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* fix conditional

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* try github.workspace

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* just hardcode it

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* typo

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* main doesn't have zfs....

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* One button build

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* remove common from centos builds

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* handle defaults

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* fix package naming?

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* don't have ./

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* try using swap instead

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* path names

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* remove dnf remove

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* missing decleration

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* try allow-erasing instead

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* try reinstalling instead

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* Add testing via multistage build

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* add missing args

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* correct test tag name

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* fix VARS_KERNEL_VERSION now that the package is no longer messed up

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* always have json point to cache location

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* use a reusable cache workflow

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* Names

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* put generate workflow in justfile

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* add startpoint for multiarch

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* change the names

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* dynamic names for generating workflow

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* start appeasing the linter

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* fix kernel version detection

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* try again

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* filter for arch

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* move system76 to common

Appease the linter

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* permissions

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* more permissions

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* move system76 back

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* add arch to tags

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* add push/sign/manifest

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* silly names

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* remove secureboot just recipe, it's internal to fetch-kernel.sh

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* add CI=1 to scripts for debug output

* update warning for workflow within justfile

* remove for now

* Update dual-sign-check.sh

* Update Containerfile.in

* Update dual-sign-check.sh

* Add cosign fix

* Fix signing in push as well

* fix: hardcode internel kcwd for fetch-kernel.sh

* pass CI into fetch kernel, use cache version instead of get version for fetch kernel step

* split out bazzite workflow

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* rename name of reusable build

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* additional adds to manifest

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* allow workflow dispatch for cache/akmods build

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* add comments to Justfile

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* split mega workflow by flavors

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* Build Badges and README

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* appease the linter

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

* tiny AKMODS_VERSION string update

* fix manifest recipe

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>

---------

Signed-off-by: m2 <69128853+m2Giles@users.noreply.github.com>
Co-authored-by: Benjamin Sherman <benjamin@holyarmy.org>
2025-07-07 20:09:34 -04:00