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"); expect(realHopperLinux).toContain("npm run verify:fixtures"); expect(realHopperLinux).toContain("actions/upload-artifact@v4"); expect(realHopperLinux).toContain("actions/download-artifact@v4"); expect(realHopperLinux).toContain("REA_HOPPER_CONFORMANCE_MANIFEST_PATH:"); expect(realHopperLinux).not.toContain("inputs.first_target"); }); });