From 5036517e2273fe388d31be0d4939ef3544ec3b5a Mon Sep 17 00:00:00 2001 From: ScottW514 Date: Sun, 18 Oct 2026 18:20:47 -0400 Subject: [PATCH] Pin grblHAL 0.1.22, forgeext 0.1.5, forgectrl 0.1.34 and forgefirm-app 0.1.33 on the pushed heads, and meta-openglow in the kas lock - grblhal-glowforge badc832 -> e159720 (0.1.21 -> 0.1.22): a soft reset during motion gets the kernel's ramp and the position is read back from the kernel's step counters, a reset that lands after the core's own idle still gets the stop, the owed step is taken only between callbacks, a position that stays lost pins the lens and tells the sender, the homing cycle masks are pinned so a write cannot drop the lens hold, the test hooks (GF_SWITCH_DEV included) are honored only in a null-sink run through one gate, the underrun fail-safe log line names its entry, and the latch_test and serial_test cases that hold each. - forgeext bb75b23 -> ebd9592 (0.1.4 -> 0.1.5): the storage quota counts entries (one per 4 KiB) and the unlinked files a service holds open or mapped, bounded, every 10 s; a quarantine the host could not write is kept under the run directory, taken up at the next start or the first turn the state reads, and dropped by the write or the lift; the root's prepare turns current back to the state's version, drops only a versioned tree, and leaves a package it cannot turn refused while the host runs the others; a manifest that cannot be read holds its package out by name; the required-holds marker directory is one literal. - forgectrl 6c2bb38 -> b235be3 (0.1.33 -> 0.1.34): a diagnostic start the cooling engine refuses goes once more a second later, canceled by a later press or the Abort, which clears its text; the sysfs root, the switch device and the run directory are honored only in a host-test run through one gate (src/testhook.h, with its HOST_TESTED row here); test_routes holds the panel's retry text to the daemon's and the environment scan reads secure_getenv; the operator's texts say Grbl sender; holds_wire_test holds the required-holds directory to forgeext's and a marker alone holds. - forgefirm-app 0f59c54 -> 6fb146a (0.1.32 -> 0.1.33): the shared AGENTS.md block names a Grbl sender; nothing it installs changes. - kas lock: meta-openglow b7626be -> c542ce6, the head that pins the kernel module dab378d, python3-gfhardware 6fb146a and gfutilities b9e74b8. Proof: the four repositories' CI runs on the pushed heads are green (grblHAL-glowforge 39170662884, forgeext 39170677776, forgectrl 39168946865 on its second attempt, python3-gfhardware 39168949407), and forgefirm's own forgetest-ci on 0de9051 (39168937632). bitbake -c fetch of each pinned recipe from these pins succeeds. The tree manifest from the pins holds forgectrl at b235be3 (232 files), forgeext at ebd9592 (90), grblhal at e159720 (178) and the app at 6fb146a (46); the coverage lint over it finds no uncovered path and no row problem (43 tests), with the row for forgectrl src/testhook.h selecting host_start.sh in build.yml; check-ui-vendor finds the shared UI files identical; test_tree_manifest passes (7); the gate self-check refuses the empty artifact (rc 1). Acceptance: the pins move the fingerprints of every test whose covers name the four components, and the whole catalog runs on the next image. --- forgetest/forgetest/manifest.py | 4 ++++ kas/forgefirm-glowforge.lock.yml | 2 +- meta-forgefirm/recipes-forgefirm/forgectrl/forgectrl-pin.inc | 4 ++-- meta-forgefirm/recipes-forgefirm/forgeext/forgeext-pin.inc | 4 ++-- .../recipes-forgefirm/forgefirm-app/forgefirm-app-pin.inc | 4 ++-- .../grblhal-glowforge/grblhal-glowforge-pin.inc | 4 ++-- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/forgetest/forgetest/manifest.py b/forgetest/forgetest/manifest.py index 1a5d701..bc9ba99 100644 --- a/forgetest/forgetest/manifest.py +++ b/forgetest/forgetest/manifest.py @@ -189,6 +189,10 @@ HOST_TESTED = [ # The data and run directories from the environment: the SSH flag in the # run directory, written and removed by POST /system/ssh. ("forgectrl", "src/paths.h", "forgectrl:tests/host_routes.sh", "forgectrl:.github/workflows/build.yml"), + # The one gate the test hooks are read through (the sysfs root, the switch + # device and the run directory, honored only in a host-test run): the + # daemon started with the hooks set and no gate ignores and names them. + ("forgectrl", "src/testhook.h", "forgectrl:tests/host_start.sh", "forgectrl:.github/workflows/build.yml"), # The first run in the page's order: the four documents at their hashes, # the press step breathing teal, the press taken as the acceptance, the # form steps through main.c's hooks; and the on-demand Extensions diff --git a/kas/forgefirm-glowforge.lock.yml b/kas/forgefirm-glowforge.lock.yml index 9cfeddf..7b97501 100644 --- a/kas/forgefirm-glowforge.lock.yml +++ b/kas/forgefirm-glowforge.lock.yml @@ -11,4 +11,4 @@ overrides: meta-freescale-distro: commit: b9d6a5d9931922558046d230c1f5f4ef6ee72345 meta-openglow: - commit: b7626be45c7708a8e71bd03af61ca968796fc8f7 + commit: c542ce6ec5799df9cf0f689eb883c790c71a414b diff --git a/meta-forgefirm/recipes-forgefirm/forgectrl/forgectrl-pin.inc b/meta-forgefirm/recipes-forgefirm/forgectrl/forgectrl-pin.inc index ebb113b..6f98802 100644 --- a/meta-forgefirm/recipes-forgefirm/forgectrl/forgectrl-pin.inc +++ b/meta-forgefirm/recipes-forgefirm/forgectrl/forgectrl-pin.inc @@ -4,5 +4,5 @@ # only SRCREV and PV here - the image manifest leaves *-pin.inc out of the # layer content hash because the component entry already identifies the # pinned source (forgefirm-image-manifest.bbclass). -SRCREV = "6c2bb389fa21ebefbde200e03e9b6487e9940369" -PV = "0.1.33" +SRCREV = "b235be3e8ac5fcd88080b00c9d441dbda9c0014c" +PV = "0.1.34" diff --git a/meta-forgefirm/recipes-forgefirm/forgeext/forgeext-pin.inc b/meta-forgefirm/recipes-forgefirm/forgeext/forgeext-pin.inc index 3b64273..ad2f990 100644 --- a/meta-forgefirm/recipes-forgefirm/forgeext/forgeext-pin.inc +++ b/meta-forgefirm/recipes-forgefirm/forgeext/forgeext-pin.inc @@ -4,5 +4,5 @@ # only SRCREV and PV here - the image manifest leaves *-pin.inc out of the # layer content hash because the component entry already identifies the # pinned source (forgefirm-image-manifest.bbclass). -SRCREV = "bb75b23088b6ecce502ee3122bfb089b1c2641f1" -PV = "0.1.4" +SRCREV = "ebd959256d3da9f648d6975ba740bee86ad69c7b" +PV = "0.1.5" diff --git a/meta-forgefirm/recipes-forgefirm/forgefirm-app/forgefirm-app-pin.inc b/meta-forgefirm/recipes-forgefirm/forgefirm-app/forgefirm-app-pin.inc index 240c486..606f740 100644 --- a/meta-forgefirm/recipes-forgefirm/forgefirm-app/forgefirm-app-pin.inc +++ b/meta-forgefirm/recipes-forgefirm/forgefirm-app/forgefirm-app-pin.inc @@ -6,9 +6,9 @@ # because the component entry already identifies the pinned source # (forgefirm-image-manifest.bbclass). The python3-gfhardware recipe in # meta-glowforge-bsp pins the same repository; move both together. -SRCREV = "0f59c547b6e8418712ab9e000c58eb1975c29d79" +SRCREV = "6fb146a13c51765eec492bf758946e573ae25297" # Bump PV with every SRCREV move: the hash-derived package version is not # monotonic on its own and buildhistory QA fails the build when it sorts # backwards. -PV = "0.1.32+git" +PV = "0.1.33+git" diff --git a/meta-forgefirm/recipes-forgefirm/grblhal-glowforge/grblhal-glowforge-pin.inc b/meta-forgefirm/recipes-forgefirm/grblhal-glowforge/grblhal-glowforge-pin.inc index 6910ad4..95d6891 100644 --- a/meta-forgefirm/recipes-forgefirm/grblhal-glowforge/grblhal-glowforge-pin.inc +++ b/meta-forgefirm/recipes-forgefirm/grblhal-glowforge/grblhal-glowforge-pin.inc @@ -4,5 +4,5 @@ # changes; keep only SRCREV and PV here - the image manifest leaves # *-pin.inc out of the layer content hash because the component entry # already identifies the pinned source (forgefirm-image-manifest.bbclass). -SRCREV = "badc8323463c059e418bdf0e4a161ed73823bfc1" -PV = "0.1.21" +SRCREV = "e15972005c6e3e3b5bcb4d7408df0eaf83b5cc43" +PV = "0.1.22"