@@ -28,13 +28,13 @@ type PackageJson = {
|
28 | 28 | packageManager?: string; |
29 | 29 | }; |
30 | 30 | |
31 | | -function repositoryPnpmVersion(): string { |
| 31 | +function repositoryPnpmMajor(): string { |
32 | 32 | const packageJson = JSON.parse(readFileSync(PACKAGE_JSON, "utf8")) as PackageJson; |
33 | | -const version = packageJson.packageManager?.match(/^pnpm@(.+)$/)?.[1]; |
34 | | -if (!version) { |
| 33 | +const major = packageJson.packageManager?.match(/^pnpm@(\d+)\./)?.[1]; |
| 34 | +if (!major) { |
35 | 35 | throw new Error(`Missing pnpm packageManager pin in ${PACKAGE_JSON}`); |
36 | 36 | } |
37 | | -return version.split("+", 1)[0]; |
| 37 | +return major; |
38 | 38 | } |
39 | 39 | |
40 | 40 | function workflowStep(name: string): WorkflowStep { |
@@ -48,13 +48,13 @@ function workflowStep(name: string): WorkflowStep {
|
48 | 48 | } |
49 | 49 | |
50 | 50 | describe("Mantis Telegram Desktop proof workflow", () => { |
51 | | -it("uses the repository pnpm version pin", () => { |
| 51 | +it("runs with the repository pnpm major", () => { |
52 | 52 | const workflow = parse(readFileSync(WORKFLOW, "utf8")) as Workflow; |
53 | 53 | const liveWorkflow = parse(readFileSync(LIVE_WORKFLOW, "utf8")) as Workflow; |
54 | | -const pnpmVersion = repositoryPnpmVersion(); |
| 54 | +const pnpmMajor = repositoryPnpmMajor(); |
55 | 55 | |
56 | | -expect(workflow.env?.PNPM_VERSION).toBe(pnpmVersion); |
57 | | -expect(liveWorkflow.env?.PNPM_VERSION).toBe(pnpmVersion); |
| 56 | +expect(workflow.env?.PNPM_VERSION?.split(".", 1)[0]).toBe(pnpmMajor); |
| 57 | +expect(liveWorkflow.env?.PNPM_VERSION?.split(".", 1)[0]).toBe(pnpmMajor); |
58 | 58 | }); |
59 | 59 | |
60 | 60 | it("uses the repo-owned Telegram user driver by default", () => { |
|