ci(e2e): use bun x instead of missing bunx shim (PMS-532) #391

Merged
Claude-Run merged 2 commits from fix/PMS-532-e2e-bunx-shim into main 2026-06-26 17:01:28 +02:00
Member

The opensuse-dev runner image ships bun but not the bunx shim, so the
Playwright steps died with bunx: command not found (exit 127). Bun
exposes the same runner via the bun x subcommand, which is always
present wherever the bun binary is. Swap both bunx invocations (the
browser-install step and the suite run) to bun x; bun install is
unchanged.

#PMS-532

The opensuse-dev runner image ships bun but not the `bunx` shim, so the Playwright steps died with `bunx: command not found` (exit 127). Bun exposes the same runner via the `bun x` subcommand, which is always present wherever the `bun` binary is. Swap both `bunx` invocations (the browser-install step and the suite run) to `bun x`; `bun install` is unchanged. #PMS-532
ci(e2e): run E2E on opensuse-dev runner with pre-baked Playwright (PMS-423)
Some checks failed
E2E / Playwright against staging (pull_request) Failing after 15s
Check / fmt + clippy + build + tests (pull_request) Successful in 6m7s
Integration / integration tests (pull_request) Successful in 8m38s
Create release / Gate (release-branch merges only) (pull_request) Successful in 1s
Create release / Create release from merged PR (pull_request) Has been skipped
443e2e773b
Switch the E2E job to the opensuse-dev runner, which pre-bakes nodejs24, bun, and the @playwright/test 1.60.0 browser binaries (chromium, firefox, webkit) plus their system libraries. This removes the job-time Node download and the apt-get fallback that killed the run on openSUSE Leap.

- runs-on uses RUNS_ON_OPENSUSE_DEV_LATEST instead of the base image.
- Drop the actions/setup-node rationale; the dev image ships Node 24 on PATH.
- Install deps with `bun install --frozen-lockfile`; migrate the lockfile to bun.lock and remove package-lock.json.
- Install browsers with `bunx playwright install chromium firefox webkit`, no --with-deps (the image provides the system libs). The step is a fast no-op when versions match the pre-baked revision and self-heals on drift.
- Run the suite with `bunx playwright test`.
- Replace the single Desktop-Chrome browser project with chromium, firefox, and webkit projects so the suite exercises all three engines; @playwright/test stays pinned at 1.60.0 to match the image.

#PMS-423
ci(e2e): use bun x instead of missing bunx shim (PMS-532)
All checks were successful
E2E / Playwright against staging (pull_request) Successful in 50s
Check / fmt + clippy + build + tests (pull_request) Successful in 1m49s
Integration / integration tests (pull_request) Successful in 8m21s
Create release / Gate (release-branch merges only) (pull_request) Successful in 4s
Create release / Create release from merged PR (pull_request) Has been skipped
a1a1ef9afe
The opensuse-dev runner image ships bun but not the `bunx` shim, so the
Playwright steps died with `bunx: command not found` (exit 127). Bun
exposes the same runner via the `bun x` subcommand, which is always
present wherever the `bun` binary is. Swap both `bunx` invocations (the
browser-install step and the suite run) to `bun x`; `bun install` is
unchanged.

#PMS-532
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
psa-systems/mokosh-server!391
No description provided.