@misterhuydo/sentinel 1.5.3 → 1.5.5

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.
package/.cairn/.hint-lock CHANGED
@@ -1 +1 @@
1
- 2026-03-30T05:36:03.379Z
1
+ 2026-03-30T12:17:15.549Z
@@ -1,6 +1,6 @@
1
1
  {
2
- "message": "Auto-checkpoint at 2026-03-30T05:55:15.774Z",
3
- "checkpoint_at": "2026-03-30T05:55:15.775Z",
2
+ "message": "Auto-checkpoint at 2026-03-30T12:17:26.376Z",
3
+ "checkpoint_at": "2026-03-30T12:17:26.377Z",
4
4
  "active_files": [],
5
5
  "notes": [],
6
6
  "mtime_snapshot": {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@misterhuydo/sentinel",
3
- "version": "1.5.3",
3
+ "version": "1.5.5",
4
4
  "description": "Sentinel — Autonomous DevOps Agent installer and manager",
5
5
  "bin": {
6
6
  "sentinel": "./bin/sentinel.js"
@@ -1128,7 +1128,13 @@ async def _handle_repo_task(task, repo_cfg, cfg_loader: ConfigLoader, store: Sta
1128
1128
  mentions = (mentions + " ") if mentions else ""
1129
1129
 
1130
1130
  if status == "done":
1131
- if detail: # PR URL
1131
+ if detail and detail.startswith("__cicd__"):
1132
+ cicd_name = detail[len("__cicd__"):]
1133
+ _slack_alert(
1134
+ sentinel.slack_bot_token, sentinel.slack_channel,
1135
+ f"{mentions}:white_check_mark: Done — pushed to `{task.repo_name}/{repo_cfg.branch}` and triggered `{cicd_name}` release.",
1136
+ )
1137
+ elif detail: # PR URL
1132
1138
  _slack_alert(
1133
1139
  sentinel.slack_bot_token, sentinel.slack_channel,
1134
1140
  f"{mentions}:white_check_mark: Done — PR opened for `{task.repo_name}`: {detail}",
@@ -286,6 +286,23 @@ def run_repo_task(
286
286
  logger.error("git push failed for %s: %s", repo.repo_name, r.stderr[:300])
287
287
  return "error", f"git push failed: {r.stderr.strip()[:200]}"
288
288
  logger.info("Repo task: pushed to %s/%s sha=%s", repo.repo_name, repo.branch, commit_hash[:8])
289
+ if repo.cicd_type:
290
+ try:
291
+ from .cicd_trigger import trigger as cicd_trigger
292
+ ok = cicd_trigger(repo, None, task.fingerprint)
293
+ if ok:
294
+ logger.info("Repo task: CI/CD triggered for %s (%s)", repo.repo_name, repo.cicd_type)
295
+ if on_progress:
296
+ on_progress(f":rocket: Release triggered via `{repo.cicd_type}`")
297
+ return "done", f"__cicd__{repo.cicd_type}"
298
+ else:
299
+ logger.warning("Repo task: CI/CD trigger failed for %s", repo.repo_name)
300
+ if on_progress:
301
+ on_progress(f":warning: CI/CD trigger failed for `{repo.cicd_type}` — check logs")
302
+ except Exception as exc:
303
+ logger.warning("Repo task: CI/CD trigger failed for %s: %s", repo.repo_name, exc)
304
+ if on_progress:
305
+ on_progress(f":warning: CI/CD trigger error — {exc}")
289
306
  return "done", None
290
307
  else:
291
308
  branch = f"sentinel/task-{task.fingerprint[:8]}"