This repository is the central automation and orchestration hub for the Armbian project. It coordinates CI workflows, maintains board assets and metadata, syncs external data sources, and generates machine-readable artifacts that drive armbian.com, docs.armbian.com, the download index, and related Armbian infrastructure.
Generated outputs are published to the data branch and surfaced through github.armbian.com for consumption by downstream automation, reporting, and content delivery.
Monitor all automation workflows with real-time status tracking:
- Execution history — Complete log of past workflow runs with timestamps and outcomes
- Performance metrics — Runtime duration, resource usage, and success/failure rates
- Live status — Current state of running CI/CD pipelines and scheduled tasks
- Debugging tools — Detailed logs and error traces for failed workflows
| Path | Contents |
|---|---|
board-images/ |
Per-board PNG product photos used for thumbnail generation. |
board-vendor-logos/ |
Vendor logo assets (PNG / JPG / SVG) used for thumbnail generation. |
board-pinouts/ |
Per-board pinout references, published to the Armbian cache mirrors. |
board-schematics/ |
Per-board schematic references, published to the Armbian cache mirrors. |
board-instructions/ |
Per-board flashing / usage instructions (Markdown). |
release-targets/ |
Inputs and generated outputs for the CI/CD build-target YAML matrix. See release-targets/README.md. |
scripts/ |
Python, Node.js and shell helpers invoked by the workflows (JSON index generators, Jira exporter, keyring collector, ping scripts, etc.). |
templates/ |
Shared templates used by generator scripts. |
.github/workflows/ |
GitHub Actions definitions driving automation, data refresh, infrastructure, monitoring and release reporting. |
The data branch is used as a publication target: most workflows regenerate a JSON / YAML / HTML artifact on main and commit it to data/ on the data branch (served from github.armbian.com).
The automation here maintains, among other things:
- Build target matrix —
release-targets/targets-release-*.yamlandexposed.mapare generated byscripts/generate_targets.pyfrom the liveimage-info.jsonboard inventory. Seerelease-targets/README.mdfor the full input/output contract, board classification rules, and the Debian / Ubuntu codename substitution scheme. - Download index —
armbian-images.jsonplus a packagedall-torrents.zip, aggregated from the Armbian mirror network and enriched with partner/vendor data. - Board inventory —
image-info.jsonis refreshed from thearmbian/buildframework (./compile.sh inventory-boards) and feeds the release-target generator. - DUT inventory —
dut-inventory.jsonis derived from NetBox and maps devices-under-test to their serial console TCP ports for CI agents. - Package data —
base-files.json(Debian/Ubuntubase-filesindex across releases and architectures) and the latest Debian / Ubuntu archive-keyring.debpackages underdata/keyrings/. - Partner & maintainer data —
partners.jsonand maintainer records (with GitHub avatars and activity timestamps) enriched from Zoho Bigin. - Raspberry Pi Imager JSON —
rpi-imager.jsonmanifest for use with the official RPi Imager. - Board & vendor thumbnails — Multi-width thumbnails rendered from
board-images/andboard-vendor-logos/and pushed to the Armbian cache mirrors. - Jira excerpts —
jira-current.html/jira-next.htmlHTML snippets listing the current and next planned release's open issues. - Automation status reports — Per-repository
actions-report-*.jsondumps aggregated for the actions dashboard.
The repository is intentionally polyglot — each generator uses the tooling best suited to its data source:
- Python 3 — most data generators and the release-target engine (
scripts/generate_targets.py,scripts/generate_kernel_descriptions.py,scripts/generate-base-files-info-json.py,scripts/generate-rpi-imager-json.py,scripts/ping-unresolved-reviews.py,scripts/days_since_last_commit.py, Jira exporter). - Bash / shell — mirror and index pipelines (e.g.
scripts/generate-armbian-images-json.sh) and the shell logic inside workflowrun:steps. - Node.js — the actions-report scanner (
scripts/generate-actions-report.mjs) usingfast-globandjs-yaml. - YAML — GitHub Actions workflow definitions under
.github/workflows/and the generated build-target matrices underrelease-targets/. - GraphicsMagick and pngquant — board/vendor thumbnail rendering.
- jq, rsync, curl — used throughout the pipelines for JSON wrangling and mirror synchronization.
External services integrated by the automation include GitHub, NetBox, Zoho Bigin, Atlassian Jira, the Armbian mirror network, and Hetzner (for self-hosted runners).
Contributions are welcome — see CONTRIBUTING.md for the development workflow, and CODE_OF_CONDUCT.md for community guidelines.
Other ways to contribute:
- Become a board maintainer
- Apply for a staff position
- Help cover project costs
- Help community members on the Forum
- Check the announcements section for open requests
Licensed under the GNU General Public License v2.
