device manifests for a-team digital solutions
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nicholas Andrew bc03a04793 ofrp-12.1: add build.toml for the shared pipeline
Moves the base settings of the OFRP-12.1 Jenkins job into build.toml:
portal project orangefox (R12.1), OFRP-12.1 release naming, ZFS dataset
build/ofox-12.1, lunch twrp_<codename>-eng with FOX_BUILD_DEVICE, mka adbd,
and the OrangeFox .img/.zip with their native .md5 files. README: adding a
device no longer needs a new job; adding a base needs build.toml, @warm,
a job named after the branch and a portal mapping.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 00:21:42 -04:00
avatrn.xml ofrp-12.1:added base supported devices 2026-10-09 14:41:05 -04:00
build.toml ofrp-12.1: add build.toml for the shared pipeline 2026-10-11 00:21:42 -04:00
genevn.xml portalUI: annotations added for site 2026-10-09 14:04:50 -04:00
LICENSE Initial commit 2026-09-23 17:55:17 -04:00
milanf.xml ofrp-12.1:added base supported devices 2026-10-09 14:41:05 -04:00
mona.xml ofrp-12.1:added base supported devices 2026-10-09 14:41:05 -04:00
README.md ofrp-12.1: add build.toml for the shared pipeline 2026-10-11 00:21:42 -04:00
rtwo.xml ofrp-12.1:added base supported devices 2026-10-09 14:41:05 -04:00
sycamore_row_5G.xml typos 2026-10-09 19:32:16 -04:00

build_manifests

Device manifests for the A-Team Jenkins build pipelines.

Each base branch has one Jenkins job (named after the branch) running the shared Jenkinsfile from main. It rolls the base's warm source tree back to @warm, drops one device XML into .repo/local_manifests/, syncs only the projects listed in it, reads the device info from its annotations and the base settings from the branch's build.toml.

Layout

One branch per build base, one file per device.

ofrp-12.1/      genevn.xml  milanf.xml  rtwo.xml ...
twrp-12.1/      genevn.xml ...
aera-16.0/      genevn.xml  milanf.xml ...

A job points at a branch + file, e.g. ofrp-12.1 / genevn.xml.

Device XML

A standard repo local manifest, plus ateam.* annotations on the device tree project.

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remote name="ateam" fetch="ssh://git@ateam.gotadell.com/" />

  <project path="device/motorola/genevn"
    name="A-Team_Digital_Solutions/recovery_device_motorola_genevn"
    remote="ateam" revision="ofrp-12.1">
    <annotation name="ateam.model"        value="XT2315"/>
    <annotation name="ateam.device_name"  value="Moto G Stylus 5G 2023"/>
    <annotation name="ateam.manufacturer" value="Motorola"/>
    <annotation name="ateam.partition"    value="recovery"/>
  </project>
</manifest>

Annotations

All four are required; the build stops if one is missing.

Annotation Used for Example
ateam.model Release file name, portal device name XT2315
ateam.device_name Portal device name Moto G Stylus 5G 2023
ateam.manufacturer Portal Motorola
ateam.partition Build target and flash target recovery

ateam.partition must be one of:

Value Builds
recovery recoveryimage
boot bootimage
vendor_boot vendorbootimage

The portal shows the device as <device_name> (<model>).

Projects

  • List the device tree plus anything else the device needs (kernel, vendor, common trees).
  • Every project listed gets synced; nothing else in the base tree is touched.
  • Any git source works. Add another <remote> for GitHub or elsewhere; the device tree doesn't have to live on A-Team Forgejo.
  • Pin revision to the branch for that base (e.g. ofrp-12.1).
  • Don't add projects that override the base's own repos. Device-specific fixes go in the device trees.

Release naming

Builds come out as:

<RECOVERY>-<ver>_A-Team_<codename>_<model>-<YYMMDD>.<img|zip>

plus a .sha256 for each, e.g. OFRP-12.1_A-Team_genevn_XT2315-261009.zip.

Adding a device

  1. Clone and switch to the base branch:
    git clone ssh://git@ateam.gotadell.com/A-Team_Digital_Solutions/build_manifests.git
    cd build_manifests
    git checkout ofrp-12.1
    
  2. Copy an existing XML to <codename>.xml and edit the projects and annotations.
  3. Commit and push.
  4. That's it: the branch's Jenkins job (named after the branch, e.g. ofrp-12.1) lists the new XML in its DEVICE dropdown, and the portal picks it up on its next device sync.

Adding a base

  1. Create a new branch named <base>-<version> (e.g. shrp-12.1) and add a device XML for each device built on it. Each base has its own copy of a device's XML, so update model or name changes on every branch that has that device.
  2. Add a build.toml (see the README on main) describing the base: portal project, release naming, ZFS dataset, lunch target and release files.
  3. Prepare the warm source tree on buildBox and snapshot it as <dataset>@warm.
  4. Create a Jenkins job named exactly like the branch, using Pipeline script from SCM on build_manifests branch main, script path Jenkinsfile.
  5. Map the portal project to the job in the portal admin.