Skip to content

targets: set DESKTOP_TIER per desktop block, keyed on DESKTOP_APPGROUPS_SELECTED#288

Merged
igorpecovnik merged 1 commit intomainfrom
desktop-tier-mid
Apr 21, 2026
Merged

targets: set DESKTOP_TIER per desktop block, keyed on DESKTOP_APPGROUPS_SELECTED#288
igorpecovnik merged 1 commit intomainfrom
desktop-tier-mid

Conversation

@igorpecovnik
Copy link
Copy Markdown
Member

@igorpecovnik igorpecovnik commented Apr 21, 2026

Summary

armbian-config's module_desktops treats minimal / mid / full as three distinct install targets. The build framework hard-requires an explicit DESKTOP_TIER whenever BUILD_DESKTOP=yes; a missing value causes module_desktops install to bail at config-validation time.

scripts/generate_targets.py emits 12 desktop-* target blocks across the stable / legacy / edge / nightly flavours. None of them set DESKTOP_TIER today, so every regenerated targets.yaml will start failing desktop builds once the build-side migration (armbian/build#9683 — replace config/desktop/ tree with armbian-config module_desktops) lands.

Change

Add DESKTOP_TIER to every desktop-* block's vars: stanza, mapping the value from the existing DESKTOP_APPGROUPS_SELECTED that each block already carries:

DESKTOP_APPGROUPS_SELECTED DESKTOP_TIER Blocks Rough size
"" (empty) minimal 8 DE + display manager only (~500 MB) — matches the bare desktop the empty-appgroup target produced before
"programming" mid 4 DE + browser + everyday user-facing tools (editor, calculator, media, archive, torrent, ~1 GB) — roughly what the programming appgroup pulled in on top of the bare desktop

Neither maps to full — none of the current generate_targets.py blocks wanted the full tier (office suite + creative tools, ~2.5 GB). Future targets can override per block when needed.

Diff shape

       BUILD_DESKTOP: "yes"
       DESKTOP_ENVIRONMENT: "xfce"
       DESKTOP_ENVIRONMENT_CONFIG_NAME: "config_base"
       DESKTOP_APPGROUPS_SELECTED: ""
+      DESKTOP_TIER: "minimal"
     items:
       BUILD_DESKTOP: "yes"
       DESKTOP_ENVIRONMENT: "xfce"
       DESKTOP_ENVIRONMENT_CONFIG_NAME: "config_base"
       DESKTOP_APPGROUPS_SELECTED: "programming"
+      DESKTOP_TIER: "mid"
     items:

12 single-line insertions total; no structural edits.

Test plan

  • python3 -c "import ast; ast.parse(open('scripts/generate_targets.py').read())" — syntax clean.
  • Module loads clean (no SystemExit / import-time errors).
  • Verified 8 "minimal" + 4 "mid" insertions, each directly below a matching DESKTOP_APPGROUPS_SELECTED line — no mis-pairings.
  • Regenerate targets.yaml locally and confirm every desktop-* target carries the right DESKTOP_TIER.
  • Build-side module_desktops install accepts the generated targets (needs desktops: migrate from config/desktop/ tree to armbian-config module_desktops build#9683 to be live).

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 21, 2026

Walkthrough

The script scripts/generate_targets.py is modified to inject a new YAML variable DESKTOP_TIER: "mid" into desktop-target definitions during generation. This variable is added to the Ubuntu stable, Nightly, and Community desktop targets (specifically XFCE, GNOME, and KDE Neon variants) within their vars blocks alongside existing desktop-related variables. No function signatures or public entities are altered.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
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.
Title check ✅ Passed The title accurately describes the main change: adding DESKTOP_TIER variable to desktop blocks, keyed by DESKTOP_APPGROUPS_SELECTED values.
Description check ✅ Passed The description is comprehensive and directly related to the changeset, explaining the problem, the solution, mapping rationale, and test plan.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch desktop-tier-mid

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 and usage tips.

@github-actions github-actions Bot added 05 Milestone: Second quarter release size/small PR with less then 50 lines Needs review Seeking for review labels Apr 21, 2026
armbian-config's module_desktops treats minimal / mid / full as
three distinct install targets. The build framework hard-requires
an explicit DESKTOP_TIER whenever BUILD_DESKTOP=yes; a missing
value causes 'module_desktops install' to bail at
config-validation time.

generate_targets.py emits 12 'desktop-*' target blocks across the
stable / legacy / edge / nightly flavours. None of them set
DESKTOP_TIER today, so every regenerated targets.yaml will start
failing desktop builds once the build-side migration (armbian/build#9683
— replace config/desktop/ tree with armbian-config module_desktops)
lands.

Map tier from the existing DESKTOP_APPGROUPS_SELECTED value that
each block already carries:

  DESKTOP_APPGROUPS_SELECTED=''            → DESKTOP_TIER='minimal'
    8 blocks: plain DE + display manager, ~500 MB. Matches the
    bare desktop the empty-appgroup target produced before.

  DESKTOP_APPGROUPS_SELECTED='programming' → DESKTOP_TIER='mid'
    4 blocks: DE + browser + everyday user-facing tools (editor,
    calculator, media, archive, torrent), ~1 GB. Roughly what the
    'programming' appgroup pulled in on top of the bare desktop.

Neither maps to 'full' — none of the current generate_targets.py
blocks wanted the full tier (office suite + creative tools, ~2.5 GB).
Future targets can override per block when needed.
@igorpecovnik igorpecovnik changed the title targets: set DESKTOP_TIER=mid for every generated desktop build targets: set DESKTOP_TIER per desktop block, keyed on DESKTOP_APPGROUPS_SELECTED Apr 21, 2026
@igorpecovnik igorpecovnik merged commit 893a594 into main Apr 21, 2026
7 checks passed
@igorpecovnik igorpecovnik deleted the desktop-tier-mid branch April 21, 2026 08:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

05 Milestone: Second quarter release Needs review Seeking for review size/small PR with less then 50 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant