Skip to content

Commit 066bf3f

Browse files
committed
Trigger monitoring processs
Once we submit a variant analysis and get our response from the API, we'd like to set up a way to monitor the variant analysis as it starts producing live results. Here we're using a VSCode command to trigger a monitoring process which will poll the API for changes.
1 parent 7ab1f3a commit 066bf3f

1 file changed

Lines changed: 7 additions & 19 deletions

File tree

extensions/ql-vscode/src/remote-queries/run-remote-query.ts

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { CancellationToken, Uri, window } from 'vscode';
1+
import { CancellationToken, commands, Uri, window } from 'vscode';
22
import * as path from 'path';
33
import * as yaml from 'js-yaml';
44
import * as fs from 'fs-extra';
@@ -26,8 +26,9 @@ import { QueryMetadata } from '../pure/interface-types';
2626
import { getErrorMessage, REPO_REGEX } from '../pure/helpers-pure';
2727
import * as ghApiClient from './gh-api/gh-api-client';
2828
import { getRepositorySelection, isValidSelection, RepositorySelection } from './repository-selection';
29-
import { parseVariantAnalysisQueryLanguage, VariantAnalysis, VariantAnalysisStatus, VariantAnalysisSubmission } from './shared/variant-analysis';
29+
import { parseVariantAnalysisQueryLanguage, VariantAnalysisSubmission } from './shared/variant-analysis';
3030
import { Repository } from './shared/repository';
31+
import { processVariantAnalysis } from './variant-analysis-processor';
3132

3233
export interface QlPack {
3334
name: string;
@@ -270,28 +271,15 @@ export async function runRemoteQuery(
270271
variantAnalysisSubmission
271272
);
272273

273-
const variantAnalysis: VariantAnalysis = {
274-
id: variantAnalysisResponse.id,
275-
controllerRepoId: variantAnalysisResponse.controller_repo.id,
276-
query: {
277-
name: variantAnalysisSubmission.query.name,
278-
filePath: variantAnalysisSubmission.query.filePath,
279-
language: variantAnalysisSubmission.query.language,
280-
},
281-
databases: {
282-
repositories: variantAnalysisSubmission.databases.repositories,
283-
repositoryLists: variantAnalysisSubmission.databases.repositoryLists,
284-
repositoryOwners: variantAnalysisSubmission.databases.repositoryOwners,
285-
},
286-
status: VariantAnalysisStatus.InProgress,
287-
};
274+
const processedVariantAnalysis = processVariantAnalysis(variantAnalysisSubmission, variantAnalysisResponse);
288275

289276
// TODO: Remove once we have a proper notification
290277
void showAndLogInformationMessage('Variant analysis submitted for processing');
291-
void logger.log(`Variant analysis:\n${JSON.stringify(variantAnalysis, null, 2)}`);
278+
void logger.log(`Variant analysis:\n${JSON.stringify(processedVariantAnalysis, null, 2)}`);
292279

293-
return { variantAnalysis };
280+
void commands.executeCommand('codeQL.monitorVariantAnalysis', processedVariantAnalysis);
294281

282+
return { variantAnalysis: processedVariantAnalysis };
295283
} else {
296284
const apiResponse = await runRemoteQueriesApiRequest(credentials, actionBranch, language, repoSelection, controllerRepo, base64Pack, dryRun);
297285

0 commit comments

Comments
 (0)