Skip to content

Commit 453cc77

Browse files
authored
Merge pull request #1685 from github/koesie10/open-live-results-on-github
Add opening on GitHub of live results variant analyses
2 parents 76119e4 + 45764d9 commit 453cc77

File tree

14 files changed

+98
-20
lines changed

14 files changed

+98
-20
lines changed

extensions/ql-vscode/src/query-history-info.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,3 +71,15 @@ export function buildRepoLabel(item: RemoteQueryHistoryItem | VariantAnalysisHis
7171
assertNever(item);
7272
}
7373
}
74+
75+
export function getActionsWorkflowRunUrl(item: RemoteQueryHistoryItem | VariantAnalysisHistoryItem): string {
76+
if (item.t === 'remote') {
77+
const { actionsWorkflowRunId: workflowRunId, controllerRepository: { owner, name } } = item.remoteQuery;
78+
return `https://github.com/${owner}/${name}/actions/runs/${workflowRunId}`;
79+
} else if (item.t === 'variant-analysis') {
80+
const { actionsWorkflowRunId, controllerRepo: { fullName } } = item.variantAnalysis;
81+
return `https://github.com/${fullName}/actions/runs/${actionsWorkflowRunId}`;
82+
} else {
83+
assertNever(item);
84+
}
85+
}

extensions/ql-vscode/src/query-history.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import { commandRunner } from './commandRunner';
3131
import { ONE_HOUR_IN_MS, TWO_HOURS_IN_MS } from './pure/time';
3232
import { assertNever, getErrorMessage, getErrorStack } from './pure/helpers-pure';
3333
import { CompletedLocalQueryInfo, LocalQueryInfo } from './query-results';
34-
import { getQueryId, getQueryText, QueryHistoryInfo } from './query-history-info';
34+
import { getActionsWorkflowRunUrl, getQueryId, getQueryText, QueryHistoryInfo } from './query-history-info';
3535
import { DatabaseManager } from './databases';
3636
import { registerQueryHistoryScrubber } from './query-history-scrubber';
3737
import { QueryStatus, variantAnalysisStatusToQueryStatus } from './query-status';
@@ -1213,17 +1213,17 @@ export class QueryHistoryManager extends DisposableObject {
12131213
) {
12141214
const { finalSingleItem, finalMultiSelect } = this.determineSelection(singleItem, multiSelect);
12151215

1216-
// Remote queries only
1217-
if (!this.assertSingleQuery(finalMultiSelect) || !finalSingleItem || finalSingleItem.t !== 'remote') {
1216+
if (!this.assertSingleQuery(finalMultiSelect) || !finalSingleItem) {
1217+
return;
1218+
}
1219+
1220+
if (finalSingleItem.t === 'local') {
12181221
return;
12191222
}
12201223

1221-
const { actionsWorkflowRunId: workflowRunId, controllerRepository: { owner, name } } = finalSingleItem.remoteQuery;
1224+
const actionsWorkflowRunUrl = getActionsWorkflowRunUrl(finalSingleItem);
12221225

1223-
await commands.executeCommand(
1224-
'vscode.open',
1225-
Uri.parse(`https://github.com/${owner}/${name}/actions/runs/${workflowRunId}`)
1226-
);
1226+
await commands.executeCommand('vscode.open', Uri.parse(actionsWorkflowRunUrl));
12271227
}
12281228

12291229
async handleCopyRepoList(

extensions/ql-vscode/src/remote-queries/shared/variant-analysis.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { AnalysisAlert, AnalysisRawResults } from './analysis-result';
33

44
export interface VariantAnalysis {
55
id: number,
6-
controllerRepoId: number,
6+
controllerRepo: Repository;
77
query: {
88
name: string,
99
filePath: string,

extensions/ql-vscode/src/remote-queries/variant-analysis-monitor.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export class VariantAnalysisMonitor extends DisposableObject {
5151

5252
variantAnalysisSummary = await ghApiClient.getVariantAnalysis(
5353
credentials,
54-
variantAnalysis.controllerRepoId,
54+
variantAnalysis.controllerRepo.id,
5555
variantAnalysis.id
5656
);
5757

extensions/ql-vscode/src/remote-queries/variant-analysis-processor.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,11 @@ export function processUpdatedVariantAnalysis(
5252

5353
const variantAnalysis: VariantAnalysis = {
5454
id: response.id,
55-
controllerRepoId: response.controller_repo.id,
55+
controllerRepo: {
56+
id: response.controller_repo.id,
57+
fullName: response.controller_repo.full_name,
58+
private: response.controller_repo.private,
59+
},
5660
query: previousVariantAnalysis.query,
5761
databases: previousVariantAnalysis.databases,
5862
executionStartTime: previousVariantAnalysis.executionStartTime,

extensions/ql-vscode/src/stories/variant-analysis/VariantAnalysis.stories.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,11 @@ const Template: ComponentStory<typeof VariantAnalysisComponent> = (args) => (
2424

2525
const variantAnalysis: VariantAnalysisDomainModel = {
2626
id: 1,
27-
controllerRepoId: 1,
27+
controllerRepo: {
28+
id: 1,
29+
fullName: 'octodemo/variant-analysis-controller',
30+
private: false,
31+
},
2832
actionsWorkflowRunId: 789263,
2933
query: {
3034
name: 'Example query',

extensions/ql-vscode/src/stories/variant-analysis/VariantAnalysisAnalyzedRepos.stories.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ export const Example = Template.bind({});
3737
Example.args = {
3838
variantAnalysis: {
3939
id: 1,
40-
controllerRepoId: 1,
40+
controllerRepo: {
41+
id: 1,
42+
fullName: 'octodemo/variant-analysis-controller',
43+
private: false,
44+
},
4145
query: {
4246
name: 'Query name',
4347
filePath: 'example.ql',

extensions/ql-vscode/src/stories/variant-analysis/VariantAnalysisHeader.stories.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,11 @@ const Template: ComponentStory<typeof VariantAnalysisHeader> = (args) => (
6868

6969
const buildVariantAnalysis = (data: Partial<VariantAnalysis>) => ({
7070
id: 1,
71-
controllerRepoId: 1,
71+
controllerRepo: {
72+
id: 1,
73+
fullName: 'octodemo/variant-analysis-controller',
74+
private: false,
75+
},
7276
query: {
7377
name: 'Query name',
7478
filePath: 'example.ql',

extensions/ql-vscode/src/stories/variant-analysis/VariantAnalysisOutcomePanels.stories.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ const Template: ComponentStory<typeof VariantAnalysisOutcomePanels> = (args) =>
3030

3131
const buildVariantAnalysis = (data: Partial<VariantAnalysis>) => ({
3232
id: 1,
33-
controllerRepoId: 1,
33+
controllerRepo: {
34+
id: 1,
35+
fullName: 'octodemo/variant-analysis-controller',
36+
private: false,
37+
},
3438
query: {
3539
name: 'Query name',
3640
filePath: 'example.ql',

extensions/ql-vscode/src/view/variant-analysis/__tests__/VariantAnalysisAnalyzedRepos.spec.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@ import { VariantAnalysisAnalyzedRepos, VariantAnalysisAnalyzedReposProps } from
1111
describe(VariantAnalysisAnalyzedRepos.name, () => {
1212
const defaultVariantAnalysis = {
1313
id: 1,
14-
controllerRepoId: 1,
14+
controllerRepo: {
15+
id: 1,
16+
fullName: 'octodemo/variant-analysis-controller',
17+
private: false,
18+
},
1519
actionsWorkflowRunId: 789263,
1620
query: {
1721
name: 'Example query',

0 commit comments

Comments
 (0)