Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f495ea391f | ||
|
|
d19798dfea | ||
|
|
0812a9be37 | ||
|
|
66649022ca |
@@ -22,7 +22,9 @@ export function issueLabel(config: Config, queue: TaskQueue) {
|
|||||||
return async (c: Context) => {
|
return async (c: Context) => {
|
||||||
const event = await c.req.json<IssueEvent>();
|
const event = await c.req.json<IssueEvent>();
|
||||||
|
|
||||||
if (event.action !== "label_updated" && event.action !== "labeled") {
|
console.log(`[issue-label] action="${event.action}" issue=#${event.issue.number} labels=[${event.issue.labels.map((l) => l.name).join(", ")}]`);
|
||||||
|
|
||||||
|
if (!["labeled", "label_updated", "created"].includes(event.action)) {
|
||||||
return c.text("ignored: not a label event", 200);
|
return c.text("ignored: not a label event", 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,10 @@ export function prRework(config: Config, queue: TaskQueue) {
|
|||||||
return c.text("ignored: not a reviewed event", 200);
|
return c.text("ignored: not a reviewed event", 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!event.review) {
|
||||||
|
return c.text("ignored: no review data", 200);
|
||||||
|
}
|
||||||
|
|
||||||
const [org, repo] = event.repository.full_name.split("/");
|
const [org, repo] = event.repository.full_name.split("/");
|
||||||
const prNumber = event.pull_request.number;
|
const prNumber = event.pull_request.number;
|
||||||
const reviewState = event.review.state.toLowerCase();
|
const reviewState = event.review.state.toLowerCase();
|
||||||
|
|||||||
+3
-3
@@ -158,7 +158,7 @@ export class TaskQueue {
|
|||||||
"create-workspace",
|
"create-workspace",
|
||||||
{ task, comment },
|
{ task, comment },
|
||||||
{
|
{
|
||||||
jobId: `create:${key}`,
|
jobId: `create-${key}`,
|
||||||
attempts: 3,
|
attempts: 3,
|
||||||
backoff: { type: "exponential", delay: 5000 },
|
backoff: { type: "exponential", delay: 5000 },
|
||||||
},
|
},
|
||||||
@@ -198,7 +198,7 @@ export class TaskQueue {
|
|||||||
"cleanup-workspace",
|
"cleanup-workspace",
|
||||||
{ workspaceId: entry.workspaceId, workspaceName: entry.workspaceName },
|
{ workspaceId: entry.workspaceId, workspaceName: entry.workspaceName },
|
||||||
{
|
{
|
||||||
jobId: `cleanup:${workspaceName}`,
|
jobId: `cleanup-${workspaceName}`,
|
||||||
attempts: 5,
|
attempts: 5,
|
||||||
backoff: { type: "exponential", delay: 10000 },
|
backoff: { type: "exponential", delay: 10000 },
|
||||||
},
|
},
|
||||||
@@ -308,7 +308,7 @@ export class TaskQueue {
|
|||||||
"cleanup-workspace",
|
"cleanup-workspace",
|
||||||
{ workspaceId: ws.id, workspaceName: ws.name },
|
{ workspaceId: ws.id, workspaceName: ws.name },
|
||||||
{
|
{
|
||||||
jobId: `cleanup:stale-${ws.name}-${Date.now()}`,
|
jobId: `cleanup-stale-${ws.name}-${Date.now()}`,
|
||||||
attempts: 5,
|
attempts: 5,
|
||||||
backoff: { type: "exponential", delay: 10000 },
|
backoff: { type: "exponential", delay: 10000 },
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -109,12 +109,14 @@ export class CoderClient {
|
|||||||
|
|
||||||
async deleteWorkspace(workspaceId: string): Promise<void> {
|
async deleteWorkspace(workspaceId: string): Promise<void> {
|
||||||
const res = await fetch(
|
const res = await fetch(
|
||||||
`${this.baseUrl}/api/v2/workspaces/${workspaceId}`,
|
`${this.baseUrl}/api/v2/workspaces/${workspaceId}/builds`,
|
||||||
{
|
{
|
||||||
method: "DELETE",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
"Coder-Session-Token": this.token,
|
"Coder-Session-Token": this.token,
|
||||||
},
|
},
|
||||||
|
body: JSON.stringify({ transition: "delete" }),
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user