Skip to content

Commit

Permalink
Call setup() and settle()
Browse files Browse the repository at this point in the history
  • Loading branch information
yykamei committed Mar 30, 2024
1 parent 9467c7d commit 1f8b43f
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 40 deletions.
35 changes: 21 additions & 14 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -82919,21 +82919,28 @@ xychart-beta
const main = async () => {
const now = new Date();
const input = new Input();
const apiClient = new GitHubAPIClient(input.token, new GitHubActionsCacheStore());
const repository = new GitHubRepository(input.owner, input.repo, apiClient);
const workflows = await repository.getWorkflows(input.only);
const charts = await Promise.all(workflows.map(async (w) => {
const runs = await repository.getWorkflowRuns(w, {
status: input.status,
});
const usages = await Promise.all(runs.map((r) => repository.getWorkflowRunUsage(r)));
return new MermaidXYChart(w, runs, usages, input);
}));
const issueContent = new GitHubIssueContent(charts, `GitHub Workflow Metrics on ${now.toDateString()}`, [], [input.label]);
for (const issue of await repository.getIssues([input.label])) {
await repository.closeIssue(issue);
const cacheStore = new GitHubActionsCacheStore();
await cacheStore.setup();
try {
const apiClient = new GitHubAPIClient(input.token, cacheStore);
const repository = new GitHubRepository(input.owner, input.repo, apiClient);
const workflows = await repository.getWorkflows(input.only);
const charts = await Promise.all(workflows.map(async (w) => {
const runs = await repository.getWorkflowRuns(w, {
status: input.status,
});
const usages = await Promise.all(runs.map((r) => repository.getWorkflowRunUsage(r)));
return new MermaidXYChart(w, runs, usages, input);
}));
const issueContent = new GitHubIssueContent(charts, `GitHub Workflow Metrics on ${now.toDateString()}`, [], [input.label]);
for (const issue of await repository.getIssues([input.label])) {
await repository.closeIssue(issue);
}
await repository.createIssue(issueContent);
}
finally {
await cacheStore.settle();
}
await repository.createIssue(issueContent);
};
/* harmony default export */ const src_main = (main);

Expand Down
56 changes: 30 additions & 26 deletions src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,33 +8,37 @@ import { MermaidXYChart } from "./MermaidXYChart";
const main = async () => {
const now = new Date();
const input = new Input();
const apiClient = new GitHubAPIClient(
input.token,
new GitHubActionsCacheStore(),
);
const repository = new GitHubRepository(input.owner, input.repo, apiClient);
const workflows = await repository.getWorkflows(input.only);
const charts = await Promise.all(
workflows.map(async (w) => {
const runs = await repository.getWorkflowRuns(w, {
status: input.status,
});
const usages = await Promise.all(
runs.map((r) => repository.getWorkflowRunUsage(r)),
);
return new MermaidXYChart(w, runs, usages, input);
}),
);
const issueContent = new GitHubIssueContent(
charts,
`GitHub Workflow Metrics on ${now.toDateString()}`,
[],
[input.label],
);
for (const issue of await repository.getIssues([input.label])) {
await repository.closeIssue(issue);
const cacheStore = new GitHubActionsCacheStore();
await cacheStore.setup();

try {
const apiClient = new GitHubAPIClient(input.token, cacheStore);
const repository = new GitHubRepository(input.owner, input.repo, apiClient);
const workflows = await repository.getWorkflows(input.only);
const charts = await Promise.all(
workflows.map(async (w) => {
const runs = await repository.getWorkflowRuns(w, {
status: input.status,
});
const usages = await Promise.all(
runs.map((r) => repository.getWorkflowRunUsage(r)),
);
return new MermaidXYChart(w, runs, usages, input);
}),
);
const issueContent = new GitHubIssueContent(
charts,
`GitHub Workflow Metrics on ${now.toDateString()}`,
[],
[input.label],
);
for (const issue of await repository.getIssues([input.label])) {
await repository.closeIssue(issue);
}
await repository.createIssue(issueContent);
} finally {
await cacheStore.settle();
}
await repository.createIssue(issueContent);
};

export default main;

0 comments on commit 1f8b43f

Please sign in to comment.