diff options
author | Nate Sesti <33237525+sestinj@users.noreply.github.com> | 2023-08-11 13:47:11 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-11 13:47:11 -0700 |
commit | 49e323bd9312e49e7149c8851d55241b4e24ef18 (patch) | |
tree | 41b89dba1c67e479236bdaa86d6606f99381c822 /extension | |
parent | 48ee1334dfd21dbe55cf66f39da1249619103e81 (diff) | |
parent | 34f77a7344bc527e0c08dea5820a01748f2f8481 (diff) | |
download | sncontinue-49e323bd9312e49e7149c8851d55241b4e24ef18.tar.gz sncontinue-49e323bd9312e49e7149c8851d55241b4e24ef18.tar.bz2 sncontinue-49e323bd9312e49e7149c8851d55241b4e24ef18.zip |
Merge pull request #369 from continuedev/ci-testing
Ci testing
Diffstat (limited to 'extension')
-rw-r--r-- | extension/.vscodeignore | 4 | ||||
-rw-r--r-- | extension/package-lock.json | 4 | ||||
-rw-r--r-- | extension/package.json | 4 | ||||
-rw-r--r-- | extension/react-app/package.json | 1 | ||||
-rw-r--r-- | extension/react-app/src/components/ComboBox.tsx | 3 | ||||
-rw-r--r-- | extension/react-app/src/redux/slices/serverStateReducer.ts | 6 | ||||
-rw-r--r-- | extension/scripts/package.js | 42 | ||||
-rw-r--r-- | extension/src/activation/environmentSetup.ts | 2 | ||||
-rw-r--r-- | extension/src/continueIdeClient.ts | 13 | ||||
-rw-r--r-- | extension/src/test-runner/runTestOnVSCodeHost.ts | 5 | ||||
-rw-r--r-- | extension/src/test-suite/environmentSetup.test.ts | 17 |
11 files changed, 79 insertions, 22 deletions
diff --git a/extension/.vscodeignore b/extension/.vscodeignore index d3326fdc..51d66585 100644 --- a/extension/.vscodeignore +++ b/extension/.vscodeignore @@ -24,4 +24,6 @@ react-app/src scripts/data scripts/env -scripts/.continue_env_installed
\ No newline at end of file +scripts/.continue_env_installed + +server/exe/**
\ No newline at end of file diff --git a/extension/package-lock.json b/extension/package-lock.json index c8b8d183..19d91123 100644 --- a/extension/package-lock.json +++ b/extension/package-lock.json @@ -1,12 +1,12 @@ { "name": "continue", - "version": "0.0.297", + "version": "0.0.299", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "continue", - "version": "0.0.297", + "version": "0.0.299", "license": "Apache-2.0", "dependencies": { "@electron/rebuild": "^3.2.10", diff --git a/extension/package.json b/extension/package.json index 7480e33a..c5fc5b67 100644 --- a/extension/package.json +++ b/extension/package.json @@ -1,6 +1,7 @@ { "name": "continue", "icon": "media/terminal-continue.png", + "version": "0.0.299", "repository": { "type": "git", "url": "https://github.com/continuedev/continue" @@ -14,7 +15,6 @@ "displayName": "Continue", "pricing": "Free", "description": "The open-source coding autopilot", - "version": "0.0.297", "publisher": "Continue", "engines": { "vscode": "^1.67.0" @@ -194,7 +194,7 @@ "lint": "eslint src --ext ts", "build-test": "tsc && node esbuild.test.mjs", "test": "npm run build-test && node ./out/test-runner/runTestOnVSCodeHost.js", - "package": "npm install && npm run typegen && cd react-app && npm install && npm run build && cd .. && mkdir -p ./build && vsce package --out ./build" + "package": "node scripts/package.js" }, "devDependencies": { "@nestjs/common": "^8.4.7", diff --git a/extension/react-app/package.json b/extension/react-app/package.json index 38beb742..23cdf9bb 100644 --- a/extension/react-app/package.json +++ b/extension/react-app/package.json @@ -1,7 +1,6 @@ { "name": "react-app", "private": true, - "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", diff --git a/extension/react-app/src/components/ComboBox.tsx b/extension/react-app/src/components/ComboBox.tsx index c75f9ee6..4e564000 100644 --- a/extension/react-app/src/components/ComboBox.tsx +++ b/extension/react-app/src/components/ComboBox.tsx @@ -487,7 +487,8 @@ const ComboBox = React.forwardRef((props: ComboBoxProps, ref) => { selected={downshiftProps.selectedItem === item} > <span> - {item.name}:{" "} + {item.name} + {" "} <span style={{ color: lightGray }}>{item.description}</span> </span> </Li> diff --git a/extension/react-app/src/redux/slices/serverStateReducer.ts b/extension/react-app/src/redux/slices/serverStateReducer.ts index bd60f1c7..a20476b2 100644 --- a/extension/react-app/src/redux/slices/serverStateReducer.ts +++ b/extension/react-app/src/redux/slices/serverStateReducer.ts @@ -9,9 +9,9 @@ const initialState: FullState = { name: "Welcome to Continue", hide: false, description: `- Highlight code section and ask a question or give instructions - - Use \`cmd+m\` (Mac) / \`ctrl+m\` (Windows) to open Continue - - Use \`/help\` to ask questions about how to use Continue - - [Customize Continue](https://continue.dev/docs/customization) (e.g. use your own API key) by typing '/config'.`, +- Use \`cmd+m\` (Mac) / \`ctrl+m\` (Windows) to open Continue +- Use \`/help\` to ask questions about how to use Continue +- [Customize Continue](https://continue.dev/docs/customization) (e.g. use your own API key) by typing '/config'.`, system_message: null, chat_context: [], manage_own_chat_context: false, diff --git a/extension/scripts/package.js b/extension/scripts/package.js new file mode 100644 index 00000000..59da9181 --- /dev/null +++ b/extension/scripts/package.js @@ -0,0 +1,42 @@ +const { exec } = require("child_process"); +const fs = require("fs"); +const path = require("path"); + +exec("npm install", (error) => { + if (error) throw error; + console.log("npm install completed"); + + exec("npm run typegen", (error) => { + if (error) throw error; + console.log("npm run typegen completed"); + + process.chdir("react-app"); + + exec("npm install", (error) => { + if (error) throw error; + console.log("npm install in react-app completed"); + + exec("npm run build", (error) => { + if (error) throw error; + if (!fs.existsSync(path.join("dist", "assets", "index.js"))) { + throw new Error("react-app build did not produce index.js"); + } + if (!fs.existsSync(path.join("dist", "assets", "index.css"))) { + throw new Error("react-app build did not produce index.css"); + } + console.log("npm run build in react-app completed"); + + process.chdir(".."); + + if (!fs.existsSync("build")) { + fs.mkdirSync("build"); + } + + exec("vsce package --out ./build patch", (error) => { + if (error) throw error; + console.log("vsce package completed"); + }); + }); + }); + }); +}); diff --git a/extension/src/activation/environmentSetup.ts b/extension/src/activation/environmentSetup.ts index f0e41ca9..748a5984 100644 --- a/extension/src/activation/environmentSetup.ts +++ b/extension/src/activation/environmentSetup.ts @@ -240,7 +240,7 @@ export async function startContinuePythonServer() { windowsHide: true, }); child.stdout.on("data", (data: any) => { - console.log(`stdout: ${data}`); + // console.log(`stdout: ${data}`); }); child.stderr.on("data", (data: any) => { console.log(`stderr: ${data}`); diff --git a/extension/src/continueIdeClient.ts b/extension/src/continueIdeClient.ts index d89093ca..5b9e285d 100644 --- a/extension/src/continueIdeClient.ts +++ b/extension/src/continueIdeClient.ts @@ -12,7 +12,7 @@ import { rejectSuggestionCommand, } from "./suggestions"; import { FileEditWithFullContents } from "../schema/FileEditWithFullContents"; -import * as fs from 'fs'; +import * as fs from "fs"; import { WebsocketMessenger } from "./util/messenger"; import { diffManager } from "./diffs"; const os = require("os"); @@ -30,13 +30,12 @@ class IdeProtocolClient { private _lastReloadTime: number = 16; private _reconnectionTimeouts: NodeJS.Timeout[] = []; - private _sessionId: string | null = null; + sessionId: string | null = null; private _serverUrl: string; private _newWebsocketMessenger() { const requestUrl = - this._serverUrl + - (this._sessionId ? `?session_id=${this._sessionId}` : ""); + this._serverUrl + (this.sessionId ? `?session_id=${this.sessionId}` : ""); const messenger = new WebsocketMessenger(requestUrl); this.messenger = messenger; @@ -383,7 +382,9 @@ class IdeProtocolClient { async getUserSecret(key: string) { // Check if secret already exists in VS Code settings (global) let secret = vscode.workspace.getConfiguration("continue").get(key); - if (typeof secret !== "undefined" && secret !== null) {return secret;} + if (typeof secret !== "undefined" && secret !== null) { + return secret; + } // If not, ask user for secret secret = await vscode.window.showInputBox({ @@ -420,7 +421,7 @@ class IdeProtocolClient { console.log("Getting session ID"); const resp = await this.messenger?.sendAndReceive("getSessionId", {}); console.log("New Continue session with ID: ", resp.sessionId); - this._sessionId = resp.sessionId; + this.sessionId = resp.sessionId; return resp.sessionId; } diff --git a/extension/src/test-runner/runTestOnVSCodeHost.ts b/extension/src/test-runner/runTestOnVSCodeHost.ts index 2a542ffc..21267c2d 100644 --- a/extension/src/test-runner/runTestOnVSCodeHost.ts +++ b/extension/src/test-runner/runTestOnVSCodeHost.ts @@ -11,7 +11,10 @@ async function main() { // The path to test runner // Passed to --extensionTestsPath - const extensionTestsPath = path.resolve(extensionDevelopmentPath, "out/test-runner/mochaRunner"); + const extensionTestsPath = path.resolve( + extensionDevelopmentPath, + "out/test-runner/mochaRunner" + ); // Download VS Code, unzip it and run the integration test await runTests({ extensionDevelopmentPath, extensionTestsPath }); diff --git a/extension/src/test-suite/environmentSetup.test.ts b/extension/src/test-suite/environmentSetup.test.ts index 9a478522..d0406340 100644 --- a/extension/src/test-suite/environmentSetup.test.ts +++ b/extension/src/test-suite/environmentSetup.test.ts @@ -2,18 +2,27 @@ import { test, describe } from "mocha"; import * as assert from "assert"; import { getContinueServerUrl } from "../bridge"; -import { startContinuePythonServer } from "../activation/environmentSetup"; +import { ideProtocolClient } from "../activation/activate"; import fetch from "node-fetch"; +import fkill from "fkill"; describe("Can start python server", () => { test("Can start python server in under 10 seconds", async function () { - this.timeout(17_000); - await startContinuePythonServer(); + const allowedTime = 25_000; + this.timeout(allowedTime + 10_000); + try { + fkill(65432, { force: true, silent: true }); + console.log("Killed existing server"); + } catch (e) { + console.log("No existing server: ", e); + } - await new Promise((resolve) => setTimeout(resolve, 15_000)); + // If successful, the server is started by the extension while we wait + await new Promise((resolve) => setTimeout(resolve, allowedTime)); // Check if server is running const serverUrl = getContinueServerUrl(); + console.log("Server URL: ", serverUrl); const response = await fetch(`${serverUrl}/health`); assert.equal(response.status, 200); }); |