Skip to content

ci: dispatch armbian.github.io download-index regen after green build#21

Merged
igorpecovnik merged 1 commit into
mainfrom
trigger-download-index-after-build
May 10, 2026
Merged

ci: dispatch armbian.github.io download-index regen after green build#21
igorpecovnik merged 1 commit into
mainfrom
trigger-download-index-after-build

Conversation

@igorpecovnik

Copy link
Copy Markdown
Member

Summary

After Build Armbian SDK finishes, fire a repository_dispatch at armbian/armbian.github.io so the download index regenerates against the freshly promoted SDK release.

Same shape armbian/build already uses — infrastructure-dispatch-to-fork.yml and data-sync-board-list.ymlpeter-evans/repository-dispatch@v4 + ACCESS_TOKEN org PAT.

Behaviour matrix

Trigger Owner Upstream conclusion Secret set Action
workflow_run after Build Armbian SDK armbian success yes dispatch
same armbian success no step soft-skips
same armbian failure / cancelled job skipped (if)
same fork owner any job skipped (if)
Manual workflow_dispatch armbian n/a yes dispatch

Why gate on conclusion == 'success'

The Aggregate job leaves the release as a pre-release if any matrix cell failed. Regenerating the index against an incomplete release would surface partial assets to end users. Better to no-op until the matrix is green.

Event type

Data: Update download index — matches the listener at line 5 of the target workflow.

Test plan

  • Merge to main; trigger a manual workflow_dispatch of this new workflow as a smoke test.
  • Confirm the dispatch lands by watching data-update-download-index runs in the target repo.
  • Trigger the SDK build workflow; verify this workflow runs after, fires only when the build succeeded, and the target workflow regenerates the index.
  • Confirm a forked sdk repo running this workflow no-ops (no spurious dispatches at armbian.github.io).

When the SDK build workflow finishes successfully, fire a
repository_dispatch at armbian/armbian.github.io so the download
index gets regenerated against the freshly published release. Same
peter-evans/repository-dispatch + ACCESS_TOKEN pattern armbian/build
already uses (data-sync-board-list.yml,
infrastructure-dispatch-to-fork.yml).

Implementation notes:
  - workflow_run trigger watches the 'Build Armbian SDK' workflow by
    name; only fires when conclusion == 'success'. Partial / red
    matrix runs leave the release as pre-release, so the index would
    otherwise regenerate against incomplete data.
  - Soft-skip via 'if: env.DISPATCH_SECRET != \"\"' if ACCESS_TOKEN
    isn't yet configured — avoids hard-red runs on a fresh repo.
  - Fork guard via 'github.repository_owner == \"armbian\"' so user
    forks of sdk don't accidentally fire dispatches at the canonical
    armbian.github.io.
  - workflow_dispatch always allowed for manual one-off retries.
  - event-type matches the listener at line 5 of
    armbian.github.io/.github/workflows/data-update-download-index.yml.
@igorpecovnik igorpecovnik merged commit 1f915b4 into main May 10, 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.

1 participant