Consolidate Deployed Changes with Master + labelling change#24
Merged
Conversation
Squashed halter fork baseline on top of upstream + DDNS: extended DUT id, unmanaged plugs + child tests, multislot/restart/ clickable-phase UI, multiplug-instantiation fix, DutIdentifier serialisable, Jan-2025 upstream bump, child-test reporting fixes.
Squashed operator-fault-report-escalate: GUI fault panel, report relay + escalate-to-PagerDuty, station_server.set_fault_report_handler / set_fault_escalate_handler, node16 CI pin.
Adds a generic, optional metadata['label'] surfaced as a badge on the left of each History row (styled like the running status badge, DUT id centred). Null when unset, so unlabelled tests render unchanged. Used by the P5 ICT 6-up plans to show each child test's slot number.
Coverage Report for CI Build 28711066241Coverage decreased (-1.2%) to 60.607%Details
Uncovered Changes
Coverage Regressions9 previously-covered lines in 3 files lost coverage.
Coverage Stats
💛 - Coveralls |
Jwnadler
approved these changes
Jul 5, 2026
Author
|
Works, and best to get onto master ASAP, before any more work gets added and clutters up the history |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Consolidation
Now that we have our own copy of openhtf, the trunk is
master. When it was a fork, we'd merge all our custom halter changes intohalter-mods. Bothhalter-modsandmasterdiverged from google:openhtf's0e4f7c. However,halter-modshas a butt-load more changes. (masteronly stacks @kurtmc DDNS change on it). The history ofhalter-modsis pretty yucky (yay me!) but does have some vital changes.@PaulSalaun made a bunch of ui changes to
hotfix/webui-no-loading-test. This is likely because at the time, this was deployed to all the stations (my bad). Theopenhtfcommit thathardware-test-frameworkpoints to is82b0c5f- the latest commit on thathotfixbranch. We ideally want all this moved onto master.This commit has diverged from
masterin 3 big waysI got claude to group the disparities into those 3 categories, with a commit for each. At the end of the day, these changes should have all the same things as what's currently deployed
0e4f7c, plus my stuff (3).I'm also at the factory so I have the liberty of testing that all this stuff works.
New slot labelling for multislot
Adds a generic, optional label to each test's metadata that surfaces as a small badge on the left of its row in the station web UI's History panel. A test plan sets test.test_record.metadata['label'] to any string; the frontend reads that key and renders it (styled like the "running" status badge — light-blue fill, bold dark-blue text — flush to the row's left edge, with the DUT id centred beside it). Tests that don't set a label render unchanged, so it's opt-in and backwards-compatible. It's a generic way of additing additional information, which is visible on the history panel.
Its main use case is the P5 ICT 6-up plans: each child test sets its slot number (1–6), so operators can tell at a glance which fixture position each pass/fail row came from.
I kinda don't like the way it's implemented. We can add any info we want to
metadata, but only thelabelvalue will display in this very specific way in the frontend At the same time, this is consistent with the the way the repo handles dut_id/test_name. It doesn't document that the fontend renders this. Cleanup in another PR perhaps