chore(ci): disable upptime workflows (post-suspension)

Five status-page workflows have been red on every cron tick (5x/hour)
since the 2026-05-06 GitHub org suspension. Symptom from the latest
run (run 8002):

  url: api.github.com/repos/upptime/uptime-monitor/releases?per_page=1
  data: { message: 'Bad credentials', status: '401' }

upptime fundamentally cannot work on this infra:
  - upstream upptime/uptime-monitor action calls api.github.com on
    every run to check its own version
  - GitHub Molecule-AI org PAT is dead
  - operator-host anonymous IP is rate-limited
  - re-tokenizing with a personal PAT recreates the bot-ring shape
    that triggered the original suspension (memory:
    feedback_github_botring_fingerprint)

Move the five workflow files to .github/workflows-disabled-post-suspension/
so Gitea Actions stops dispatching them. This eliminates the 5x/hour
red CI noise on dashboards and stops paging on a known-impossible run.

Replacement plan: external uptime monitor (StatusPage.io, BetterStack,
healthchecks.io). RFC follow-up filed separately on internal#.

Files moved (no functional change to YAML):
  - uptime.yml
  - response-time.yml
  - graphs.yml
  - summary.yml
  - static-site.yml

Plus a README explaining why under the new dir.

Rollback: git mv them back if upptime ever becomes runnable again.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
dev-lead 2026-05-08 08:56:17 -07:00
parent 25d0896c6b
commit f7d5342c44
6 changed files with 20 additions and 0 deletions

View File

@ -0,0 +1,20 @@
# Disabled upptime workflows
These five workflows were the upptime-driven status page. They have been
disabled because upptime fundamentally cannot run on Gitea Actions:
- `uptime/uptime-monitor` action calls `api.github.com/repos/upptime/uptime-monitor/releases`
on every run to check its own version. This call:
- Returns `401 Bad credentials` because the GitHub `Molecule-AI` org
PAT was suspended on 2026-05-06.
- Cannot be papered over with the operator host's anonymous IP — also
rate-limited.
- Cannot be re-tokenized with a personal GitHub PAT (the original
bot-ring fingerprint that got us banned, per memory
feedback_github_botring_fingerprint).
The replacement plan is tracked in `internal#TBD` (RFC).
If you need a status page in the meantime: external services
(StatusPage.io, BetterStack, healthchecks.io) sit outside the Molecule-AI
infra and don't depend on GitHub. We picked one of those for the gap.