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>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
c427c735b5
commit
25ed956610
@@ -6,7 +6,10 @@ on:
|
||||
description: 'Platform to build (e.g. hi3518ev200_lite_switcam-hs303-v2)'
|
||||
required: true
|
||||
commit:
|
||||
description: 'Commit SHA to build (optional; defaults to current branch HEAD). Use this from `git bisect run` or for one-off historic rebuilds.'
|
||||
description: 'Builder commit SHA to build (optional; defaults to current branch HEAD). Use this from `git bisect run` or for one-off historic rebuilds.'
|
||||
required: false
|
||||
firmware_ref:
|
||||
description: 'OpenIPC/firmware ref (SHA/tag/branch) to clone — for cross-repo bisect of size/regression issues. Defaults to firmware HEAD.'
|
||||
required: false
|
||||
|
||||
jobs:
|
||||
@@ -60,6 +63,7 @@ jobs:
|
||||
BUILD_ID: ${{ needs.resolve.outputs.tag_name }}
|
||||
BUILD_SHA: ${{ needs.resolve.outputs.ref }}
|
||||
BUILD_PLATFORM: ${{ inputs.platform }}
|
||||
OPENIPC_FW_REV: ${{ inputs.firmware_ref }}
|
||||
run: |
|
||||
export GIT_HASH=$(git rev-parse --short ${GITHUB_SHA})
|
||||
export GIT_BRANCH=${GITHUB_REF_NAME}
|
||||
|
||||
Reference in New Issue
Block a user