Update the script the pings on main branch fails #850
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/infrastructure#850
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Drop job, ref, sha
and the run URL needs to be the public URL
Example from the deploy repo
CI failed on main
repo: coilyco-bridge/deploy
workflow: deploy-lunch-money-mcp
job: rollout
ref: refs/heads/main
sha: 0bd7a30d5c2b466373c7936e2781a2620a318411
run: http://forgejo.forgejo.svc.cluster.local/coilyco-bridge/deploy/actions/runs/20930
Also I would sincerely prefer if the script wasn't copy pasted everywhere
#852 does the first two asks and one you did not ask for. It does not do the third.
Format. Now exactly three lines.
job,refandshaare gone.Public run URL. The link came from
GITHUB_SERVER_URL, which is the cluster-local name the runner registered against, which is why yours readhttp://forgejo.forgejo.svc.cluster.local/.... It now comes from the forgeROOT_URL.Not asked for, but adjacent: the step no longer passes
BOT_TOKENorCHAT_ID.deploy#339had gated that on the signoz-telegram mapper being reachable, and it is now, so no repo holds a Telegram credential.The copy-paste ask is not solved
Honest status: still copy-pasted. The roller installs the same file into every repo. #852 makes the copies converge byte-for-byte and gives the roller the ability to update them all from one source, which is strictly better than the drift today, but it is deduplication of content, not of the file.
One shared file is a real fork in the design and worth your call rather than my guess:
agentic-os/actions/telegram-alert@was. The org migration left that ref dead and the fleet was deliberately moved off it, so this means re-adopting the pattern that already broke once.curl. That deletes the file everywhere instead of sharing it. Costs: interpolating${{ github.* }}into a shell string is a script-injection surface, JSON-escaping newlines in shell is fragile, andaos#989banned inline bodies for reasons that partly still apply.I would take 3 now and revisit 2 if the copies annoy you in practice, but this is your preference to set, not mine.
Leaving this issue open for that decision. The format and URL half is in #852.
Kai proposed a fourth option that beats all three above, and it is built: put the alert in aosguard.
coilyco-flight-deck/agentic-os#1093addsaosguard ops telegram alert. The step becomes one verb with no arguments, and no repository carries an alert program at all. That is the copy-paste ask solved outright rather than mitigated.It works because the program is embedded in the binary and the leaf is
sealed, the same shape asforgejo-storage measure. Verified against a local capture server, so nothing was sent to Telegram.Four implementations disappear once consumers migrate: this repo's
scripts/actions/alert-telegram.py,deploy's copy,agentic-os-kai's copy, and agentic-os's localactions/telegram-alertcomposite action.One place it does not reach. 29 of the fleet's 31 alerting workflows set
container: agentic-os:releaseand already have aosguard. The exceptions aredeploy/reconcile.ymlanddeploy/compose-review-roles.yml, both on thedeploy:hostexecutor, where steps run in the runner pod rather than that image. Those two either keep a script or the runner pod gains the binary, which is a separate call.#852 is still worth landing. It is independent of this, it fixes the message format and retires the Telegram secrets on the current shape, and that shape is what the two host-executor workflows keep using either way. Migrating call sites to the verb has to wait for a released image regardless.