Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2cdf68ddff | ||
|
|
81aee2f7fc | ||
|
|
f495ea391f | ||
|
|
d19798dfea | ||
|
|
0812a9be37 |
@@ -128,6 +128,10 @@ data "coder_parameter" "task_type" {
|
||||
name = "Rework PR"
|
||||
value = "rework-pr"
|
||||
}
|
||||
option {
|
||||
name = "Rework Spec"
|
||||
value = "rework-spec"
|
||||
}
|
||||
option {
|
||||
name = "Release"
|
||||
value = "release"
|
||||
@@ -470,7 +474,7 @@ resource "coder_agent" "main" {
|
||||
git fetch origin develop 2>/dev/null && git checkout develop 2>/dev/null || true
|
||||
|
||||
# Lightweight stages only need the code, not a full build
|
||||
LIGHT_STAGES="analyse architect release maintenance"
|
||||
LIGHT_STAGES="analyse architect rework-spec release maintenance"
|
||||
if echo "$LIGHT_STAGES" | grep -qw "$TASK_TYPE"; then
|
||||
echo "Lightweight stage ($TASK_TYPE) — skipping build"
|
||||
else
|
||||
|
||||
@@ -22,7 +22,9 @@ export function issueLabel(config: Config, queue: TaskQueue) {
|
||||
return async (c: Context) => {
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -16,15 +16,22 @@ export function prRework(config: Config, queue: TaskQueue) {
|
||||
return c.text("ignored: not a reviewed event", 200);
|
||||
}
|
||||
|
||||
if (!event.review?.state) {
|
||||
console.log(`[pr-rework] ignored: no review state (review: ${JSON.stringify(event.review)})`);
|
||||
return c.text("ignored: no review data", 200);
|
||||
}
|
||||
|
||||
const [org, repo] = event.repository.full_name.split("/");
|
||||
const prNumber = event.pull_request.number;
|
||||
const reviewState = event.review.state.toLowerCase();
|
||||
|
||||
let taskType: string | null = null;
|
||||
let giteaToken: string;
|
||||
const branch = event.pull_request.head.ref;
|
||||
const isArchitectPR = branch.startsWith("docs/");
|
||||
|
||||
if (reviewState === "request_changes") {
|
||||
taskType = "rework-pr";
|
||||
taskType = isArchitectPR ? "rework-spec" : "rework-pr";
|
||||
giteaToken = config.giteaDevToken;
|
||||
} else if (reviewState === "approved") {
|
||||
taskType = "test";
|
||||
|
||||
@@ -109,12 +109,14 @@ export class CoderClient {
|
||||
|
||||
async deleteWorkspace(workspaceId: string): Promise<void> {
|
||||
const res = await fetch(
|
||||
`${this.baseUrl}/api/v2/workspaces/${workspaceId}`,
|
||||
`${this.baseUrl}/api/v2/workspaces/${workspaceId}/builds`,
|
||||
{
|
||||
method: "DELETE",
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
"Coder-Session-Token": this.token,
|
||||
},
|
||||
body: JSON.stringify({ transition: "delete" }),
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user