[ci] Fix hero_lib_rhai integration tests — tests.yaml red on every push #189

Closed
opened 2026-04-26 00:45:50 +00:00 by mik-tf · 1 comment
Owner

Symptom

hero_lib_rhai/.forgejo/workflows/tests.yaml has been failing on every push to development for many commits, leaving the repo's overall CI permanently red even when lint and the library code itself are fine.

Why this issue exists separately from home#188

During the home#188 CI sweep, hero_lib_rhai PR #11 addressed the lint half (clippy + fmt — real fixes). The tests half is genuinely separate work — the failing test (crates/virt_rhai/tests/rhai/podman/01_container_operations.rhai) needs a working podman/container runtime that the runner image apparently can't consistently provide.

An earlier draft of PR #11 restricted tests.yaml triggers to workflow_dispatch + v* tag push to dodge the failure. That was rolled back as not honest enough — the tests really should run on every push, and a green badge that doesn't run them misrepresents what's checked.

So tests.yaml stays firing on push/PR (it's still red), and this issue tracks fixing it for real.

Repo-level issue

For day-to-day tracking by anyone working in hero_lib_rhai:
lhumina_code/hero_lib_rhai#12

This cross-repo issue mirrors that for visibility from the home tracker.

What needs to happen

  • Pull the actual log of a recent failed run to see what step in tests.yaml is failing — apt-install, the storage config, containerd startup, or the actual make test step?
  • If make test reaches the podman test and fails: investigate what the runner's container setup needs (storage driver? userns? specific kernel cap?)
  • If apt-install / setup fails earlier: which dep, why?
  • Either fix the test infra so the runner consistently provides a working podman setup, or rework 01_container_operations.rhai to mock the container runtime, or add an explicit PODMAN=available env-gated skip in the Rhai test with comment + link to this issue
  • Audit the other 14 currently-skipped tests — confirm they're skipping for the right reasons (backing service unavailable) vs masking a bug
  • Verify the green CI then sticks across multiple pushes (no flakiness)

Acceptance criteria

  • Fresh push to developmenttests.yaml run completes with status success
  • Fresh PR targeting developmenttests.yaml run completes with status success
  • Number of passing tests reported matches the number of tests with working backing infrastructure (skipped count documented if not zero)
  • hero_lib_rhai #12 closed via the same PR

Signed-off-by: mik-tf

## Symptom `hero_lib_rhai/.forgejo/workflows/tests.yaml` has been failing on every push to `development` for many commits, leaving the repo's overall CI permanently red even when lint and the library code itself are fine. ## Why this issue exists separately from home#188 During the [home#188](https://forge.ourworld.tf/lhumina_code/home/issues/188) CI sweep, [hero_lib_rhai PR #11](https://forge.ourworld.tf/lhumina_code/hero_lib_rhai/pulls/11) addressed the **lint** half (clippy + fmt — real fixes). The **tests** half is genuinely separate work — the failing test (`crates/virt_rhai/tests/rhai/podman/01_container_operations.rhai`) needs a working podman/container runtime that the runner image apparently can't consistently provide. An earlier draft of PR #11 restricted `tests.yaml` triggers to `workflow_dispatch` + `v*` tag push to dodge the failure. That was rolled back as not honest enough — the tests really should run on every push, and a green badge that doesn't run them misrepresents what's checked. So `tests.yaml` stays firing on push/PR (it's still red), and this issue tracks fixing it for real. ## Repo-level issue For day-to-day tracking by anyone working in `hero_lib_rhai`: https://forge.ourworld.tf/lhumina_code/hero_lib_rhai/issues/12 This cross-repo issue mirrors that for visibility from the home tracker. ## What needs to happen - [ ] Pull the actual log of a recent failed run to see what step in `tests.yaml` is failing — apt-install, the storage config, `containerd` startup, or the actual `make test` step? - [ ] If `make test` reaches the podman test and fails: investigate what the runner's container setup needs (storage driver? userns? specific kernel cap?) - [ ] If apt-install / setup fails earlier: which dep, why? - [ ] **Either** fix the test infra so the runner consistently provides a working podman setup, **or** rework `01_container_operations.rhai` to mock the container runtime, **or** add an explicit `PODMAN=available` env-gated skip in the Rhai test with comment + link to this issue - [ ] Audit the other 14 currently-skipped tests — confirm they're skipping for the right reasons (backing service unavailable) vs masking a bug - [ ] Verify the green CI then sticks across multiple pushes (no flakiness) ## Acceptance criteria - [ ] Fresh push to `development` → `tests.yaml` run completes with status `success` - [ ] Fresh PR targeting `development` → `tests.yaml` run completes with status `success` - [ ] Number of passing tests reported matches the number of tests with working backing infrastructure (skipped count documented if not zero) - [ ] [hero_lib_rhai #12](https://forge.ourworld.tf/lhumina_code/hero_lib_rhai/issues/12) closed via the same PR ## Related - Parent CI sweep tracker: [home#188](https://forge.ourworld.tf/lhumina_code/home/issues/188) - Repo-level issue: [hero_lib_rhai#12](https://forge.ourworld.tf/lhumina_code/hero_lib_rhai/issues/12) - The lint side: [hero_lib_rhai PR #11](https://forge.ourworld.tf/lhumina_code/hero_lib_rhai/pulls/11) Signed-off-by: mik-tf
mik-tf changed title from [ci] Reinstate push/PR triggers on hero_lib_rhai tests.yaml — needs container-capable runner to [ci] Fix hero_lib_rhai integration tests — tests.yaml red on every push 2026-04-26 00:56:03 +00:00
Author
Owner

Moved to hero_demo#40 — see lhumina_code/hero_demo#40

Moved to hero_demo#40 — see https://forge.ourworld.tf/lhumina_code/hero_demo/issues/40
Sign in to join this conversation.
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
lhumina_code/home#189
No description provided.