From 4f97f699e4d5471557d1ce0ff91e144065d06a61 Mon Sep 17 00:00:00 2001 From: morluto <76467478+morluto@users.noreply.github.com> Date: Sun, 12 Jul 2026 23:42:34 +0000 Subject: [PATCH] ci: verify installed package with Linux Hopper --- .github/pull_request_template.md | 1 + .github/workflows/real-hopper-linux.yml | 43 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 .github/workflows/real-hopper-linux.yml diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 4e1fe769d..e745d42c2 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -20,6 +20,7 @@ - [ ] Linting passes (`npm run lint`) - [ ] Full test suite passes (`npm test`) - [ ] Real Hopper verification performed (`npm run verify:hopper`) +- [ ] Linux real Hopper verification performed (`npm run verify:hopper:linux`) or unavailability explained - [ ] Package verification performed (`npm run verify:package`) ## Tool Contract Impact diff --git a/.github/workflows/real-hopper-linux.yml b/.github/workflows/real-hopper-linux.yml new file mode 100644 index 000000000..7ff3d5278 --- /dev/null +++ b/.github/workflows/real-hopper-linux.yml @@ -0,0 +1,43 @@ +name: Real Hopper Linux E2E + +on: + workflow_dispatch: + inputs: + first_target: + description: Absolute path to first Linux test binary + required: true + type: string + second_target: + description: Absolute path to a distinct Linux test binary + required: true + type: string + +permissions: + contents: read + +jobs: + verify: + name: Installed package against real Linux Hopper + runs-on: [self-hosted, Linux, hopper] + timeout-minutes: 20 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version-file: .nvmrc + cache: npm + - run: npm ci + - run: npm run rebuild:native + - name: Install packed CLI in isolation + shell: bash + run: | + tarball="$(npm pack --silent)" + prefix="${RUNNER_TEMP}/rea-prefix" + npm install --global --prefix "${prefix}" "./${tarball}" + echo "REA_VERIFY_SERVER_COMMAND=${prefix}/bin/rea" >> "${GITHUB_ENV}" + echo 'REA_VERIFY_SERVER_ARGS_JSON=["mcp"]' >> "${GITHUB_ENV}" + - name: Verify two binaries through the in-process bridge + env: + HOPPER_TARGET_PATH: ${{ inputs.first_target }} + HOPPER_SECOND_TARGET_PATH: ${{ inputs.second_target }} + run: npm run verify:hopper:linux