Commit Graph
528 Commits
Author SHA1 Message Date
7b0757eb0e xg521: update device override for 60fps→high-fps rename in firmware (#95)
OpenIPC/firmware PR #2090 (2026-05-13, "IMX335 companion to
openhisilicon #99") renamed `general/package/goke-osdrv-gk7205v200/
files/sensor/config/60fps/` to `high-fps/`. The xg521 device-specific
goke-osdrv-gk7205v200.mk override here still references the old path,
causing every cron build of gk7202v300_lite_xg521 to fail:

  /usr/bin/install: cannot stat 'general/package/goke-osdrv-gk7205v200//
  files/sensor/config/60fps/*.ini': No such file or directory

Update the two install lines to use `high-fps` matching the renamed
upstream directory. Target install path also moves from
/etc/sensors/60fps → /etc/sensors/high-fps for consistency with what
the rest of the V4 sensor presets use.

The matching exclude-list entry in
  devices/gk7202v300_lite_xg521/general/scripts/excludes/gk7202v300_lite.list
references /etc/sensors/60fps/... and is now stale; left as-is since
`rm -f` on a non-existent path is a no-op (rootfs_script.sh:
xargs -I % rm -f ${TARGET_DIR}%). Can be cleaned in a follow-up.

Other Goke device overlays (gk7205v200_lite_*, gk7205v210_lite_*,
gk7205v300_lite_*) only have the same exclude-list staleness and no
broken install rule, so they aren't affected by this bug.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 19:18:09 +03:00
25ed956610 build-one: add firmware_ref input for cross-repo bisect (#94)
When investigating a regression that lives in OpenIPC/firmware (or its
referenced packages like hisilicon-opensdk) but only manifests in a
builder build, you previously had to either roll firmware master back
or fork builder.sh manually. Adds a clean way:

  gh workflow run build-one.yml -f platform=hi3516ev200_fpv \
                                -f firmware_ref=<sha-or-tag-or-branch>

The workflow exports OPENIPC_FW_REV as env, which builder.sh now
honours: when set, it does a full clone (not --depth=1) and checks
out the requested ref before invoking the firmware build. When unset,
behaviour is unchanged (shallow clone of master HEAD).

Immediate motivation: bisect the +180 KB rootfs growth in
hi3516ev200_fpv between 2026-05-08 (5016 KB) and 2026-05-24 (5196 KB,
76 KB over partition limit). Per kaeru
'hi3516ev200-ev300-fpv-rootfs-size-overflow-2026-05-24'. Suspect is
recent hisilicon-opensdk bumps that brought in source-built sensor
drivers for ev200; bisect across firmware commits varying
HISILICON_OPENSDK_VERSION will pinpoint which bump pushed us past
the 5120 KB limit.

Generally useful long after this specific incident:
- Reproducing user-reported regressions at a specific firmware tag.
- Locking builds to a known-good firmware revision when builder is
  ahead of firmware.
- Future cross-repo bisects of any kind.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 09:31:21 +03:00
c427c735b5 ci/build-one: accept arbitrary commit input; publish to nightly-bisect-* tag (#93)
PR-Bld-C in the mirror of OpenIPC/firmware's nightly redesign.
Mirrors OpenIPC/firmware#2116. Adds an optional `commit` workflow_-
dispatch input to `build-one.yml` so:

  - `gh workflow run build-one.yml -f platform=X -f commit=<sha>`
    builds the given SHA from `git bisect run`.
  - Output goes to `nightly-bisect-<short>` (prerelease) tag, distinct
    from the dated `nightly-YYYYMMDD-<short>` namespace produced by
    PR-Bld-A's master.yml. The manifest aggregator's regex only
    indexes `^nightly-[0-9]{8}-[0-9a-f]{7}$`, so one-off bisect
    rebuilds never enter manifest.{json,flat}.
  - Without `commit`, falls back to building HEAD and tags as
    `nightly-bisect-<short>-<UTC ts>` so repeated dispatches of the
    same HEAD don't collide.

Also:
  - Retry budget around `bash builder.sh` matching master.yml +
    OpenIPC/firmware#2129's hardening.
  - BUILD_ID / BUILD_SHA / BUILD_PLATFORM env at the Build firmware
    step level (forward-compat with Phase 3 of the mirror plan).
  - Drops dead `env: TAG_NAME: latest` at workflow level.
  - Release body carries sha/short/platform/one_off=true for the
    aggregator's downstream consumers to easily distinguish bisect
    builds from dated nightlies.

See ~/.claude/plans/mirror-nightly-redesign-to-builder.md.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 23:05:39 +03:00
63994266e2 ci/nightly: manifest aggregator + 90-build retention sweep (#92)
PR-Bld-B in the mirror of OpenIPC/firmware's nightly redesign. Adds
the two workflows that turn dated nightly-* releases (from PR-Bld-A)
into a queryable index served via GitHub Pages.

`manifest.yml` — triggers on successful `Build` workflow_run completion
(or manual dispatch). Runs `.github/scripts/enrich_manifest.py` to
enumerate dated releases, keep the 90 newest, parse the body
(sha/short/built_at from PR-Bld-A) and asset list, then emit:
  - `manifest.json` — rich JSON for hosts/agents/CI.
  - `manifest.flat` — whitespace-delimited columns
    `build_id platform flash size url` plus `@channel` records,
    parseable by pure busybox `awk` (no jq, no jsonfilter) for
    on-device sysupgrade in Phase 2.
Both committed to the `gh-pages` branch (already bootstrapped).

`cleanup.yml` — Mondays 06:00 UTC (offset by +1h from firmware's
05:00 UTC cleanup). Deletes dated nightly releases beyond the 90
newest via `gh release delete --cleanup-tag`, then re-triggers
manifest.yml.

`enrich_manifest.py` differs from firmware's only in the asset parser:
builder produces TWO filename forms (per `master.yml`'s COMMON awk
trick that counts underscores in the matrix entry name):
  - **Compound** `<soc>_<variant>_<vendor>-<model>-nor.tgz` →
    platform key = the full string. This is the common case
    (per-device builds).
  - **Simple** `openipc.<soc>-<flash>-<variant>.tgz` (firmware-style,
    when matrix name has one underscore) → platform key =
    `<soc>_<variant>`.

The platform key gets carried into manifest.flat as a single column.
sysupgrade's existing `awk '$2==p'` lookup works unchanged; Phase 3
(model-aware BUILD_PLATFORM field in os-release) will let cameras
filter against the full per-model key.

URLs after merge:
  https://openipc.github.io/builder/manifest.json
  https://openipc.github.io/builder/manifest.flat

(`gh-pages` branch + Pages config already set up; mirrors firmware-
side setup.)

Concurrency-grouped `gh-pages-manifest` so manifest.yml and
cleanup.yml can't race the gh-pages push.

Includes the retry hardening from firmware OpenIPC/firmware#2129
(4-attempt backoff for transient GitHub API 401/5xx, fast-fail on
permanent 404).

First-run behaviour validated locally: empty index emits explicit
placeholder. Parser unit-tested across 7 synthetic filenames covering
compound, simple, and edge cases.

See ~/.claude/plans/mirror-nightly-redesign-to-builder.md.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 23:05:36 +03:00
6bf71492fd ci/nightly: SHA-gate cron, publish dated nightly-* releases, BUILD_ID env (#91)
Mirror the OpenIPC/firmware nightly redesign (PRs #2111-#2129) to
builder. This commit is PR-Bld-A: the build.yml-side changes only.
Subsequent PRs add the manifest aggregator + retention sweep
(PR-Bld-B) and the build-one.yml commit input (PR-Bld-C).

Changes:

1. **Preflight SHA gate**. New `preflight` job reads `sha=` from the
   rolling `nightly` release body. On schedule events it short-
   circuits the matrix when HEAD matches the previously-published
   SHA; PRs and workflow_dispatch always build. Mirrors firmware's
   #2111.

2. **Three release tags per build**:
   - `nightly-YYYYMMDD-<short>` (prerelease, content-addressable,
     the unit of history — 90-day retention via PR-Bld-B's
     cleanup.yml).
   - `nightly` (rolling channel pointer; body carries sha/short/
     built_at).
   - `latest` (legacy alias, kept one cycle so existing sysupgrade
     clients hitting the old hardcoded URL don't break).

3. **`BUILD_ID` / `BUILD_SHA` / `BUILD_PLATFORM` env** exported at
   the job level from preflight outputs. firmware's rootfs_script.sh
   (which builder.sh reuses via its clone of firmware) picks BUILD_ID
   + BUILD_SHA into /etc/os-release automatically. BUILD_PLATFORM is
   set to the matrix entry (e.g. `gk7205v200_fpv_caddx-fly`) and is
   forward-compatible with Phase 3 of the mirror plan (the firmware-
   side rootfs_script.sh update that emits BUILD_PLATFORM as an
   os-release field).

4. **Retry budget** around `bash builder.sh`. Matches firmware's
   `30 60 120 300 600 1200` ladder, covering toolchain/CDN flakes
   (#2115 + #2129 in firmware).

5. **Telegram caption** leads with `Build: <build_id>`; obsolete
   `Tag: ${TAG_NAME}` line gone; workflow-level `env: TAG_NAME=
   latest` removed.

No on-device firmware changes; builder cameras keep their existing
sysupgrade legacy URL until Phase 2 of the mirror (sysupgrade variant
routing) lands in OpenIPC/firmware.

See ~/.claude/plans/mirror-nightly-redesign-to-builder.md.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 23:05:33 +03:00
Signor Pellegrino (from Citadel PC) b69b9f1675 Binary drivers for OS02G10 sensors have been removed as everything is now built from source code. 2026-05-13 13:27:16 +03:00
49dc2fdb33 ci: add build-one workflow for single-platform test builds (#88)
The Build workflow's matrix-of-everything makes it slow and noisy to
test a single device profile. Mirrors the build-one workflow already
present in OpenIPC/firmware.

Takes a full platform name (e.g. hi3518ev200_lite_switcam-hs303-v2)
and runs only that build via builder.sh.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-01 12:12:13 +03:00
IgorandGitHub 0e934d77df Update README.md 2026-04-22 22:24:30 +01:00
IgorandGitHub abde559e3a Update README.md 2026-04-22 22:22:24 +01:00
92a237e82a enable opensdk for all CV200-family device profiles (#86)
Add BR2_PACKAGE_HISILICON_OPENSDK=y to 9 hi3516cv200-family profiles
that were missing it. These boards will now get open_ modules built
from openhisilicon source instead of vendor-only blobs from osdrv.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 07:50:48 +03:00
Signor PellegrinoandGitHub 5627956b6d Replace ssc377qe_fpv_generic with ssc377qe_fpv_ccdcam-im50q01-tipoman 2026-04-12 20:12:41 +03:00
Signor Pellegrino (from Citadel PC) 3536392828 Add ssc377qe_fpv_ccdcam-im50q01-tipoman profile 2026-04-11 18:54:23 +03:00
Signor Pellegrino (from Citadel PC) d7a782d137 Move ssc377qe_fpv_generic profile to real ssc377qe_fpv_ccdcam-im50q01-tipoman 2026-04-11 18:50:20 +03:00
Signor Pellegrino (from Citadel PC) 3fcb27018d The selector BR2_OPENIPC_SNS_MODEL=os02g10 is now working, and it is no longer necessary to forcibly delete unnecessary .ko and .bin sensor files. 2026-04-11 18:33:42 +03:00
Signor Pellegrino (from Citadel PC) e89f0205db Remove unused os02g10 profile 2026-04-11 18:27:53 +03:00
tipoman9andGitHub bfe88f02b4 Ssc377qe fpv added 90fps and 120fps modes for imx335 driver (#83)
* Add ssc377qe_fpv_generic device

* ssc377qe_fpv_generic added ath9k patched drivers

* Updated imx335 sensor driver added 90 and 120fps modes
2026-04-11 15:49:42 +03:00
Signor Pellegrino (from Citadel PC) d2c123a8d7 Remove unused binary hi3516ev200_isp 2026-04-11 15:43:58 +03:00
Petr BeklemishevandGitHub a91c246b30 Support transition from hi3516ev200_isp to open_isp in openipc/firmware#1979 (#84) 2026-04-11 15:35:25 +03:00
viktorxda a72e0ea177 Sync firmware changes 2026-04-08 18:04:31 +02:00
Signor Pellegrino (from Citadel PC) f22549ddec Remove MAVFWD from ssc338q_apfpv_greg-* profiles 2026-04-06 08:36:51 +03:00
Signor PellegrinoandGitHub 2ba771ada7 Add new APFPV configurations to master.yml 2026-04-06 00:14:44 +03:00
Signor Pellegrino (from Citadel PC) 600ca103da Add ssc338q_apfpv_greg-generic-cu-eu profile 2026-04-06 00:05:04 +03:00
Signor Pellegrino (from Citadel PC) ee2074fc14 Add ssc338q_apfpv_greg-generic-bu-eu profile 2026-04-06 00:04:55 +03:00
Signor Pellegrino (from Citadel PC) 4d6c54cab3 Add ssc30kq_apfpv_greg-generic-cu-eu profile 2026-04-06 00:04:02 +03:00
Signor Pellegrino (from Citadel PC) 48b5edabbe Add ssc30kq_apfpv_greg-generic-bu-eu profile 2026-04-06 00:03:43 +03:00
Signor Pellegrino (from Citadel PC) d62145bc62 Update config name 2026-04-05 01:03:43 +03:00
Signor Pellegrino (from Citadel PC) 655722f9ac Merge branch 'master' of github2:OpenIPC/builder 2026-04-05 01:01:32 +03:00
Signor PellegrinoandGitHub 01590e34ca Add ssc377qe_fpv_generic to workflow 2026-04-05 00:57:21 +03:00
tipoman9andGitHub 31a9645157 Ssc377qe fpv build (#75)
* Add ssc377qe_fpv_generic device

* ssc377qe_fpv_generic added ath9k patched drivers

* Add ssc377qe region library
2026-04-05 00:48:21 +03:00
Puzzak01andGitHub b9b94d4f61 change (#81)
* Create ssc335de_lite_dahua-hfw1230sp-v2_defconfig

* Create customizer.sh

* Create gpio.conf

* Update README.md

* Create ssc335de_lite.list

* Create ssc335de_lite.list

* Update README.md

* Update ssc335de_lite.list

* Update ssc335de_lite.list

* Update README.md

* add gpio for reset button

* add gpio for mmc

* Update ssc335de_lite_dahua-hfw1230sp-v2_defconfig

* Update gpio.conf

* Update ssc335de_lite_dahua-hfw1230sp-v2_defconfig
2026-03-22 15:12:17 +03:00
Signor Pellegrino (from Citadel PC) c3d597ee4d Merge branch 'master' of github2:OpenIPC/builder 2026-02-16 13:26:51 +03:00
cronyx fd2666c7c9 correct locations, autobuild, readme 2026-02-14 19:20:49 +03:00
piotr-goandGitHub cd099a8723 Add files via upload (#74) 2026-02-14 19:07:33 +03:00
Signor Pellegrino (from Citadel PC) 60fce4e3c5 Up hi3518ev200_lite_smartwares-cip-37210 2025-12-28 23:09:59 +03:00
elvoblinandGitHub 4c53cf516a Board ipg g3 wr (#72)
* add: ipg-g3-wr device

* update exclude lists

* wip: gk7202v300_lite_ipg-g3-wr

* update: README.md
2025-11-05 19:57:36 +03:00
elvoblinandGitHub 7703cd18eb Board ipg g3 wr (#71)
* add: ipg-g3-wr device

* update exclude lists

* wip: gk7202v300_lite_ipg-g3-wr
2025-11-05 19:14:38 +03:00
Signor Pellegrino (from Citadel PC) bbbb476c35 Update t31_lite_cmcc-hdc-51-a6-v10 link 2025-11-02 20:52:00 +03:00
Signor Pellegrino (from Citadel PC) 1a81ca78d9 Add Led crutch for cmc-hdc-51-a6-v11 2025-11-02 00:49:14 +03:00
Signor Pellegrino (from Citadel PC) 079cccb1ac Merge branch 'master' of github2:OpenIPC/builder 2025-11-01 17:05:33 +03:00
Signor Pellegrino (from Citadel PC) 652edce4a2 Update Vixand devices 2025-11-01 17:04:41 +03:00
Signor PellegrinoandGitHub cef8fd6d48 Rename gk7205v300_lite_vixand-ivg-g6s-w_defconfig to gk7205v300_lite_vixand-ivg-g6s_defconfig 2025-10-31 21:10:49 +03:00
Signor Pellegrino (from Citadel PC) 8d4c399de7 Add gk7205v300_lite_vixand-ivg-g6s 2025-10-31 19:40:32 +03:00
Signor Pellegrino (from Citadel PC) 83f1e088aa Merge branch 'master' of github2:OpenIPC/builder 2025-10-31 19:36:05 +03:00
viktorxda 42eea9633e temporarily exclude msposd from infinity6c 2025-10-31 00:35:39 +01:00
Signor Pellegrino (from Citadel PC) 7c87592428 Update Vixand configs 2025-09-25 20:42:50 +03:00
userandGitHub 434ecd893a backlight 14 to 16 and setenv soc (#67) 2025-09-25 20:27:12 +03:00
Signor PellegrinoandGitHub d97188a0a4 Update gpio.conf 2025-09-18 20:11:41 +03:00
Signor PellegrinoandGitHub f042794bd3 Enable audio settings in customizer.sh 2025-09-13 13:30:23 +03:00
Signor PellegrinoandGitHub 3245e9ed0c Add audio input channel configuration 2025-09-13 13:26:25 +03:00
Puzzak01andGitHub 23a48916b9 Update README.md (#68)
Add info for Dahua IPC-HFW1230SP-V3
2025-09-13 01:14:19 +03:00