Skip to content

Reconcile master with deployed openhtf + add per-test result label#1298

Closed
uh-oh-monteiro wants to merge 4 commits into
google:masterfrom
halter:clean-master
Closed

Reconcile master with deployed openhtf + add per-test result label#1298
uh-oh-monteiro wants to merge 4 commits into
google:masterfrom
halter:clean-master

Conversation

@uh-oh-monteiro

Copy link
Copy Markdown

Master was only upstream + the DDNS PR, while the stations actually run the fork (via the escalate branch). This brings the deployed state onto master as clean, squashed commits and adds one new feature.
Fast-forwards onto master (linear on origin/master).

Commits

  1. Halter openHTF fork — squashed fork baseline: 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.
  2. Operator fault panel + PagerDuty escalate — Paul's fault-report GUI + relay + set_fault_report_handler (fixes the station startup crash). Tree is byte-identical to the deployed escalate tip 82b0c5f.
  3. Per-test result label — generic metadata['label'] surfaced as a left badge on history rows (styled like the "running" badge; DUT id centred). Null when unset, so unlabelled tests are unchanged.

Notes

  • Verified: commits 1–2 reproduce the deployed tree exactly; the only net-new source vs deployed is the label (+39/−1, 4 files).
  • Deliberately excludes the reverted CSV export / "Show 10 more" pagination and the history-handler / Past-Test-Interactions tail.
  • History is squashed (no WIP/revert noise); prior multi-author granular history is intentionally not preserved.
  • Companion (hardware-test-framework): bump submodule → f8e4228, and set metadata['label'] in the ICT 6-up sequences

kurtmc and others added 4 commits May 29, 2026 17:31
* Add DDNS health indicator to single-station dashboard status bar

Render the tri-state DDNS record health reported by the station server in
the single-station status bar, below the IP line:

  MATCH    -> green check     (resolves to the station's current IP)
  MISMATCH -> red cross        (resolves, but to a different/stale IP)
  UNKNOWN  -> grey question    (could not resolve: NXDOMAIN, timeout, no FQDN)

The line is omitted entirely when the server reports no DDNS information
(the multi-station dashboard path and older servers do not send these
fields), so the change degrades safely against an un-bumped backend.

The fields (ddns_hostname / ddns_resolved_ip / ddns_status) are produced
by the backend counterpart in halter-corp/hardware-test-framework#1567.

NOTE: the committed dist/ bundle is NOT regenerated in this commit. The
Angular 4 / webpack 3 / node-sass 7 toolchain could not be built in the
authoring environment (Node 25 / Python 3.12 lacks distutils, node-sass
native build fails). Run "npm install && npm run build" in web_gui with a
compatible Node before deploying, and commit the regenerated dist/. See
the accompanying APPLY.md.

Co-Authored-By: clank-halter[bot] <2696940+clank-halter[bot]@users.noreply.github.com>
Clank-Job-Id: 6ae51244-e605-4ce0-9e50-ebf172b7b87d

* Pin Node 16 in web_ui CI job so node-sass can build

The web_ui job used setup-node without a version, picking up the
runner's default (now Node 22). node-sass@7 can't compile its native
addon on Node >= 18, so npm install failed. Pin Node 16 to unblock CI.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: kurtmc <2661907+kurtmc@users.noreply.github.com>
Co-authored-by: clank-halter[bot] <2696940+clank-halter[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
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.
@google-cla

google-cla Bot commented Jul 4, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@uh-oh-monteiro uh-oh-monteiro deleted the clean-master branch July 5, 2026 05:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants