Skip to content

feat(boards): link to independent benchmark results - #57

Closed
bretmlw wants to merge 1 commit into
armbian:mainfrom
bretmlw:feat/board-benchmarks-link
Closed

bretmlw wants to merge 1 commit into
armbian:mainfrom
bretmlw:feat/board-benchmarks-link

Conversation

@bretmlw

@bretmlw bretmlw commented Oct 15, 2026

Copy link
Copy Markdown
Member

I previously discussed this with Igor, and thought that I'd pull my finger out and work on it myself so it was easier for you guys. Ultimately, the idea is to include sbccompare benchmark result links on the board pages so that users can quickly go and check benchmark results for a board they're looking to flash. 64 boards match at this stage, though I'll have the full changes/checks summarised below. A partner API is available should we want to do anything further with data in the future but that's a bigger change and maybe it's best to stick to something simple like this for now.

What this changes

Adds an optional benchmarks_url field to board enrichment data. When it is set, the board page shows one extra row in the links card (under "Build documentation"): " benchmark results", with a ChartColumn icon, linking to independent benchmark results on sbc.compare. Boards without the field look exactly as they do today.

  • packages/schemas: benchmarks_url added to BoardEnrichmentSchema (optional URL) and BoardDetailSchema (nullable, defaults to null)
  • apps/api: the normaliser passes it through from enrichments.json, the same way as soc and summary
  • apps/www: the row is rendered only when the field is present; the label is a new board.benchmarks key in all 17 locales, with {board} interpolated
  • apps/api/data/enrichments.json: links for 64 boards. The three existing QDL entries are untouched apart from gaining the field.

How the boards were mapped

  • Only boards that are public on sbc.compare are linked: a verified benchmark run is required, so no link points at an empty page or a 404.
  • Each match was reviewed by hand, not just name-matched. Boards where the Armbian page describes different hardware were left out: for example, the Banana Pi M2S page is the A311D version, while our results are for the S922X version.
  • rpi4b covers every 64-bit Pi, so it links to the Raspberry Pi overview page rather than a single model.
  • End-of-support (.eos) boards have no page on armbian.com and are excluded.
  • Every link was checked to return 200 on both armbian.com and sbc.compare.

Testing

  • ./manage.sh quality all, lint and format all pass.
  • The i18n parity check from website-quality.yml passes, and every locale's label contains {board}.
  • Built and ran the full stack locally with Docker Compose (api, postgres, www) and checked the rendered pages:
    • linked boards show the row, with the correct URL and translated label (checked en, de, ja)
    • unmapped boards show no row and no empty space
    • the QDL boards (radxa-dragon-q6a, radxa-dragon-q8b, arduino-uno-q) still load their QDL data, and the QDL asset cache skips the entries that have no qdl block
  • BoardSummary is unchanged; the field is only on the detail response, so the Imager and other API consumers are unaffected.

Maintenance

I keep the mapping on my side and will send small follow-up PRs that only touch enrichments.json when boards are added, or if one ever stops being public. You shouldn't need to maintain anything.

🤖 Generated with Claude Code

Add an optional benchmarks_url to board enrichments, passed through the
normaliser to BoardDetail. When set, the board page's links card shows a
"<board> benchmark results" row (all 17 locales). Seeded with sbc.compare
links for 64 boards that have verified public results.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 7db8f8ce-108e-4bbc-8839-b39c4179b835
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@bretmlw
bretmlw marked this pull request as draft October 15, 2026 10:49
@bretmlw

bretmlw commented Oct 15, 2026

Copy link
Copy Markdown
Member Author

Closing after #47 was pointed out, will revisit in the future if 3rd party results are ever of interest.

@bretmlw bretmlw closed this Oct 15, 2026
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.

2 participants