Repository navigation
Offer builder's FPV stacks in the installer, and let /low-latency install them (#390) - #404
Conversation
…tall them (#390) RubyFPV, wfb-ng and apfpv are built in OpenIPC/builder, and the site offered none of them: the firmware index read only firmware and u-boot builds, and full images were fetched only from firmware's releases. - The index takes builder's generic builds of the FPV editions (wfbng, fpv, waybeam, rubyfpv, apfpv) under the names firmware would give them. <soc>_<variant>_generic-<storage>.tgz, how builder publishes RubyFPV, maps to its edition, and the asset remembers the file and the repo it downloads from (BUILDER_DOWNLOAD_BASE). Firmware wins a name both publish, and wfbng is offered over fpv while builder carries both. - Fits come from builder's size reports. A builder edition with none is not taken for an 8 MB build. - The wizard orders them after firmware's editions and links them to builder's release under the file name builder published. The result says the image comes from OpenIPC/builder. - /api/v1/hardware/availability.json gains `fpv`: the FPV editions each installable SoC has. - /low-latency's build cards become four (wfb-ng, Waybeam, RubyFPV, apfpv), each with its project link and the SoCs it installs on, linked into the installer with the 16 MB chip and the edition chosen, and corrected on load from the feed. Clicks are lowlat:try:<stack>:<soc>. Also drops service/deploytest/noruby_test.go: no Ruby is left to guard against, and it was tripping on the stack's name.
PR Summary by QodoOffer builder FPV editions in the installer and on /low-latency
AI Description
Diagram
High-Level Assessment
Files changed (32)
|
Code Review by Qodo
1.
|
…s, fpv links survive the rename - fitsEight: a builder edition with no report is not 8 MB whether its tarball is NOR or NAND (a NAND-only edition reaches NOR combinations when NOR has nothing published). - A builder size report missing either partition's usage is no report, not zeros that pass for an 8 MB fit. - The availability feed's fpv map lists NOR builds from builder only: /low-latency links the 16 MB NOR installer, which would open a NAND-only edition as Lite, and a firmware-built name is not a builder stack. - The installer reads ver=fpv as wfbng once only wfbng is published, so a page prerendered before builder's rename, or a kept permalink, does not quietly open on Lite.
Refs #390.
RubyFPV, wfb-ng (
fpv) and apfpv are built in OpenIPC/builder, not firmware, and the site offered none of them.LoadIndexread onlysource IN ('firmware','uboot'), and full images were fetched only from firmware's releases. Builder's tarballs have firmware's layout (uImage.<soc>,rootfs.squashfs.<soc>; checked onopenipc.ssc338q-nor-fpv.tgzandssc338q_rubyfpv_generic-nor.tgz), so the assembler takes them unchanged.Service
wfbng,fpv,waybeam,rubyfpv,apfpv) are indexed under the name firmware would give them.ssc338q_rubyfpv_generic-nor.tgzbecomesopenipc.ssc338q-nor-rubyfpv.tgz. The asset keeps its real file name and repo.wfbngis offered overfpvonce builder publishes both (the planned builder rename).BUILDER_DOWNLOAD_BASE(defaulthttps://github.com/OpenIPC/builder/releases/download).board/variant/flash_mb). A builder edition with no report is not taken for an 8 MB build./api/v1/hardware/availability.jsongains an additivefpvmap: the FPV editions each installable SoC has.Site
?rom=nor16m&ver=<edition>. These are 16 MB images, and on an 8 MB chip the wizard would turn the edition into Lite; there is a test for this.lowlat:try:<stack>:<soc>.lowlat:offeris untouched.OpenIPC/waybeam(renamed fromwaybeam_venc).Also
service/deploytest/noruby_test.go. No Ruby is left to guard against, and it tripped on RubyFPV.Tests
service/run.sh test,bin/conformance, frontendlint/typecheck/test/buildall pass locally.firmware/builder_test.go: name mapping, wfbng over fpv, fetch from builder under the upstream name, thefpvfeed.builds:TestLoadIndexBuilderEditions(DB).wizard:TestBuilderEditions.editions.test.ts, plus the link-opening cases inwizard-menu.test.ts.Validation on dev before prod
/api/v1/wizard/ssc338q.jsonlists fpv, rubyfpv and apfpv under nor.download_full_image?...&fw_release=rubyfpvimage's kernel and rootfs md5 match the tarball's.md5sumfiles.Follow-ups, from the same plan:
wfbngwherefpvis tested, and sysupgrade fpv→wfbng.updatewebui.fpv→wfbng, with old names aliased for cameras in the field.ssc338q_waybeamprofile.gk7205v200_rubyfpv_genericpublishes no tarball.