What you’ll do
1
Create a personal access token
On API Keys, create a personal access token and give it a name. Chiplab shows the token once. Copy it into a CI secret. The job sends it as a bearer token,
CHIPLAB_API_KEY.2
Start from the GitHub Actions template
The examples repository ships
.github/workflows/claude-chiplab-smoke.yml. It runs when someone comments /smoke-test on a pull request, builds examples/bare-metal/stm32f4-discovery, and checks the captured UART. Treat it as a template: the trigger, the agent, and the example path are yours to change.3
Run on the virtual board
The job calls
ask for the current boards, tools, and gotchas, produces an ELF, uploads it, and runs it on the target board with the UART the firmware writes. It then waits and downloads stdout.4
Fail when the expected output is missing
Fail the pipeline unless
stdout contains what you expect. The public examples expect Hello world!.Ask your agent
What you get back
The job downloadsstdout and fails the pipeline unless that output contains what you expect. The public examples expect Hello world!.
Next
CI/CD
Run the same tools from a pipeline with a personal access token.
run
Execute an ELF on a virtual board and read the UART.