Skip to content

firmware: move {ARMBIAN/MAINLINE}_FIRMWARE_{SOURCE/BRANCH} to main-config & pin to tag/sha1 - #10654

Open
rpardini wants to merge 1 commit into
armbian:mainfrom
rpardini:pr/firmware-move-ARMBIANMAINLINEFIRMWARESOURCEBRANCH-to-main-config--pin-to-tagsha1
Open

firmware: move {ARMBIAN/MAINLINE}_FIRMWARE_{SOURCE/BRANCH} to main-config & pin to tag/sha1#10654
rpardini wants to merge 1 commit into
armbian:mainfrom
rpardini:pr/firmware-move-ARMBIANMAINLINEFIRMWARESOURCEBRANCH-to-main-config--pin-to-tagsha1

Conversation

@rpardini

@rpardini rpardini commented Sep 7, 2026

Copy link
Copy Markdown
Member
  • 🌿 single spot to set where to source firmware
  • 🌴 armbian's still does a branch:master lookup everytime (so it auto-bumps)
  • 🌱 mainline is now pinned to specific release (tag)'s sha1, for faster lookups
  • 🐸 if needed new firmware lands upstream, bump the tag/sha1 manually
    • this should avoid the multiple terabytes of armbian-firmware-full churn

Summary by CodeRabbit

  • Improvements
    • Firmware builds now use centrally configured Armbian firmware sources and branches.
    • Mainline firmware is fetched from a pinned revision for more consistent build results.
    • Firmware packaging supports configurable source and branch references instead of relying on fixed defaults.

…nfig & pin to tag/sha1

- single spot to set where to source firmware
- armbian's still does a branch:master lookup everytime (so it auto-bumps)
- mainline is now pinned to specific release (tag)'s sha1, for faster lookups
- if needed new firmware lands upstream, bump the tag/sha1 manually
  - this should avoid the multiple terabytes of armbian-firmware-full churn
@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 44e646af-423c-40ee-80d1-f19ef87a1a3f

📥 Commits

Reviewing files that changed from the base of the PR and between a9ff8fb and 1ea3f15.

📒 Files selected for processing (4)
  • lib/functions/artifacts/artifact-firmware.sh
  • lib/functions/artifacts/artifact-full_firmware.sh
  • lib/functions/compilation/packages/firmware-deb.sh
  • lib/functions/configuration/main-config.sh
💤 Files with no reviewable changes (1)
  • lib/functions/artifacts/artifact-firmware.sh

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The change centralizes firmware source and revision settings in global configuration. Firmware preparation and Debian packaging now use these values instead of local defaults and hardcoded revisions.

Changes

Firmware source configuration

Layer / File(s) Summary
Shared firmware settings
lib/functions/configuration/main-config.sh, lib/functions/artifacts/artifact-full_firmware.sh
Defines readonly Armbian firmware source and branch values, pins the mainline firmware commit, and passes the configured mainline revision to firmware metadata.
Firmware package fetching
lib/functions/compilation/packages/firmware-deb.sh
Uses the configured Armbian source and branch and the configured mainline firmware source and revision when fetching firmware.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 1ea3f

Firmware source and revision settings are centralized while mainline firmware is pinned to a specific revision. The supplied changes consistently use the shared settings, with no remaining merge-blocking risk identified.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 3 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: moving firmware source and branch configuration to main-config and pinning the mainline firmware reference.
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@github-actions github-actions Bot added size/small PR with less then 50 lines 11 Milestone: Fourth quarter release Needs review Seeking for review Framework Framework components labels Sep 7, 2026
@rpardini
rpardini marked this pull request as ready for review September 7, 2026 18:50
# Mainline firmware git version
# used to be 'branch:master', but that caused a lot of churn. Bump this when needed. Use the latest published tag's SHA1.
# Important: use the tag's ref commit, not the the sha1 for the signed tag itself.
declare -g -r MAINLINE_FIRMWARE_BRANCH="${MAINLINE_FIRMWARE_BRANCH:-"commit:2135b2f7714a3a514c989b9728f51f36144cab6f"}" # ref: 'tag:20260810'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

That's pretty well hidden there.
At some point we may need a dedicated file where all commit hash fixed things are present. Just thinking of drivers_network.sh.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Agree. This is something that will likely be forgotten. Perhaps query tags and use latest tag?
image

Seems like a middle ground of the problem.

@github-actions github-actions Bot added the Work in progress Unfinished / work in progress label Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

11 Milestone: Fourth quarter release Framework Framework components Needs review Seeking for review size/small PR with less then 50 lines Work in progress Unfinished / work in progress

Development

Successfully merging this pull request may close these issues.

3 participants