fix(ci): fix emulate job - build-infiniemu wrapper adapts interface #1

Open
qwolff wants to merge 0 commits from wave3-ci-fix into main
Owner

Summary

  • The emulate CI job failed because the CI set INFINIEMU directly to the raw infiniemu-previewer binary, but run.sh/xtask call it with (elf, script-string, out.png) while the raw binary expects (firmware, script.txt) with -screenshot <out.png> flag.
  • Fixed emulation/build-infiniemu.sh to build the raw binary to OUTPUT-raw and generate an adapter wrapper shell script at OUTPUT that bridges the two interfaces.
  • No changes to ci.yml needed (it already passes the right paths).

Test plan

  • Push triggers CI on this PR
  • emulation goldens job now passes (all 4 jobs green)
  • Verify no regressions in lint, test, firmware jobs

🤖 Generated with Claude Code

## Summary - The `emulate` CI job failed because the CI set `INFINIEMU` directly to the raw `infiniemu-previewer` binary, but `run.sh`/xtask call it with `(elf, script-string, out.png)` while the raw binary expects `(firmware, script.txt)` with `-screenshot <out.png>` flag. - Fixed `emulation/build-infiniemu.sh` to build the raw binary to `OUTPUT-raw` and generate an adapter wrapper shell script at `OUTPUT` that bridges the two interfaces. - No changes to `ci.yml` needed (it already passes the right paths). ## Test plan - [ ] Push triggers CI on this PR - [ ] `emulation goldens` job now passes (all 4 jobs green) - [ ] Verify no regressions in lint, test, firmware jobs 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(ci): adapt build-infiniemu.sh to generate an interface wrapper
All checks were successful
CI / host tests (pull_request) Successful in 33s
CI / fmt + clippy (pull_request) Successful in 1m0s
CI / firmware build + size + dfu (pull_request) Successful in 1m14s
CI / emulation goldens (pull_request) Successful in 2m14s
eb34abdef6
The CI workflow sets INFINIEMU to the raw previewer binary path, but
run.sh (and xtask emulate-test) call $INFINIEMU with the signature:
  infiniemu <firmware.elf> <script-string> <out.png>

The raw previewer binary expects a different interface:
  previewer -screenshot <out.png> <firmware> <script.txt>

Specifically the previewer needs:
1. The output PNG specified via -screenshot flag (not a positional arg)
2. A script *file* (not an inline string)

Fix: build-infiniemu.sh now builds the raw Go binary to OUTPUT-raw, then
writes a small adapter shell script to OUTPUT. The adapter:
- Writes inline script strings to a temp file
- Invokes the raw previewer with -screenshot <out.png>

The CI workflow already passes $PWD/infiniemu-previewer as both the build
output and INFINIEMU env var, so no ci.yml changes are needed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All checks were successful
CI / host tests (pull_request) Successful in 33s
CI / fmt + clippy (pull_request) Successful in 1m0s
CI / firmware build + size + dfu (pull_request) Successful in 1m14s
CI / emulation goldens (pull_request) Successful in 2m14s
This branch is already included in the target branch. There is nothing to merge.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin wave3-ci-fix:wave3-ci-fix
git switch wave3-ci-fix

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff wave3-ci-fix
git switch wave3-ci-fix
git rebase main
git switch main
git merge --ff-only wave3-ci-fix
git switch wave3-ci-fix
git rebase main
git switch main
git merge --no-ff wave3-ci-fix
git switch main
git merge --squash wave3-ci-fix
git switch main
git merge --ff-only wave3-ci-fix
git switch main
git merge wave3-ci-fix
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
qwolff/pineOS!1
No description provided.