Skip to content

Feat/driver versions redesign#665

Merged
castrojo merged 4 commits intoprojectbluefin:mainfrom
castrojo:feat/driver-versions-redesign
Mar 13, 2026
Merged

Feat/driver versions redesign#665
castrojo merged 4 commits intoprojectbluefin:mainfrom
castrojo:feat/driver-versions-redesign

Conversation

@castrojo
Copy link
Contributor

No description provided.

Remove the static driver-versions.md with its stale, manually-maintained
tables, the weekly update-driver-versions.js script, the corresponding
GitHub Actions workflow, and the NVIDIA URL cache file.

Replace with driver-versions.mdx using a new DriverVersionsTable React
component that reads directly from the existing bluefinReleases and
bluefinLtsReleases feeds at build time. The component:
- Filters bluefinReleases to stable- prefixed items only (GTS removed)
- Caps each stream at 10 rows (matching feed limits)
- Extracts Kernel, HWE Kernel, Mesa, and NVIDIA versions using the
  existing extractPackageVersion() utility and PACKAGE_PATTERNS
- Handles the `A ➡️ B` arrow format (takes rightmost value)
- Links each row to the GitHub release page via resolveItemLink()
- Gracefully degrades if feed data is unavailable

Removes all GTS references from the page.

Assisted-by: Claude Sonnet 4.6 via OpenCode
Item titles include a redundant subtitle after the colon
(e.g. 'stable-20260312: Stable (F43.20260312, #49d0f11)').
Strip everything after ': ' so only the tag is shown.

Assisted-by: Claude Sonnet 4.6 via OpenCode
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request is a great improvement, replacing the script-based, static driver versions page with a dynamic React component that fetches data directly from release feeds. This significantly reduces maintenance and ensures the information is always up-to-date. The implementation is clean and well-structured. I've identified a critical issue regarding unsafe access to configuration properties that could lead to a runtime crash. Addressing this will make the new component more robust.

Comment on lines +129 to +132
const kernel = extractPackageVersion(content, kernelPattern) ?? "";
const hweKernel = extractPackageVersion(content, hweKernelPattern) ?? "";
const mesa = extractPackageVersion(content, mesaPattern) ?? "";
const nvidia = extractPackageVersion(content, nvidiaPattern) ?? "";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

To complement the safe access of package patterns, these lines should be updated to handle potentially undefined patterns. This prevents passing undefined to extractPackageVersion, which would cause a runtime error.

  const kernel = kernelPattern
    ? extractPackageVersion(content, kernelPattern) ?? ""
    : "";
  const hweKernel = hweKernelPattern
    ? extractPackageVersion(content, hweKernelPattern) ?? ""
    : "";
  const mesa = mesaPattern
    ? extractPackageVersion(content, mesaPattern) ?? ""
    : "";
  const nvidia = nvidiaPattern
    ? extractPackageVersion(content, nvidiaPattern) ?? ""
    : "";

castrojo and others added 2 commits March 12, 2026 21:42
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…chaining

Replace ! assertions on PACKAGE_PATTERNS.find() with ?.pattern so a
missing pattern entry returns undefined rather than throwing at runtime.
Guard extractPackageVersion calls to only run when the pattern is defined.

Addresses Gemini code review feedback on PR projectbluefin#665.

Assisted-by: Claude Sonnet 4.6 via OpenCode
@castrojo castrojo merged commit 61d2c35 into projectbluefin:main Mar 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant