From ad3565d3ad56b334a79220f2c04e3a095363e9c5 Mon Sep 17 00:00:00 2001 From: Charis Kyriakou Date: Mon, 4 Apr 2022 11:03:05 +0100 Subject: [PATCH] Use the repos defined in the query result instead of the query (#1268) --- .../src/remote-queries/remote-queries-interface.ts | 3 ++- .../src/remote-queries/remote-queries-manager.ts | 3 ++- extensions/ql-vscode/src/remote-queries/remote-query.ts | 1 - .../ql-vscode/src/remote-queries/run-remote-query.ts | 8 -------- 4 files changed, 4 insertions(+), 11 deletions(-) diff --git a/extensions/ql-vscode/src/remote-queries/remote-queries-interface.ts b/extensions/ql-vscode/src/remote-queries/remote-queries-interface.ts index da53e6282..194463184 100644 --- a/extensions/ql-vscode/src/remote-queries/remote-queries-interface.ts +++ b/extensions/ql-vscode/src/remote-queries/remote-queries-interface.ts @@ -71,6 +71,7 @@ export class RemoteQueriesInterfaceManager { const totalResultCount = queryResult.analysisSummaries.reduce((acc, cur) => acc + cur.resultCount, 0); const executionDuration = this.getDuration(queryResult.executionEndTime, query.executionStartTime); const analysisSummaries = this.buildAnalysisSummaries(queryResult.analysisSummaries); + const totalRepositoryCount = queryResult.analysisSummaries.length; const affectedRepositories = queryResult.analysisSummaries.filter(r => r.resultCount > 0); return { @@ -80,7 +81,7 @@ export class RemoteQueriesInterfaceManager { queryText: query.queryText, language: query.language, workflowRunUrl: `https://github.com/${query.controllerRepository.owner}/${query.controllerRepository.name}/actions/runs/${query.actionsWorkflowRunId}`, - totalRepositoryCount: query.repositories.length, + totalRepositoryCount: totalRepositoryCount, affectedRepositoryCount: affectedRepositories.length, totalResultCount: totalResultCount, executionTimestamp: this.formatDate(query.executionStartTime), diff --git a/extensions/ql-vscode/src/remote-queries/remote-queries-manager.ts b/extensions/ql-vscode/src/remote-queries/remote-queries-manager.ts index 6fd973f4e..6318179de 100644 --- a/extensions/ql-vscode/src/remote-queries/remote-queries-manager.ts +++ b/extensions/ql-vscode/src/remote-queries/remote-queries-manager.ts @@ -226,7 +226,8 @@ export class RemoteQueriesManager extends DisposableObject { private async askToOpenResults(query: RemoteQuery, queryResult: RemoteQueryResult): Promise { const totalResultCount = queryResult.analysisSummaries.reduce((acc, cur) => acc + cur.resultCount, 0); - const message = `Query "${query.queryName}" run on ${query.repositories.length} repositories and returned ${totalResultCount} results`; + const totalRepoCount = queryResult.analysisSummaries.length; + const message = `Query "${query.queryName}" run on ${totalRepoCount} repositories and returned ${totalResultCount} results`; const shouldOpenView = await showInformationMessageWithAction(message, 'View'); if (shouldOpenView) { diff --git a/extensions/ql-vscode/src/remote-queries/remote-query.ts b/extensions/ql-vscode/src/remote-queries/remote-query.ts index 1310656b1..2ef898b06 100644 --- a/extensions/ql-vscode/src/remote-queries/remote-query.ts +++ b/extensions/ql-vscode/src/remote-queries/remote-query.ts @@ -6,7 +6,6 @@ export interface RemoteQuery { queryText: string; language: string; controllerRepository: Repository; - repositories: Repository[]; executionStartTime: number; // Use number here since it needs to be serialized and desserialized. actionsWorkflowRunId: number; } diff --git a/extensions/ql-vscode/src/remote-queries/run-remote-query.ts b/extensions/ql-vscode/src/remote-queries/run-remote-query.ts index ddf6d0eff..7a63bb600 100644 --- a/extensions/ql-vscode/src/remote-queries/run-remote-query.ts +++ b/extensions/ql-vscode/src/remote-queries/run-remote-query.ts @@ -308,7 +308,6 @@ export async function runRemoteQuery( } const remoteQuery = await buildRemoteQueryEntity( - repositories, queryFile, queryMetadata, owner, @@ -395,7 +394,6 @@ async function ensureNameAndSuite(queryPackDir: string, packRelativePath: string } async function buildRemoteQueryEntity( - repositories: string[], queryFilePath: string, queryMetadata: QueryMetadata | undefined, controllerRepoOwner: string, @@ -407,11 +405,6 @@ async function buildRemoteQueryEntity( // The query name is either the name as specified in the query metadata, or the file name. const queryName = queryMetadata?.name ?? path.basename(queryFilePath); - const queryRepos = repositories.map(r => { - const [owner, repo] = r.split('/'); - return { owner: owner, name: repo }; - }); - const queryText = await fs.readFile(queryFilePath, 'utf8'); return { @@ -423,7 +416,6 @@ async function buildRemoteQueryEntity( owner: controllerRepoOwner, name: controllerRepoName, }, - repositories: queryRepos, executionStartTime: queryStartTime, actionsWorkflowRunId: workflowRunId };