@tablation/crew 0.47.0 → 0.47.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.js +16 -4
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -3482,7 +3482,7 @@ function describeRelease(o, route) {
3482
3482
  level: "fail",
3483
3483
  headline: `${route}: deploy FAILED`,
3484
3484
  detail: withHookTail(
3485
- "the version is merged to the base branch but not live \u2014 run `crew deploy` to retry; do not re-release",
3485
+ "the version is merged to the base branch but not live \u2014 if the deploy target was the problem, run `crew deploy` to retry (do not re-release); if the merged code itself failed to build, fix forward on a ticket branch, and merging it clears the not-retrying guard",
3486
3486
  o.hookFailure
3487
3487
  )
3488
3488
  };
@@ -10049,7 +10049,7 @@ ${n.detail ?? n.headline}
10049
10049
 
10050
10050
  Filed automatically \u2014 no \`notify\` hook is configured for route \`${route}\`, so this is the crew's built-in fallback rather than a silent log line. Configure \`hooks.notify\` on this route to replace it.`;
10051
10051
  }
10052
- async function applyFailureAlert(writer, n, route, openTickets, memberId, log, dryRun) {
10052
+ async function applyFailureAlert(writer, n, route, openTickets, memberId, log, dryRun, placement = {}) {
10053
10053
  const existing = findOpenFailureAlert(openTickets, n.headline);
10054
10054
  if (existing) {
10055
10055
  const label = displayKey(existing);
@@ -10076,7 +10076,9 @@ Still failing: ${n.detail ?? n.headline}`, memberId, "failure_alert");
10076
10076
  description: ticketBody(n, route),
10077
10077
  report_type: "bug",
10078
10078
  severity: "s2",
10079
- reporter_name: "Crew release"
10079
+ reporter_name: "Crew release",
10080
+ ...placement.repo_id ? { repo_id: placement.repo_id } : {},
10081
+ ...placement.project_id ? { project_id: placement.project_id } : {}
10080
10082
  }, memberId);
10081
10083
  const label = created.issue_id ? displayKey(created) : created.id;
10082
10084
  log.warn(`release failure \u2014 filed ${label}`, { step: "release" });
@@ -13489,7 +13491,17 @@ ${changed2.map((c) => ` - ${c}
13489
13491
  const notified = await notify(c, cfg.ship, news, remit, dryRun);
13490
13492
  if (!notified && news.level === "fail") {
13491
13493
  const memberId = releaseSeat(c);
13492
- await applyFailureAlert(tracker, news, scope, all, memberId, remit, dryRun).catch((e) => {
13494
+ const placement = {};
13495
+ try {
13496
+ const repoId = repoIdForName(c, target.name);
13497
+ if (repoId) {
13498
+ placement.repo_id = repoId;
13499
+ const projectId = (await tracker.repoRow(repoId))?.project_id;
13500
+ if (projectId) placement.project_id = projectId;
13501
+ }
13502
+ } catch {
13503
+ }
13504
+ await applyFailureAlert(tracker, news, scope, all, memberId, remit, dryRun, placement).catch((e) => {
13493
13505
  remit.warn(`could not file/update a failure ticket: ${e.message}`, { step: "release" });
13494
13506
  });
13495
13507
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tablation/crew",
3
- "version": "0.47.0",
3
+ "version": "0.47.1",
4
4
  "description": "A standing team of headless agents that picks work off a Tablation board, does it on a machine you control, and reports back.",
5
5
  "type": "module",
6
6
  "license": "MIT",