From 19720009363c3174cff861569a183d28514d711a Mon Sep 17 00:00:00 2001 From: k-taro56 <121674121+k-taro56@users.noreply.github.com> Date: Sat, 2 May 2026 00:06:17 +0900 Subject: [PATCH 01/95] feat: implement cross-package manager install matrix in E2E tests Added support for an install matrix in the E2E tests for `arkor init` and `create-arkor`, allowing tests to run with different package managers (npm, pnpm, yarn, yarn-berry, bun). Introduced the `ARKOR_E2E_PM` environment variable to control which package manager is used during the tests, enhancing test coverage and reliability across various environments. Updated CI workflow to accommodate this new testing strategy. --- .github/workflows/ci.yaml | 169 +++++++++++++++++++++++++++++++ AGENTS.md | 1 + e2e/cli/src/arkor-init.test.ts | 78 ++++++++++---- e2e/cli/src/create-arkor.test.ts | 63 ++++++++---- turbo.json | 2 + 5 files changed, 279 insertions(+), 34 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 84512bf4..37ed5f5c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -172,6 +172,175 @@ jobs: if: ${{ !matrix.rolldownIncompat }} run: pnpm build + # Cross-pm install matrix: exercises `arkor init --use-` and + # `create-arkor --use-` against every package manager the SDK accepts, + # crossed with OS and a curated set of Node versions known to shift + # spawn / pipe / strip-types behaviour (e.g. libuv 1.51 in Node 22.17 + # changed macOS pipe-flush timing — the kind of thing that ate hours of + # debugging in eng-606). The build job above already runs `pnpm test` + # end-to-end, but its install assertions only cover the pms that a + # typical contributor has on PATH (npm + pnpm). The yarn / yarn-berry / + # bun lanes pull their runtimes in CI-only because they aren't a + # development prerequisite and we don't want `pnpm test` on a fresh + # checkout to require them. + # + # Each runner sets `ARKOR_E2E_PM=