chore: drop HWE + nvidia-legacy images (#763)

* chore: drop HWE images

This shouldn't be merged befora F43 images have released

* justfile fixes

* chore: remove hwe bazzite kernel logic

* docs: remove HWE badge from README

* update initramfs script to match main now

Co-authored-by: renner <80410025+renner0e@users.noreply.github.com>

* fix: remove leftover QUALIFIED_KERNEL

* update copilot instructions

* remove nvidia-legacy  too

* remove legacy-nvidia

* more legacy-nvidia found

* oops

* chore(ci): remove hwe workflow

* chore(just): remove nvidia closed from retagger

* chore: remove nvidia closed from image-info.sh

---------

Co-authored-by: renner <renner0@posteo.de>
Co-authored-by: renner <80410025+renner0e@users.noreply.github.com>
This commit is contained in:
inffy 2025-10-24 22:11:49 +03:00 committed by GitHub
parent 2e2f1d80d8
commit 0524a13111
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 18 additions and 193 deletions

View file

@ -10,7 +10,7 @@ REGISTRY = "docker://ghcr.io/ublue-os/"
IMAGE_MATRIX_LATEST = {
"experience": ["base", "dx"],
"image_flavor": ["main", "nvidia", "hwe", "hwe-nvidia"],
"image_flavor": ["main", "nvidia"],
}
IMAGE_MATRIX = {
"experience": ["base", "dx"],
@ -33,7 +33,7 @@ OTHER_NAMES = {
"dx": "### [Dev Experience Images](https://docs.projectbluefin.io/bluefin-dx)\n| | Name | Previous | New |\n| --- | --- | --- | --- |{changes}\n\n",
"kde": "### [Aurora Images](https://getaurora.dev/)\n| | Name | Previous | New |\n| --- | --- | --- | --- |{changes}\n\n",
"nvidia": "### Nvidia Images\n| | Name | Previous | New |\n| --- | --- | --- | --- |{changes}\n\n",
"hwe": "### HWE Images\n| | Name | Previous | New |\n| --- | --- | --- | --- |{changes}\n\n",
}
COMMITS_FORMAT = "### Commits\n| Hash | Subject | Author |\n| --- | --- | --- |{commits}\n\n"
@ -207,8 +207,7 @@ def get_package_groups(target: str, prev: dict[str, Any], manifests: dict[str, A
if img not in pkg:
continue
if t == "hwe" and "hwe" not in image_flavor:
continue
if t == "nvidia" and "nvidia" not in image_flavor:
continue
if t == "base" and experience != "base":

View file

@ -35,7 +35,7 @@ This document provides essential information for coding agents working with the
### Architecture
- **Two Build Targets**: `base` (regular users) and `dx` (developer experience)
- **Image Flavors**: main, nvidia, nvidia-open, hwe variants, asus, surface
- **Image Flavors**: main, nvidia-open
- **Fedora Versions**: 42, 43 supported
- **Build Process**: Sequential shell scripts in build_files/ directory

View file

@ -1,29 +0,0 @@
name: Latest Images HWE
on:
schedule:
- cron: '0 2 * * 0' # Weekly on Sunday at 2 AM UTC
workflow_call:
workflow_dispatch:
jobs:
build-image-latest:
name: Build Latest Images
uses: ./.github/workflows/reusable-build.yml
secrets: inherit
strategy:
fail-fast: false
matrix:
brand_name: ["aurora"]
with:
image_flavors: '["hwe", "hwe-nvidia", "hwe-nvidia-open"]'
brand_name: ${{ matrix.brand_name }}
stream_name: latest
#kernel_pin: 6.12.12-207.bazzite.fc41.x86_64
generate-release:
name: Generate Release
needs: [build-image-latest]
secrets: inherit
uses: ./.github/workflows/generate-release.yml
with:
stream_name: '["latest"]'

View file

@ -26,7 +26,7 @@ jobs:
matrix:
brand_name: ["aurora"]
with:
image_flavors: '["main", "nvidia", "nvidia-open"]'
image_flavors: '["main", "nvidia-open"]'
brand_name: ${{ matrix.brand_name }}
stream_name: latest
#kernel_pin: 6.12.15-200.fc41.x86_64

View file

@ -14,9 +14,7 @@ jobs:
build-image-latest-main:
uses: ./.github/workflows/build-image-latest-main.yml
secrets: inherit
build-image-latest-hwe:
uses: ./.github/workflows/build-image-latest-hwe.yml
secrets: inherit
# build-image-beta:
# uses: ./.github/workflows/build-image-beta.yml
# secrets: inherit

View file

@ -3,8 +3,8 @@ on:
workflow_call:
inputs:
image_flavors:
description: "JSON string of flavors to build, '[main, nvidia, hwe, hwe-nvidia]'"
default: "['main', 'nvidia', 'nvidia-open']"
description: "JSON string of flavors to build, '[main, nvidia-open]'"
default: "['main','nvidia-open']"
type: string
brand_name:
description: "The Brand Name: aurora"
@ -189,17 +189,7 @@ jobs:
sudo -E podman push ${{ env.IMAGE_NAME }}:${tag} ${{ steps.registry_case.outputs.lowercase }}/${{ env.IMAGE_NAME }}:${tag}
done
if [[ "${{ matrix.image_flavor }}" =~ hwe ]]; then
image_name="${{ env.IMAGE_NAME }}"
asus_name="${image_name/hwe/asus}"
surface_name="${image_name/hwe/surface}"
for tag in ${{ steps.generate-tags.outputs.alias_tags }}; do
sudo -E podman push ${asus_name}:${tag} ${{ steps.registry_case.outputs.lowercase }}/${asus_name}:${tag}
sudo -E podman push ${surface_name}:${tag} ${{ steps.registry_case.outputs.lowercase }}/${surface_name}:${tag}
done
fi
digest=$(skopeo inspect docker://${{ steps.registry_case.outputs.lowercase }}/${{ env.IMAGE_NAME }}:${{ env.DEFAULT_TAG }} --format '{{.Digest}}')
@ -218,19 +208,7 @@ jobs:
COSIGN_EXPERIMENTAL: false
COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }}
- name: Sign container image
if: github.event_name != 'pull_request' && contains(matrix.image_flavor, 'hwe')
shell: bash
run: |
image_name="${{ env.IMAGE_NAME }}"
asus_name="${image_name/hwe/asus}"
surface_name="${image_name/hwe/surface}"
cosign sign -y --key env://COSIGN_PRIVATE_KEY ${{ steps.registry_case.outputs.lowercase }}/${asus_name}@${TAGS}
cosign sign -y --key env://COSIGN_PRIVATE_KEY ${{ steps.registry_case.outputs.lowercase }}/${surface_name}@${TAGS}
env:
TAGS: ${{ steps.push.outputs.outputs && fromJSON(steps.push.outputs.outputs).digest }}
COSIGN_EXPERIMENTAL: false
COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }}
- name: Add SBOM Attestation
if: false

View file

@ -7,17 +7,7 @@ images := '(
)'
flavors := '(
[main]=main
[nvidia]=nvidia
[nvidia-open]=nvidia-open
[hwe]=hwe
[hwe-nvidia]=hwe-nvidia
[hwe-nvidia-open]=hwe-nvidia-open
[asus]=asus
[asus-nvidia]=asus-nvidia
[asus-nvidia-open]=asus-nvidia-open
[surface]=surface
[surface-nvidia]=surface-nvidia
[surface-nvidia-open]=surface-nvidia-open
)'
tags := '(
[stable]=stable
@ -99,10 +89,6 @@ validate $image $tag $flavor:
echo "Invalid flavor..."
exit 1
fi
if [[ ! "$checktag" =~ latest && "$checkflavor" =~ hwe|asus|surface ]]; then
echo "HWE images are only built on latest..."
exit 1
fi
# Build Image
[group('Image')]
@ -129,9 +115,7 @@ build $image="aurora" $tag="latest" $flavor="main" rechunk="0" ghcr="0" pipeline
fi
# AKMODS Flavor and Kernel Version
if [[ "${flavor}" =~ hwe ]]; then
akmods_flavor="bazzite"
elif [[ "${tag}" =~ stable ]]; then
if [[ "${tag}" =~ stable ]]; then
akmods_flavor="coreos-stable"
elif [[ "${tag}" =~ beta ]]; then
akmods_flavor="main"
@ -162,8 +146,6 @@ build $image="aurora" $tag="latest" $flavor="main" rechunk="0" ghcr="0" pipeline
fi
if [[ "${flavor}" =~ nvidia-open ]]; then
{{ just }} verify-container "akmods-nvidia-open:${akmods_flavor}-${fedora_version}-${kernel_release}"
elif [[ "${flavor}" =~ nvidia ]]; then
{{ just }} verify-container "akmods-nvidia:${akmods_flavor}-${fedora_version}-${kernel_release}"
fi
# Get Version
@ -873,18 +855,7 @@ tag-images image_name="" default_tag="" tags="":
${PODMAN} tag $IMAGE {{ image_name }}:${tag}
done
# HWE Tagging
if [[ "{{ image_name }}" =~ hwe ]]; then
image_name="{{ image_name }}"
asus_name="${image_name/hwe/asus}"
surface_name="${image_name/hwe/surface}"
for tag in {{ tags }}; do
${PODMAN} tag "${IMAGE}" "${asus_name}":${tag}
${PODMAN} tag "${IMAGE}" "${surface_name}":${tag}
done
fi
# Show Images
${PODMAN} images
@ -910,6 +881,6 @@ retag-nvidia-on-ghcr working_tag="" stream="" dry_run="1":
echo "$GITHUB_PAT" | podman login -u $GITHUB_USERNAME --password-stdin ghcr.io
skopeo="skopeo"
fi
for image in aurora-nvidia-open aurora-nvidia aurora-dx-nvidia aurora-dx-nvidia-open; do
for image in aurora-nvidia-open aurora-dx-nvidia-open; do
$skopeo copy docker://ghcr.io/ublue-os/${image}:{{ working_tag }} docker://ghcr.io/ublue-os/${image}:{{ stream }}
done

View file

@ -1,7 +1,7 @@
# Aurora
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/a940189170c8456c85a75ea36edb32c7)](https://app.codacy.com/gh/ublue-os/aurora/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
[![Stable Images](https://github.com/ublue-os/aurora/actions/workflows/build-image-stable.yml/badge.svg)](https://github.com/ublue-os/aurora/actions/workflows/build-image-stable.yml) [![Latest Images](https://github.com/ublue-os/aurora/actions/workflows/build-image-latest-main.yml/badge.svg)](https://github.com/ublue-os/aurora/actions/workflows/build-image-latest-main.yml) [![Latest Images HWE](https://github.com/ublue-os/aurora/actions/workflows/build-image-latest-hwe.yml/badge.svg)](https://github.com/ublue-os/aurora/actions/workflows/build-image-latest-hwe.yml) [![Beta Images](https://github.com/ublue-os/aurora/actions/workflows/build-image-beta.yml/badge.svg)](https://github.com/ublue-os/aurora/actions/workflows/build-image-beta.yml) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/ublue-os/aurora-docs)
[![Stable Images](https://github.com/ublue-os/aurora/actions/workflows/build-image-stable.yml/badge.svg)](https://github.com/ublue-os/aurora/actions/workflows/build-image-stable.yml) [![Latest Images](https://github.com/ublue-os/aurora/actions/workflows/build-image-latest-main.yml/badge.svg)](https://github.com/ublue-os/aurora/actions/workflows/build-image-latest-main.yml) [![Beta Images](https://github.com/ublue-os/aurora/actions/workflows/build-image-beta.yml/badge.svg)](https://github.com/ublue-os/aurora/actions/workflows/build-image-beta.yml) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/ublue-os/aurora-docs)
[![LFX Active Contributors](https://insights.linuxfoundation.org/api/badge/active-contributors?project=aurora&repos=https://github.com/ublue-os/aurora)](https://insights.linuxfoundation.org/project/aurora)

View file

@ -18,9 +18,6 @@ IMAGE_REF="ostree-image-signed:docker://ghcr.io/$IMAGE_VENDOR/$IMAGE_NAME"
# Image Flavor
image_flavor="main"
if [[ "${IMAGE_NAME}" =~ nvidia ]]; then
image_flavor="nvidia"
fi
if [[ "${IMAGE_NAME}" =~ nvidia-open ]]; then
image_flavor="nvidia-open"
fi

View file

@ -1,80 +0,0 @@
#!/usr/bin/bash
echo "::group:: ===$(basename "$0")==="
set -eoux pipefail
if [[ "${IMAGE_NAME}" =~ hwe ]]; then
echo "HWE image detected, installing HWE packages"
else
echo "Standard image detected, skipping HWE packages"
exit 0
fi
# Asus/Surface for HWE
curl --retry 3 -Lo /etc/yum.repos.d/_copr_lukenukem-asus-linux.repo \
https://copr.fedorainfracloud.org/coprs/lukenukem/asus-linux/repo/fedora-$(rpm -E %fedora)/lukenukem-asus-linux-fedora-$(rpm -E %fedora).repo
curl --retry 3 -Lo /etc/yum.repos.d/linux-surface.repo \
https://pkg.surfacelinux.com/fedora/linux-surface.repo
ASUS_PACKAGES=(
asusctl
asusctl-rog-gui
)
SURFACE_PACKAGES=(
iptsd
libcamera
libcamera-tools
libcamera-gstreamer
libcamera-ipa
pipewire-plugin-libcamera
)
dnf5 -y install --skip-unavailable \
"${ASUS_PACKAGES[@]}" \
"${SURFACE_PACKAGES[@]}"
dnf5 -y swap \
libwacom-data libwacom-surface-data
dnf5 -y swap \
libwacom libwacom-surface
tee /usr/lib/modules-load.d/ublue-surface.conf << EOF
# Only on AMD models
pinctrl_amd
# Surface Book 2
pinctrl_sunrisepoint
# For Surface Laptop 3/Surface Book 3
pinctrl_icelake
# For Surface Laptop 4/Surface Laptop Studio
pinctrl_tigerlake
# For Surface Pro 9/Surface Laptop 5
pinctrl_alderlake
# For Surface Pro 10/Surface Laptop 6
pinctrl_meteorlake
# Only on Intel models
intel_lpss
intel_lpss_pci
# Add modules necessary for Disk Encryption via keyboard
surface_aggregator
surface_aggregator_registry
surface_aggregator_hub
surface_hid_core
8250_dw
# Surface Laptop 3/Surface Book 3 and later
surface_hid
surface_kbd
EOF
echo "::endgroup::"

View file

@ -4,14 +4,11 @@ echo "::group:: ===$(basename "$0")==="
set -oue pipefail
if [[ "${AKMODS_FLAVOR}" == "surface" ]]; then
KERNEL_SUFFIX="surface"
else
KERNEL_SUFFIX=""
fi
KERNEL_VERSION=$(rpm -q --queryformat="%{evr}.%{arch}" kernel-core)
QUALIFIED_KERNEL="$(rpm -qa | grep -P 'kernel-(|'"$KERNEL_SUFFIX"'-)(\d+\.\d+\.\d+)' | sed -E 's/kernel-(|'"$KERNEL_SUFFIX"'-)//')"
/usr/bin/dracut --no-hostonly --kver "$QUALIFIED_KERNEL" --reproducible -v --add ostree -f "/lib/modules/$QUALIFIED_KERNEL/initramfs.img"
chmod 0600 "/lib/modules/$QUALIFIED_KERNEL/initramfs.img"
# Ensure Initramfs is generated
export DRACUT_NO_XATTR=1
/usr/bin/dracut --no-hostonly --kver "${KERNEL_VERSION}" --reproducible -v --add ostree -f "/lib/modules/${KERNEL_VERSION}/initramfs.img"
chmod 0600 "/lib/modules/${KERNEL_VERSION}/initramfs.img"
echo "::endgroup::"

View file

@ -29,11 +29,6 @@ if [[ "$AKMODS_FLAVOR" = "main" && "$KERNEL" -ne $(rpm -q --queryformat="%{evr}.
dnf5 -y install /tmp/kernel-rpms/kernel{,-core,-modules,-modules-core,-modules-extra,-devel}-"${KERNEL}".rpm kernel-{tools,tools-libs}-"$KERNEL"
fi
# TODO: Remove this shit with F43
if [[ "$AKMODS_FLAVOR" = "bazzite" ]]; then
dnf5 -y install /tmp/kernel-rpms/kernel{,-core,-modules,-modules-core,-modules-extra}-"${KERNEL}".rpm
fi
# Prevent kernel stuff from upgrading again
dnf5 versionlock add kernel{,-core,-modules,-modules-core,-modules-extra,-tools,-tools-lib,-headers,-devel,-devel-matched}

View file

@ -43,8 +43,7 @@ echo "::endgroup::"
# Get Firmare for Framework
/ctx/build_files/base/08-firmware.sh
# Make HWE changes
/ctx/build_files/base/09-hwe-additions.sh
# Beta
/ctx/build_files/base/10-beta.sh