Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 52 additions & 1 deletion docs/Developer-Guide_Build-Preparation.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

```bash
git clone https://github.com/armbian/build
cd build
cd build
```
!!! note
- Make sure that full path to the build script **does not contain spaces**
Expand Down Expand Up @@ -140,3 +140,54 @@ For much more verbose logs set switch 'DEBUG=yes'.
## GitHub Actions

If you do not have the proper equipment to build images on your own, you can use our [GitHub Action](https://github.com/marketplace/actions/rebuild-armbian).

### Minimal workflow example

Create `.github/workflows/build.yml` in your repository:

```yaml
name: Build Armbian Image
on:
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest # ubuntu-24.04-arm, ubuntu-24.04-riscv
steps:
- uses: armbian/build@main
with:
armbian_token: ${{ secrets.GITHUB_TOKEN }}
armbian_board: "uefi-x86" # orangepi5 bananapif3
armbian_release: "noble" # trixie
armbian_target: "build"
armbian_ui: "minimal" # server xfce
armbian_runner_clean: "yes" # recommended for Github runners
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix product name capitalization (“Github” → “GitHub”).

Use the official casing in the inline comment for consistency with the rest of the guide.

Suggested edit
-          armbian_runner_clean: "yes" # recommended for Github runners
+          armbian_runner_clean: "yes" # recommended for GitHub runners
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
armbian_runner_clean: "yes" # recommended for Github runners
armbian_runner_clean: "yes" # recommended for GitHub runners
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Developer-Guide_Build-Preparation.md` at line 164, Update the inline
comment on the armbian_runner_clean setting to use the official product
capitalization: change "Github runners" to "GitHub runners" in the comment next
to armbian_runner_clean.

```

The action will build the image, create a GitHub Release in your repository and upload the artifacts.

### Inputs reference

| Input | Required | Default | Description |
|---|---|---|---|
| `armbian_token` | **yes** | — | GitHub access token (`GITHUB_TOKEN` or a PAT) |
| `armbian_board` | no | `uefi-x86` | Hardware platform (e.g. `orangepi5`, `rock-5b`) |
| `armbian_target` | no | `kernel` | Build target: `kernel` or `build` (full image) |
| `armbian_branch` | no | `main` | Armbian framework branch |
| `armbian_kernel_branch` | no | `current` | Kernel branch: `current`, `edge`, etc. |
| `armbian_release` | no | `noble` | Userspace release (e.g. `noble`, `bookworm`, `trixie`) |
| `armbian_ui` | no | `minimal` | `minimal`, `server`, or a desktop environment name (e.g. `xfce`, `gnome`) |
| `armbian_version` | no | *auto* | Override version; patch level is auto-incremented from `stable.json` if not set |
| `armbian_compress` | no | `sha,img,xz` | Output compression method |
| `armbian_extensions` | no | — | Comma-separated list of build extensions to enable |
| `armbian_pgp_key` | no | — | GPG private key for image signing (store as a secret) |
| `armbian_pgp_password` | no | — | GPG passphrase (store as a secret) |
| `armbian_release_title` | no | `Armbian image` | GitHub Release title |
| `armbian_release_body` | no | *(link to build tools)* | GitHub Release body text |
| `armbian_release_tag` | no | *auto* | GitHub Release tag; defaults to the computed version |
| `armbian_artifacts` | no | `build/output/images/` | Path to artifacts for upload |
| `armbian_runner_clean` | no | — | Set to any non-empty value to free disk space on GitHub-hosted runners |

Comment on lines +171 to +190
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🌐 Web query:

For the GitHub Action armbian/build@main, what are the current workflow inputs, defaults, and required flags as defined in its action metadata (action.yml)? Please provide the authoritative source link and list each input.

💡 Result:

The GitHub Action armbian/build@main is defined in the action.yml file at the authoritative source: https://github.com/armbian/build/blob/main/action.yml From the action metadata extracted from source code views (commit 54808ecff253fb71615161e3a216ad14b420022b, likely current as of recent searches): Inputs (with descriptions, required status, and defaults where specified): - armbian_token: "GitHub installation access token" - required: true, default: none - armbian_runner_clean: "Make some space on GH runners" - required: false, default: "" - armbian_artifacts: "Upload PATH" - required: false, default: "build/output/images/" - armbian_target: "Build image or kernel" - required: false, default: "kernel" - armbian_branch: "Choose framework branch" - required: false, default: "main" - armbian_kernel_branch: "Choose kernel branch" - required: false, default: "current" - armbian_release: "Choose userspace release" - required: false, default: "jammy" - armbian_version: "Set different version" - required: false, default: "" - armbian_board: "Choose board" - required: false, default: none (used in examples) - armbian_ui: "User interface" - required: false, default: none (used for minimal/server/desktop decoding) - armbian_release_tittle: "Armbian release title" - required: false, default: "Armbian image" - armbian_release_body: "Armbian images" - required: false, default: "Build with Armbian tools" - armbian_release_tag: "Armbian release tag" - required: false, default: none - armbian_pgp_key: GPG key for signing - required: false, default: none - armbian_pgp_password: GPG passphrase - required: false, default: none No inputs are explicitly marked as deprecated or changed recently. The action uses 'composite' runner and handles Armbian builds, artifact upload to releases, optional signing. Examples from Marketplace and releases confirm usage like armbian_token (required), armbian_release, armbian_target, armbian_board, etc.

Citations:


Add reference link to upstream action.yml and reconcile documentation defaults with the authoritative source.

The table currently diverges from armbian/build@main's action.yml in several places: armbian_release defaults to jammy upstream (not noble), and descriptions like armbian_release_body differ. Link to https://github.com/armbian/build/blob/main/action.yml at the top of this table for maintainability, and update any stale defaults or descriptions to match the source-of-truth.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/Developer-Guide_Build-Preparation.md` around lines 171 - 190, Update the
Input table to reference the upstream action.yml
(https://github.com/armbian/build/blob/main/action.yml) and reconcile all
defaults/descriptions to match that authoritative source; specifically verify
and correct entries such as armbian_release (default should be "jammy"
upstream), armbian_release_body, and any other fields that differ, and add a
short note or link header above the table pointing to armian/build@main
action.yml so future changes are aligned with the source of truth.

### Customisation

If your repository contains a `userpatches/` directory, it will be merged into the build framework automatically. This allows you to add custom kernel configs, patches, or overlay files without forking the main build repository.
Loading