Files
reverse-engineering-anything/tests/packageInstallWorkflow.test.ts
T

36 lines
1.4 KiB
TypeScript

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");
});
});