Skip to content

scripts: source nightly images from armbian/ci releases (moved from os) - #370

Merged
igorpecovnik merged 4 commits into
mainfrom
nightly-images-os-to-ci
Jul 29, 2026
Merged

scripts: source nightly images from armbian/ci releases (moved from os)#370
igorpecovnik merged 4 commits into
mainfrom
nightly-images-os-to-ci

Conversation

@igorpecovnik

@igorpecovnik igorpecovnik commented Jul 29, 2026

Copy link
Copy Markdown
Member

What

Nightly (trunk) images now publish to GitHub releases under armbian/ci instead of armbian/os. This moves the consuming scripts to the new location.

Changes

scripts/generate-armbian-images-json.sh

  • GitHub release feed loop: community os distributioncommunity ci distribution (~line 616). os hosted only the nightly images, so it's replaced by ci.
  • nightly/ dl-path prefix now keys on REPO == "ci" (~line 667). get_download_repository() derives the repo from the asset URL, so nightly images at github.com/armbian/ci/releases/... resolve to ci and keep the dl.armbian.com/nightly/<board>/... REDI layout.
  • refreshed the two stale os comments.

scripts/generate_targets.py — refreshed the stale armbian/os comment.

.github/workflows/reporting-release-summary.yml — the release-summary version no longer reads os/{nightly,stable}.json. It now pulls tags from armbian/ci and selects by period: the newest tag with trunk in its name is the nightly version, the newest without it is stable (git ls-remote --sort=-v:refname for version ordering). Drops the armbian/os checkout. VERSION_OVERRIDE stays a bare version — both consumers (cover.png URL, release tag:) re-add the v.

⚠️ One thing to confirm

The emitted download_repository column is now ci for nightly rows (was os). If the public download portal categorizes "nightly vs stable" off this field's os value, I can remap it — nothing in this repo depends on it.

Still not touched

.github/workflows/data-update-download-index.yml still checks out armbian/os. If the version metadata it reads has also moved, say so and I'll update that checkout too.

Nightly (trunk) images now publish to GitHub releases under armbian/ci
instead of armbian/os. Adjust the download-index generator accordingly:

- generate-armbian-images-json.sh: pull the GitHub release feed from
  `ci` instead of `os` (community/ci/distribution), and key the
  dl.armbian.com `nightly/` path prefix on REPO == "ci". The nightly
  images' file_url now points at github.com/armbian/ci/releases, and
  REDI_URL keeps the same nightly/<board>/... layout.
- update stale comments referencing armbian/os in both scripts.

Note: the emitted `download_repository` column is now "ci" for nightly
rows (was "os"), reflecting where the assets actually live.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
Copilot AI review requested due to automatic review settings July 29, 2026 18:05
@github-actions github-actions Bot added size/small PR with less then 50 lines 08 Milestone: Third quarter release Needs review Seeking for review labels Jul 29, 2026
@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@igorpecovnik, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 28 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 75cfa849-0439-4f9a-bc1e-89a14d6eac55

📥 Commits

Reviewing files that changed from the base of the PR and between 07e990c and 7f3adff.

📒 Files selected for processing (2)
  • .github/workflows/infrastructure-mirror-repository-artifacts.yml
  • .github/workflows/reporting-release-summary.yml

Walkthrough

Updated image feed generation to use the GitHub ci repository for nightly images instead of os. Artifacts from ci now receive the nightly/ prefix, and related comments in both scripts describe the updated nightly source and URL mapping.

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

Suggested reviewers: copilot

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 clearly states the main change: nightly images now come from armbian/ci instead of armbian/os.
Description check ✅ Passed The description matches the changeset and explains the nightly image source move and related script updates.
✨ 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 nightly-images-os-to-ci

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.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the download-index generator scripts to source nightly (trunk) images from GitHub Releases under armbian/ci instead of armbian/os, aligning the generator with the new publishing location.

Changes:

  • Update the GitHub release feed loop to iterate community ci distribution (replacing os with ci).
  • Update nightly path prefixing to key off REPO == "ci" to keep dl.armbian.com/nightly/<board>/... REDI layout.
  • Refresh stale comments referencing armbian/os in both scripts.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
scripts/generate-armbian-images-json.sh Switches nightly release sourcing from os to ci and updates nightly URL prefixing logic/comments.
scripts/generate_targets.py Updates a comment to reflect nightly images now coming from armbian/ci.
Comments suppressed due to low confidence (1)

scripts/generate-armbian-images-json.sh:623

  • gh release view without an explicit tag uses GitHub's "latest release" behavior, which excludes prereleases. The new nightly source repo armbian/ci currently has its most recent trunk build as a prerelease, so this loop will likely fetch the older non-prerelease (or nothing relevant) instead of the newest nightly assets.

To ensure nightly indexing tracks trunk, resolve the most recent release tag for ci via the releases list endpoint (includes prereleases) and pass that tag to gh release view.

for repo in community ci distribution; do
  gh release view --json assets --repo "github.com/armbian/$repo" |
  jq -r '.assets[]
    | select(.url | test("\\.txt($|\\?)") | not)
    | select(.url | test("\\.(asc|sha|torrent)($|\\?)") | not)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Nightly images moved to releases under armbian/ci, so the release-summary
version no longer comes from os/{nightly,stable}.json. Pull tags from
armbian/ci and pick by period: the newest tag with 'trunk' in its name is
the nightly version, the newest without it is stable. Drops the armbian/os
checkout.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
Copilot AI review requested due to automatic review settings July 29, 2026 18:31
@github-actions github-actions Bot added GitHub Actions GitHub Actions code GitHub GitHub-related changes like labels, templates, ... labels Jul 29, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

The manual workflow_dispatch fallback was a stale 'cli/cli' placeholder.
Nightly images now release under armbian/ci, so default the pull source
there for bare manual runs. Payload-driven dispatches (from ci) still
override it via client_payload.pull_repository.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
Copilot AI review requested due to automatic review settings July 29, 2026 18:36
Match the PULL_REPOSITORY default: bare manual runs now fall back to the
'ci' CDN folder. Payload-driven dispatches still override via
client_payload.cdn_tag.

Signed-off-by: Igor Pecovnik <igor@armbian.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

Copilot AI review requested due to automatic review settings July 29, 2026 18:40

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (2)

.github/workflows/reporting-release-summary.yml:202

  • The stable-version selection uses git ls-remote --sort=-v:refname and then picks the first tag that does not contain trunk. Git’s version sort (-v:refname) does not reliably treat a plain release (e.g. v26.8.0) as newer than its prereleases (e.g. v26.8.0-rc1), so this can accidentally select an -rc/-beta tag as the “stable” version. Consider filtering stable tags to the expected release-tag format (e.g. v<MAJOR>.<MINOR>.<PATCH> with no suffix) before taking head -n1.
          if [[ "$PERIOD" == "monthly" || "$PERIOD" == "quarterly" ]]; then
            VERSION=$(grep -v -- trunk <<<"$TAGS" | head -n1 || true)   # stable
          else
            VERSION=$(grep -- trunk <<<"$TAGS" | head -n1 || true)      # nightly
          fi

.github/workflows/infrastructure-mirror-repository-artifacts.yml:11

  • This workflow’s defaults change from cli/cli + os to armbian/ci + ci, but the PR description doesn’t mention updating this mirroring job. Since this job can be triggered via repository_dispatch without payload overrides, the new defaults may change behavior for existing automation/users. Please confirm this is intentional and, if so, consider documenting it in the PR description (or restore the previous defaults).
  PULL_REPOSITORY: "${{ github.event.client_payload.pull_repository || 'armbian/ci' }}" # username/repository
  CDN_TAG: "${{ github.event.client_payload.cdn_tag || 'ci' }}" # folder on server

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

08 Milestone: Third quarter release GitHub Actions GitHub Actions code GitHub GitHub-related changes like labels, templates, ... 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.

2 participants