History

fix(desktop): skip cached monitor compiler check (#9184)

Julius Marminge committed 2 months ago

Commit 7a8df331 parent 827345a3 files · +56 −10Browse files

Showing the changes to scripts (2 of 3 files). Show all

Unified · Split

2 files
  1. scripts/build-desktop-artifact.test.ts +42 −0
  2. scripts/build-desktop-artifact.ts +12 −10
scripts/build-desktop-artifact.test.ts+42−0
@@ -930,6 +930,48 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => { · 929 unmodified lines
930 ),930 ),
931 );931 );
932 932
933 it.effect("does not require MSVC when reusing a prebuilt Windows resource monitor", () =>
934 Effect.scoped(
935 Effect.gen(function* () {
936 const fs = yield* FileSystem.FileSystem;
937 const path = yield* Path.Path;
938 const tempDir = yield* fs.makeTempDirectoryScoped({ prefix: "t3-windows-preflight-" });
939 const pythonPath = path.join(tempDir, "python.exe");
940 yield* fs.writeFileString(pythonPath, "python");
941 const commands: string[] = [];
942 const spawner = Layer.succeed(
943 ChildProcessSpawner.ChildProcessSpawner,
944 ChildProcessSpawner.make((command) => {
945 const childProcess = command as unknown as { readonly command: string };
946 commands.push(childProcess.command);
947 return Effect.succeed(mockProcess(childProcess.command === "powershell.exe" ? 1 : 0));
948 }),
949 );
950
951 yield* preflightWindowsDesktopBuild({
952 arch: "x64",
953 bundlesWslRuntime: true,
954 }).pipe(
955 Effect.provide(
956 Layer.merge(
957 spawner,
958 ConfigProvider.layer(
959 ConfigProvider.fromEnv({
960 env: {
961 npm_config_python: pythonPath,
962 T3CODE_DESKTOP_REUSE_RESOURCE_MONITOR: "true",
963 },
964 }),
965 ),
966 ),
967 ),
968 );
969
970 assert.notInclude(commands, "powershell.exe");
971 }),
972 ),
973 );
974
933 it.effect("rejects a PATH-discovered Python executable that is not Python 3", () =>975 it.effect("rejects a PATH-discovered Python executable that is not Python 3", () =>
934 Effect.scoped(976 Effect.scoped(
935 Effect.gen(function* () {977 Effect.gen(function* () {
scripts/build-desktop-artifact.ts+12−10
@@ -1730,16 +1730,18 @@ export const preflightWindowsDesktopBuild = Effect.fn("preflightWindowsDesktopBu · 1729 unmodified lines
1730 rustTargetIsInstalled(rustTarget),1730 rustTargetIsInstalled(rustTarget),
1731 ]).pipe(Effect.map(([cargo, target]) => cargo && target)),1731 ]).pipe(Effect.map(([cargo, target]) => cargo && target)),
1732 python: Effect.succeed(python !== undefined),1732 python: Effect.succeed(python !== undefined),
1733 msvc: desktopBuildProbeSucceeds(1733 msvc: reuseResourceMonitor
1734 ChildProcess.make("powershell.exe", [1734 ? Effect.succeed(true)
1735 "-NoLogo",1735 : desktopBuildProbeSucceeds(
1736 "-NoProfile",1736 ChildProcess.make("powershell.exe", [
1737 "-NonInteractive",1737 "-NoLogo",
1738 "-Command",1738 "-NoProfile",
1739 windowsVswherePrerequisiteScript(input.arch),1739 "-NonInteractive",
1740 ]),1740 "-Command",
1741 "Visual Studio Build Tools",1741 windowsVswherePrerequisiteScript(input.arch),
1742 ),1742 ]),
1743 "Visual Studio Build Tools",
1744 ),
1743 tar: input.bundlesWslRuntime1745 tar: input.bundlesWslRuntime
1744 ? desktopBuildProbeSucceeds(ChildProcess.make("tar.exe", ["--version"]), "tar")1746 ? desktopBuildProbeSucceeds(ChildProcess.make("tar.exe", ["--version"]), "tar")
1745 : Effect.succeed(true),1747 : Effect.succeed(true),