Skip to content

Commit 65298ab

Browse files
committed
docs(hw-ci): ship direct-mode YAML templates for mini2 + nuc
Redacted direct-mode labgrid YAML templates under ``doc/source/developer/samples/`` with every host-specific path and credential marked ``<FILL>``: - ``lg_direct_mini2.yaml.example`` — AD9081 + ZCU102 on mini2 (CP2108 serial, USB SD-mux, MassStorageDevice partuuid, VeSync). - ``lg_direct_nuc.yaml.example`` — FMCDAQ3 + VCU118 on nuc (CP2105 serial, XilinxDeviceJTAG target IDs, XilinxVivadoTool, VeSync). Developer-guide walkthrough (Direct-mode YAML templates section) covers the per-node bring-up: scp → fill placeholders from the existing exporter YAML on the host → ``LG_DIRECT_ENV`` + ``svc.sh`` restart → workflow_dispatch to verify the ``hw-direct (<place>)`` leg now runs instead of skipping. Unblocks the two currently-skipping hw-direct matrix legs (mini2, nuc) without putting any credentials in the repo.
1 parent 9ddc72a commit 65298ab

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

doc/source/developer/hardware_ci.rst

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,61 @@ the node-local labgrid YAML:
205205
only runs ``hw-coord`` legs, which use the committed
206206
``env_remote_*.yaml`` files.)
207207

208+
Direct-mode YAML templates
209+
~~~~~~~~~~~~~~~~~~~~~~~~~~
210+
211+
A node-local direct-mode YAML has the same *shape* as the coordinator
212+
env YAML except it declares resources + drivers in full rather than
213+
pointing at a ``RemotePlace``. Because it contains host-specific
214+
paths (serial by-id symlinks, sdmux ID_PATH, ``MassStorageDevice``
215+
partition path) and credentials (VeSync account for the smart plug,
216+
Home Assistant tokens for ZC706's HAS outlet), **it must not be
217+
checked into the repo**.
218+
219+
Two redacted templates ship in
220+
``doc/source/developer/samples/``:
221+
222+
- ``lg_direct_mini2.yaml.example`` — AD9081 + ZCU102 on mini2. Fill
223+
in serial port symlink, sdmux ID_PATH, MassStorageDevice partition,
224+
and VeSync credentials.
225+
- ``lg_direct_nuc.yaml.example`` — FMCDAQ3 + VCU118 on nuc. Fill in
226+
serial port symlink, VeSync credentials; JTAG ``root_target`` /
227+
``microblaze_target`` follow the existing exporter config at
228+
``~/dev/lg-coordinator/lg_fmcdaq3_vcu118_exporter.yaml`` on nuc.
229+
230+
Per-node bring-up:
231+
232+
1. Copy the template onto the runner host, rename and strip the
233+
``.example`` suffix:
234+
235+
.. code-block:: bash
236+
237+
scp doc/source/developer/samples/lg_direct_mini2.yaml.example \
238+
mini2:~/ci/lg_direct.yaml
239+
240+
2. SSH in and replace every ``<FILL>`` placeholder with the
241+
host-specific value. Cross-reference the exporter YAML already
242+
on the host for serial symlinks, USB device paths, and VeSync
243+
credentials.
244+
245+
3. Point the runner at it and restart the runner service:
246+
247+
.. code-block:: bash
248+
249+
echo "LG_DIRECT_ENV=/home/$USER/ci/lg_direct.yaml" >> ~/actions-runner/.env
250+
sudo ./svc.sh stop && sudo ./svc.sh start
251+
252+
4. Trigger the workflow (``gh workflow run hardware-test.yml``) and
253+
check that ``hw-direct (<place>)`` now runs the full test path
254+
instead of emitting
255+
``LG_DIRECT_ENV is not set on this runner — skipping direct-mode
256+
tests.``.
257+
258+
The templates are intentionally minimal — only the drivers and
259+
resources each board's test actually uses — so the same bring-up
260+
works for both ZCU102 (SD-mux boot) and VCU118 (JTAG boot) after
261+
swapping the strategy / driver section.
262+
208263
System-tool prerequisites on each hw-node runner:
209264

210265
.. code-block:: bash

0 commit comments

Comments
 (0)