GitHub template repo for new Avocado extensions. Use this template → then work through the checklist below.
- Rename the repo
ext-<name>(orbsp-<board>). avocado.yaml— rename the extension key toavocado-ext-<name>, fill insummary/description, setsupported_targets(anddefault_targetfor a BSP), list yourpackages. Leave thesdk.imageline alone..github/workflows/test.yml— set the matrixtargetto something the extension actually supports (qemux86-64is fine for target-agnostic extensions)..github/workflows/release.yml— same, plus add matrix rows for every feed you publish into.CHANGELOG.md— replace the placeholder0.1.0entry.- Delete this section from the README and describe the extension instead (see "Using this extension" below — keep that part).
- Repo secrets
AVOCADO_CONNECT_TOKENandAVOCADO_CONNECT_ORGmust be set (org-level secrets cover this if the repo is inavocado-linux).
Release: tag the commit with the exact avocado.yaml version, e.g. git tag 0.1.0 && git push --tags.
- SDK image is release-scoped, not channel-scoped.
docker.io/avocadolinux/sdk:{{ env.AVOCADO_DISTRO_RELEASE }}→avocadolinux/sdk:2026on a 2026 CI leg,avocadolinux/sdk:2024on a 2024 one. Do not append-{{ env.AVOCADO_DISTRO_CHANNEL }}— there is no such tag on any release. The channel selects the package feed; the image tag is per-release only. - CI comes from
avocado-linux/actions@v1, pinned. The matrix lives in the caller so each repo owns its own target/feed combinations. - Feed today is
2024/edge-next.avocado-linux/actions@v1defaults to2026/edge, but the 2026 feed currently publishes onlyjetson-agx-thor, so the workflows here pass 2024 explicitly. Move a target to 2026 as it lands there.
ext-template is an Avocado extension — a reusable fragment of
build- and runtime-configuration that you compose into your own Avocado project. To use it,
declare it as a package-sourced extension in your avocado.yaml and add it to a runtime:
extensions:
avocado-ext-template:
source:
type: package
version: "*" # or pin an exact version
runtimes:
my-runtime:
extensions:
- avocado-ext-templateThen install and build:
avocado install # fetches + installs the SDK, extensions and runtime deps from your config
avocado build # builds the SDK compile steps, extensions and runtime imagesavocado install pulls the extension from your target's package feed and merges its
config into your project; avocado build then produces the runtime.