Skip to content

generate-armbian-images-json: support UEFI cloud .iso artifacts - #387

Merged
igorpecovnik merged 1 commit into
mainfrom
feat/images-json-iso-support
Aug 8, 2026
Merged

generate-armbian-images-json: support UEFI cloud .iso artifacts#387
igorpecovnik merged 1 commit into
mainfrom
feat/images-json-iso-support

Conversation

@igorpecovnik

Copy link
Copy Markdown
Member

What

The UEFI cloud targets (uefi-arm64 / uefi-x86, BRANCH: cloud) now publish a live .iso (uncompressed) alongside qcow2/vhdx. This teaches the download-index generator (scripts/generate-armbian-images-json.sh) to represent it correctly.

Three small additions:

  1. extract_file_extension — map a plain .iso to the canonical iso extension (before this it fell through to the generic last-token fallback).
  2. strip_img_ext — strip a trailing .iso so parse_image_name recovers the clean variant token (minimal) instead of minimal.iso.
  3. REDI variant — give ISOs a distinct -iso variant, mirroring qcow2's -qcow2, so the redirector URL comes out as:
https://dl.armbian.com/uefi-arm64/Noble_cloud_minimal-iso

The release-asset filter already lets .iso through (it only drops .txt/.asc/.sha/.torrent), so no change needed there.

Validation

Unit-tested the parsing/URL assembly:

filename file_extension redi_url
..._uefi-arm64_noble_cloud_..._minimal.iso iso .../uefi-arm64/Noble_cloud_minimal-iso

Regression-checked: .img.qcow2.xzimg.qcow2.xz and .img.xzimg.xz unchanged. bash -n clean.

Pairs with the build-side change that produces the ISO (image-output-iso) and the release-target additions that enable it for the trixie minimal UEFI cloud target.

The UEFI cloud targets now publish a live .iso (uncompressed) alongside
qcow2/vhdx. Teach the download-index generator about it:

- extract_file_extension: map a plain .iso to the canonical `iso`
  extension (previously it fell through to the generic last-token
  fallback and reported `iso` only by luck / would misreport if wrapped).
- strip_img_ext: strip a trailing .iso so parse_image_name recovers the
  clean variant token (e.g. `minimal`) instead of `minimal.iso`.
- REDI variant: give ISOs a distinct `-iso` variant like qcow2's `-qcow2`,
  so the redirector URL is e.g.
  https://dl.armbian.com/uefi-arm64/Noble_cloud_minimal-iso

Signed-off-by: Igor Pecovnik <igor@armbian.com>
@github-actions github-actions Bot added 08 Milestone: Third quarter release size/small PR with less then 50 lines Needs review Seeking for review labels Aug 8, 2026
@coderabbitai

coderabbitai Bot commented Aug 8, 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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 70730ed9-e0ea-4850-839b-6760822050e9

📥 Commits

Reviewing files that changed from the base of the PR and between 1302c4f and 07dcde6.

📒 Files selected for processing (1)
  • scripts/generate-armbian-images-json.sh

Walkthrough

The image metadata generator now strips .iso and compressed tar extensions. It classifies uncompressed ISO files as iso. REDI variant generation now adds the -iso suffix for ISO artifacts.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the script and its primary change: support for UEFI cloud ISO artifacts.
Description check ✅ Passed The description directly explains the ISO parsing, variant handling, URL changes, and validation for the changeset.
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.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/images-json-iso-support

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.

@igorpecovnik
igorpecovnik merged commit 9aaee08 into main Aug 8, 2026
10 of 11 checks passed
@igorpecovnik
igorpecovnik deleted the feat/images-json-iso-support branch August 8, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

08 Milestone: Third 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