diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7b84c8c50..758fc96e8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -105,7 +105,6 @@ jobs: node-version-file: .nvmrc cache: npm - run: npm ci - - run: npm run rebuild:native - run: npm run test:coverage -- --reporter=verbose --reporter=junit --outputFile.junit=test-results.xml - uses: actions/upload-artifact@v4 if: always() @@ -128,7 +127,6 @@ jobs: node-version-file: .nvmrc cache: npm - run: npm ci - - run: npm run rebuild:native - run: npm run verify:package windows-curated: diff --git a/.github/workflows/real-hopper-linux.yml b/.github/workflows/real-hopper-linux.yml index 286677e04..94674232c 100644 --- a/.github/workflows/real-hopper-linux.yml +++ b/.github/workflows/real-hopper-linux.yml @@ -48,13 +48,12 @@ jobs: 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}" + npm install --global --ignore-scripts --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 an alternate launcher symlink diff --git a/.github/workflows/real-hopper.yml b/.github/workflows/real-hopper.yml index 09303ba48..9308a6a30 100644 --- a/.github/workflows/real-hopper.yml +++ b/.github/workflows/real-hopper.yml @@ -27,13 +27,12 @@ jobs: 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}" + npm install --global --ignore-scripts --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 real binaries diff --git a/tests/analysisSnapshot.test.ts b/tests/analysisSnapshot.test.ts index 664e8a6bf..dbf207849 100644 --- a/tests/analysisSnapshot.test.ts +++ b/tests/analysisSnapshot.test.ts @@ -144,7 +144,7 @@ describe("analysis snapshots", () => { }); it("writes canonical private v2 JSON and rejects changed query identity", async () => { - directory = await mkdtemp(join(tmpdir(), "rea-analysis-snapshot-")); + directory = await mkdtemp(join(tmpdir(), "rea-snapshot-")); const path = join(directory, "analysis.json"); const target = snapshotTarget(TARGET); const binding = snapshotBinding(PROFILE); diff --git a/tests/packageInstallWorkflow.test.ts b/tests/packageInstallWorkflow.test.ts new file mode 100644 index 000000000..425b30f52 --- /dev/null +++ b/tests/packageInstallWorkflow.test.ts @@ -0,0 +1,30 @@ +import { readFile } from "node:fs/promises"; +import { describe, expect, it } from "vitest"; + +describe("package installation workflows", () => { + it("runs package E2E without the retired native rebuild script", async () => { + const continuousIntegration = await readFile( + new URL("../.github/workflows/ci.yml", import.meta.url), + "utf8", + ); + const realHopperLinux = await readFile( + new URL("../.github/workflows/real-hopper-linux.yml", import.meta.url), + "utf8", + ); + const realHopperMac = await readFile( + new URL("../.github/workflows/real-hopper.yml", import.meta.url), + "utf8", + ); + + expect(continuousIntegration).toContain("os: [ubuntu-latest, macos-14]"); + expect(continuousIntegration).toContain("npm run verify:package"); + for (const workflow of [ + continuousIntegration, + realHopperLinux, + realHopperMac, + ]) + expect(workflow).not.toContain("npm run rebuild:native"); + for (const workflow of [realHopperLinux, realHopperMac]) + expect(workflow).toContain("npm install --global --ignore-scripts"); + }); +});