mirror of
https://github.com/openglow-org/forgefirm.git
synced 2026-09-27 16:51:12 -07:00
Audit follow-through: runbook, bench tools, recipes, release tooling
BRINGUP describes the present: the 54-test catalog and its seven-test always core, the tier counts, the shipped low-temperature gates, the density floor ($35 = 10), the two local core commits, the ffboot env write, the aa-offset route, the current bench image, and the bench measurements the audit asks for (pooled into the next session). The workstation shell notes and every em dash are gone. forgetest: the takeover waits for the cloud client too (found by its command line); the unauthenticated /boot probe names the endpoint's parameter; the UI prose is American English. Recipes: forgetest fetches its package directory and init script only and drops __pycache__ at unpack; the dev image no longer re-adds forgectrl; the release image's remove list drops the gfui-client the BSP no longer has; the platform identity strips the kernel's local-version hash from the modules directory name, so a re-patched kernel keeps its fingerprints. grblhal restart is stop then start. release.sh --dev packs the dev image. fixture.sh refuses a readable env file. Bench tools: the live-fire drills measure the lid-IR baseline before every run and point at the fire-watch thresholds the engine reads; one thermistor conversion (gfbench.degc) serves every drill; the six dated measurement records leave the tool directory; feeder.c names the two sysfs writes its caller makes. Host tests: forgetest 258 pass; the coverage lint reports no uncovered path across 54 tests. Acceptance: forgectrl.auth covers the /boot probe; update.* cover ffboot and the manifest identity; the runbook and bench-tool changes have no catalog consequence.
This commit is contained in:
@@ -12,11 +12,21 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
|
||||
# that builds the images, so the catalog and the gate agree by construction.
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/../../../:"
|
||||
|
||||
# The package directory and the init script, not the tool's whole tree: the
|
||||
# host unit tests and their caches would otherwise enter the fetch checksum
|
||||
# and rebuild the dev image after a workstation test run.
|
||||
SRC_URI = " \
|
||||
file://forgetest/ \
|
||||
file://forgetest/forgetest/ \
|
||||
file://forgetest/forgetest.init \
|
||||
file://scripts/bench/ \
|
||||
"
|
||||
|
||||
do_unpack:append() {
|
||||
import subprocess
|
||||
subprocess.call(['find', d.getVar('WORKDIR') + '/forgetest', d.getVar('WORKDIR') + '/scripts',
|
||||
'-name', '__pycache__', '-type', 'd', '-prune', '-exec', 'rm', '-rf', '{}', '+'])
|
||||
}
|
||||
|
||||
S = "${WORKDIR}"
|
||||
|
||||
inherit python3-dir update-rc.d forgefirm-manifest
|
||||
|
||||
@@ -56,6 +56,7 @@ case "$1" in
|
||||
;;
|
||||
restart)
|
||||
$0 stop
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|status|restart}"
|
||||
|
||||
@@ -9,7 +9,6 @@ DESCRIPTION = "OpenGlow/ForgeFIRM development image for Glowforge"
|
||||
# emulator fixtures are the canned frames its service-protocol test answers
|
||||
# the service with.
|
||||
IMAGE_INSTALL += " \
|
||||
forgectrl \
|
||||
forgetest \
|
||||
python3-gfutilities-emulator \
|
||||
python3-mmap \
|
||||
|
||||
@@ -20,7 +20,7 @@ DESCRIPTION = "OpenGlow/ForgeFIRM image for Glowforge"
|
||||
# nothing here imports. Each Python recipe declares the module packages it
|
||||
# imports (python3-core plus the few it uses), so the meta-package goes.
|
||||
FORGEFIRM_RELEASE_TRIM ?= "nano"
|
||||
IMAGE_INSTALL:remove = "gfui-client python3 ${FORGEFIRM_RELEASE_TRIM}"
|
||||
IMAGE_INSTALL:remove = "python3 ${FORGEFIRM_RELEASE_TRIM}"
|
||||
|
||||
# grblhal-glowforge: the grblHAL motion controller (Grbl over TCP:23).
|
||||
# forgectrl: the ForgeFIRM machine-services daemon (HTTP :8080): controller
|
||||
|
||||
Reference in New Issue
Block a user