Upgrade to electron 12 and Node 14

- Compute cluster ID for tests
- Switch to temporary appData path while testing

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton committed 2021-08-23 15:55:05 -04:00
1 parent ac2ce1ba57
commit 2d75fd6717
11 files changed
+112 -97

No files matched your search

+3
View File
@@ -35,6 +35,9 @@ export const isTestEnv = !!process.env.JEST_WORKER_ID;
export const isDevelopment = !isTestEnv && !isProduction;
export const isPublishConfigured = Object.keys(packageInfo.build).includes("publish");
export const integrationTestingArg = "--integration-testing";
export const isIntegrationTesting = process.argv.includes(integrationTestingArg);
export const productName = packageInfo.productName;
export const appName = `${packageInfo.productName}${isDevelopment ? "Dev" : ""}`;
export const publicPath = "/build/" as string;
+15 -18
View File
@@ -27,8 +27,7 @@ import * as Mobx from "mobx";
import * as LensExtensionsCommonApi from "../extensions/common-api";
import * as LensExtensionsMainApi from "../extensions/main-api";
import { app, autoUpdater, dialog, powerMonitor } from "electron";
import { appName, isMac, productName } from "../common/vars";
import path from "path";
import { appName, isIntegrationTesting, isMac, productName } from "../common/vars";
import { LensProxy } from "./lens-proxy";
import { WindowManager } from "./window-manager";
import { ClusterManager } from "./cluster-manager";
@@ -64,13 +63,13 @@ import { ensureDir } from "fs-extra";
import { Router } from "./router";
import { initMenu } from "./menu";
import { initTray } from "./tray";
import * as path from "path";
import { kubeApiRequest, shellApiRequest } from "./proxy-functions";
const onCloseCleanup = disposer();
const onQuitCleanup = disposer();
SentryInit();
const workingDir = path.join(app.getPath("appData"), appName);
const cleanup = disposer();
app.setName(appName);
logger.info(`📟 Setting ${productName} as protocol client for lens://`);
@@ -81,8 +80,9 @@ if (app.setAsDefaultProtocolClient("lens")) {
logger.info("📟 Protocol client register failed ❗");
}
if (!process.env.CICD) {
app.setPath("userData", workingDir);
if (process.env.CICD) {
app.setPath("appData", process.env.CICD);
app.setPath("userData", path.join(process.env.CICD, appName));
}
if (process.env.LENS_DISABLE_GPU) {
@@ -123,7 +123,7 @@ app.on("second-instance", (event, argv) => {
});
app.on("ready", async () => {
logger.info(`🚀 Starting ${productName} from "${workingDir}"`);
logger.info(`🚀 Starting ${productName} from "${app.getPath("exe")}"`);
logger.info("🐚 Syncing shell environment");
await shellSync();
@@ -211,7 +211,7 @@ app.on("ready", async () => {
logger.info("🖥️ Starting WindowManager");
const windowManager = WindowManager.createInstance();
cleanup.push(
onQuitCleanup.push(
initMenu(windowManager),
initTray(windowManager),
);
@@ -223,7 +223,7 @@ app.on("ready", async () => {
}
ipcMainOn(IpcRendererNavigationEvents.LOADED, async () => {
cleanup.push(pushCatalogToRenderer(catalogEntityRegistry));
onCloseCleanup.push(pushCatalogToRenderer(catalogEntityRegistry));
await ensureDir(storedKubeConfigFolder());
KubeconfigSyncManager.getInstance().startSync();
startUpdateChecking();
@@ -271,11 +271,7 @@ app.on("activate", (event, hasVisibleWindows) => {
/**
* This variable should is used so that `autoUpdater.installAndQuit()` works
*/
let blockQuit = true;
if (process.argv.includes("--integration-testing")) {
blockQuit = false;
}
let blockQuit = !isIntegrationTesting;
autoUpdater.on("before-quit-for-update", () => blockQuit = false);
@@ -288,7 +284,7 @@ app.on("will-quit", (event) => {
appEventBus.emit({ name: "app", action: "close" });
ClusterManager.getInstance(false)?.stop(); // close cluster connections
KubeconfigSyncManager.getInstance(false)?.stopSync();
cleanup();
onCloseCleanup();
if (lprm) {
// This is set to false here so that LPRM can wait to send future lens://
@@ -304,7 +300,8 @@ app.on("will-quit", (event) => {
return; // skip exit to make tray work, to quit go to app's global menu or tray's menu
}
LensProtocolRouterMain.getInstance(false)?.cleanup();
lprm?.cleanup();
onQuitCleanup();
});
app.on("open-url", (event, rawUrl) => {
@@ -86,7 +86,6 @@ export class HelmCharts extends Component<Props> {
[columnId.name]: chart => chart.getName(),
[columnId.repo]: chart => chart.getRepository(),
}}
renderHeaderTitle="Helm Charts"
searchFilters={[
chart => chart.getName(),
chart => chart.getVersion(),
@@ -138,7 +138,7 @@ export class HelmReleases extends Component<Props> {
},
...headerPlaceholders,
})}
renderHeaderTitle="Helm Releases"
renderHeaderTitle="Releases"
renderTableHeader={[
{ title: "Name", className: "name", sortBy: columnId.name, id: columnId.name },
{ title: "Namespace", className: "namespace", sortBy: columnId.namespace, id: columnId.namespace },
+1 -1
View File
@@ -50,7 +50,7 @@ export function createAppStorage<T>(key: string, defaultValue: T, clusterId?: st
const fileName = `${clusterId ?? "app"}.json`;
const filePath = path.resolve(folder, fileName);
if (!storage.initialized && !process.argv.includes("--integration-tests")) {
if (!storage.initialized) {
storage.initialized = true;
// read previously saved state (if any)