molecule-core/.github/workflows
dev-lead 42ff6be15c fix(ci): canary alerting — drop Gitea-incompatible actions API call
The "Open issue on failure" step was failing on every canary run
because Gitea 1.22.6 doesn't expose /api/v1/actions endpoints
(per memory reference_gitea_actions_log_fetch). The threshold check
called github.rest.actions.listWorkflowRuns() to count consecutive
prior failures and gate issue creation behind 3 reds — that call
ALWAYS 404'd on Gitea, breaking the entire alerting step.

Net effect: the canary's own self-alerting was broken, so the
underlying staging regression went unflagged for 38h+
(2026-05-07 02:30 UTC → 2026-05-08 17:34 UTC, every cron tick red,
zero issues filed).

Fix: drop the consecutive-failures threshold entirely. File a
sticky issue on the FIRST failure; comment-on-existing handles
deduplication for subsequent failures. The auto-close-on-success
step is unchanged.

Why not a Gitea-compatible threshold (e.g., walk recent commit
statuses): comment-on-existing already gives ops a single
accumulating issue per regression streak. The threshold's purpose
was to avoid spamming on transient flakes — but with sticky issue
+ auto-close-on-green, transient flakes get one issue + one quick
close, which is fine signal. Filing on first failure is also
better UX: catches the regression in 30 min instead of 90 min.

Also: rewrote runURL from hardcoded https://github.com/... to
context.serverUrl so the link actually points at Gitea
(https://git.moleculesai.app) — was always broken on Gitea but
nobody noticed because the issue-filing step itself was broken.

Net: 21 insertions, 40 deletions. Removes WORKFLOW_PATH +
CONSECUTIVE_THRESHOLD env vars (no longer needed).

Tracked in: molecule-core#129 (failure mode 3 of 3)
Verification: yaml syntax-valid; no remaining github.rest.actions.*
calls; only github.rest.issues.* (all Gitea-supported per
memory feedback_persona_token_v2_scope).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 10:52:09 -07:00
..
auto-tag-runtime.yml
block-internal-paths.yml
branch-protection-drift.yml
canary-staging.yml fix(ci): canary alerting — drop Gitea-incompatible actions API call 2026-05-08 10:52:09 -07:00
canary-verify.yml
cascade-list-drift-gate.yml
check-merge-group-trigger.yml
check-migration-collisions.yml
ci.yml fix(ci): pin actions/upload-artifact + download-artifact to @v3 for Gitea compatibility 2026-05-07 16:54:44 -07:00
codeql.yml
continuous-synth-e2e.yml
e2e-api.yml fix(ci): e2e-api — parallel-safe postgres/redis containers + provisioner setup 2026-05-07 18:59:56 -07:00
e2e-staging-canvas.yml chore(workflows): drop staging-branch triggers (Phase 3b of internal#81) 2026-05-08 13:08:51 +00:00
e2e-staging-external.yml chore(workflows): drop staging-branch triggers (Phase 3b of internal#81) 2026-05-08 13:08:51 +00:00
e2e-staging-saas.yml chore(workflows): drop staging-branch triggers (Phase 3b of internal#81) 2026-05-08 13:08:51 +00:00
e2e-staging-sanity.yml
handlers-postgres-integration.yml chore(ci): retrigger Handlers Postgres Integration for second-green proof 2026-05-07 18:23:05 -07:00
harness-replays.yml
lint-curl-status-capture.yml
pr-guards.yml fix(ci): close 3 chronic Gitea-Actions workflow flakes (closes #88) 2026-05-07 17:06:09 -07:00
promote-latest.yml
publish-canvas-image.yml
publish-runtime.yml
publish-workspace-server-image.yml
railway-pin-audit.yml
redeploy-tenants-on-main.yml
redeploy-tenants-on-staging.yml chore(workflows): drop staging-branch triggers (Phase 3b of internal#81) 2026-05-08 13:08:51 +00:00
runtime-pin-compat.yml
runtime-prbuild-compat.yml
secret-pattern-drift.yml
secret-scan.yml
sweep-aws-secrets.yml
sweep-cf-orphans.yml
sweep-cf-tunnels.yml
sweep-stale-e2e-orgs.yml
test-ops-scripts.yml