mirror-ublue-os-akmods/images.yaml
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

191 lines
4.2 KiB
YAML

---
defaults:
kernel_flavor: main
version: 44
akmods_target: common
# ZFS defaults can be overridden per kernel flavor without affecting the build matrix.
zfs:
default:
# renovate: datasource=github-releases depName=openzfs/zfs extractVersion=^zfs-(?<version>.+)$
version: "2.4.4"
linux_experimental: false
coreos-testing:
# renovate: datasource=github-releases depName=openzfs/zfs extractVersion=^zfs-(?<version>.+)$
version: "2.4.4"
linux_experimental: false
arch-arm-x86: &arch-arm-x86
architecture:
- aarch64
- x86_64
arch-only-x86: &arch-only-x86
architecture:
- x86_64
akmods-base: &akmods-base
org: ublue-os
registry: ghcr.io
repo: akmods
transport: docker://
akmods-common: &akmods-common
name: akmods
description: "A caching layer for pre-built akmod RPMs"
akmods-nvidia-lts: &akmods-nvidia-lts
name: akmods-nvidia-lts
description: "A caching layer for the pre-built nvidia-lts akmod RPMs"
akmods-nvidia-open: &akmods-nvidia-open
name: akmods-nvidia-open
description: "A caching layer for the pre-built nvidia-open akmod RPMs"
akmods-zfs: &akmods-zfs
name: akmods-zfs
description: "A caching layer for the pre-built zfs akmod RPMs"
akmods-extra: &akmods-extra
name: akmods-extra
description: "A caching layer for pre-built extra akmod RPMs"
desktop-build-group-only-x86: &desktop-build-group-only-x86
common:
!!merge <<:
- *akmods-base
- *akmods-common
- *arch-only-x86
nvidia-lts:
!!merge <<:
- *akmods-base
- *akmods-nvidia-lts
- *arch-only-x86
nvidia-open:
!!merge <<:
- *akmods-base
- *akmods-nvidia-open
- *arch-only-x86
ogc-desktop-build-group-only-x86: &ogc-desktop-build-group-only-x86
common:
!!merge <<:
- *akmods-base
- *akmods-common
- *arch-only-x86
extra:
!!merge <<:
- *akmods-base
- *akmods-extra
- *arch-only-x86
nvidia-open:
!!merge <<:
- *akmods-base
- *akmods-nvidia-open
- *arch-only-x86
ogc-lts-desktop-build-group-only-x86: &ogc-lts-desktop-build-group-only-x86
common:
!!merge <<:
- *akmods-base
- *akmods-common
- *arch-only-x86
extra:
!!merge <<:
- *akmods-base
- *akmods-extra
- *arch-only-x86
nvidia-lts:
!!merge <<:
- *akmods-base
- *akmods-nvidia-lts
- *arch-only-x86
desktop-build-group: &desktop-build-group
common:
!!merge <<:
- *akmods-base
- *akmods-common
- *arch-arm-x86
nvidia-lts:
!!merge <<:
- *akmods-base
- *akmods-nvidia-lts
- *arch-arm-x86
nvidia-open:
!!merge <<:
- *akmods-base
- *akmods-nvidia-open
- *arch-arm-x86
server-build-group-only-x86: &server-build-group-only-x86
nvidia-lts:
!!merge <<:
- *akmods-base
- *akmods-nvidia-lts
- *arch-only-x86
nvidia-open:
!!merge <<:
- *akmods-base
- *akmods-nvidia-open
- *arch-only-x86
zfs:
!!merge <<:
- *akmods-base
- *akmods-zfs
- *arch-only-x86
server-build-group: &server-build-group
nvidia-lts:
!!merge <<:
- *akmods-base
- *akmods-nvidia-lts
- *arch-arm-x86
nvidia-open:
!!merge <<:
- *akmods-base
- *akmods-nvidia-open
- *arch-arm-x86
zfs:
!!merge <<:
- *akmods-base
- *akmods-zfs
- *arch-arm-x86
images:
43:
coreos-stable:
!!merge <<:
- *desktop-build-group
- *server-build-group
44:
main:
!!merge <<:
- *desktop-build-group-only-x86
ogc:
!!merge <<:
- *ogc-desktop-build-group-only-x86
ogc-lts:
!!merge <<:
- *ogc-lts-desktop-build-group-only-x86
coreos-stable:
!!merge <<:
- *desktop-build-group
- *server-build-group
coreos-testing:
!!merge <<:
- *desktop-build-group
- *server-build-group
"longterm-6.18":
!!merge <<:
- *server-build-group
45:
main:
!!merge <<:
- *desktop-build-group-only-x86
ogc:
!!merge <<:
- *ogc-desktop-build-group-only-x86
ogc-lts:
!!merge <<:
- *ogc-lts-desktop-build-group-only-x86