diff --git a/.github/changelogs.py b/.github/changelogs.py index fbd3ec870..7def2a3a4 100644 --- a/.github/changelogs.py +++ b/.github/changelogs.py @@ -10,7 +10,7 @@ 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 @@ "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": diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index fd51ea776..3f51a99e5 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -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 diff --git a/.github/workflows/build-image-latest-hwe.yml b/.github/workflows/build-image-latest-hwe.yml deleted file mode 100644 index 98050bd6a..000000000 --- a/.github/workflows/build-image-latest-hwe.yml +++ /dev/null @@ -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"]' diff --git a/.github/workflows/build-image-latest-main.yml b/.github/workflows/build-image-latest-main.yml index 0c60da533..5b91bbc75 100644 --- a/.github/workflows/build-image-latest-main.yml +++ b/.github/workflows/build-image-latest-main.yml @@ -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 diff --git a/.github/workflows/build-images.yml b/.github/workflows/build-images.yml index 7699d5a9d..c17b91922 100644 --- a/.github/workflows/build-images.yml +++ b/.github/workflows/build-images.yml @@ -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 + diff --git a/.github/workflows/reusable-build.yml b/.github/workflows/reusable-build.yml index 214bfe3ae..feca1564b 100644 --- a/.github/workflows/reusable-build.yml +++ b/.github/workflows/reusable-build.yml @@ -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 diff --git a/Justfile b/Justfile index 6bd02c51a..96b147ec4 100644 --- a/Justfile +++ b/Justfile @@ -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 diff --git a/README.md b/README.md index 2206269bb..52727a2bc 100644 --- a/README.md +++ b/README.md @@ -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) diff --git a/build_files/base/00-image-info.sh b/build_files/base/00-image-info.sh index cd08ed13e..e24b2a1cb 100755 --- a/build_files/base/00-image-info.sh +++ b/build_files/base/00-image-info.sh @@ -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 diff --git a/build_files/base/09-hwe-additions.sh b/build_files/base/09-hwe-additions.sh deleted file mode 100755 index 525dd63d6..000000000 --- a/build_files/base/09-hwe-additions.sh +++ /dev/null @@ -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::" diff --git a/build_files/base/19-initramfs.sh b/build_files/base/19-initramfs.sh index 37f3a225f..a3a400b08 100755 --- a/build_files/base/19-initramfs.sh +++ b/build_files/base/19-initramfs.sh @@ -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::" diff --git a/build_files/dx/02-install-kernel-akmods-dx.sh b/build_files/dx/02-install-kernel-akmods-dx.sh index 009a1a460..422a7f2cf 100755 --- a/build_files/dx/02-install-kernel-akmods-dx.sh +++ b/build_files/dx/02-install-kernel-akmods-dx.sh @@ -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} diff --git a/build_files/shared/build-base.sh b/build_files/shared/build-base.sh index c7ec35e47..8d5095c69 100755 --- a/build_files/shared/build-base.sh +++ b/build_files/shared/build-base.sh @@ -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