Compare commits

...

5 Commits

Author SHA1 Message Date
ba87ab34be Merge pull request 'chore(ci): noop workflow to clear stale red badge' (#6) from chore/noop-ci-clear-stale-red-badge into main
All checks were successful
CI / noop (push) Successful in 0s
2026-05-08 17:00:56 +00:00
dev-lead
4acb103181 chore(ci): noop workflow to clear stale red badge
After PR #5 moved all 5 upptime workflows out of .github/workflows/,
no CI fires on push to main. The dashboard's CI status badge is
sticky on the LAST CI run, which was the broken upptime cron from
before the disable — so the repo displays a permanent red X.

Add a tiny noop workflow that prints why the repo is idle and
exits 0. Fires on push + daily cron so the badge stays accurate.

Replacement tracked in internal#97 (external uptime monitor RFC).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 10:00:37 -07:00
181b62d748 Merge pull request 'chore(ci): disable upptime workflows (post-suspension)' (#5) from chore/disable-broken-upptime-workflows into main 2026-05-08 15:56:57 +00:00
dev-lead
f7d5342c44 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>
2026-05-08 08:56:17 -07:00
25d0896c6b Merge pull request 'fix(post-suspension): migrate github.com/Molecule-AI refs to git.moleculesai.app (Class G #168)' (#1) from fix/post-suspension-github-urls into main
Some checks failed
Summary CI / Generate README + summary (push) Failing after 24s
Graphs CI / Generate graphs (push) Failing after 24s
Static Site CI / Build and deploy status site (push) Failing after 28s
Response Time CI / Update response time graphs (push) Failing after 7s
Uptime CI / Check status of endpoints (push) Failing after 29s
2026-05-07 20:02:25 +00:00
7 changed files with 56 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.

36
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,36 @@
name: CI
# Tiny no-op workflow so the dashboard doesn't display a stale red
# badge from the disabled upptime workflows. The workflows that actually
# probed our endpoints (uptime/response-time/graphs/summary/static-site)
# were moved to .github/workflows-disabled-post-suspension/ in #5
# because upptime cannot run on Gitea Actions post-2026-05-06 GitHub
# org suspension. Replacement is tracked in internal#97.
#
# This noop fires on every push to main + once daily so the badge
# accurately reflects "this repo is intentionally idle" instead of
# "the last 5x/hour upptime cron failed forever ago."
on:
push:
branches: [main]
schedule:
# Daily at 00:00 UTC so the badge stays green even on weeks with no
# commits. Cheap; just an echo.
- cron: "0 0 * * *"
workflow_dispatch: {}
permissions:
contents: read
jobs:
noop:
runs-on: ubuntu-latest
steps:
- name: Repo intentionally idle
run: |
echo "molecule-ai-status is intentionally idle until the upptime"
echo "replacement lands per internal#97. The five upptime workflows"
echo "that used to live in .github/workflows/ have been moved to"
echo ".github/workflows-disabled-post-suspension/ — see that"
echo "directory's README.md for context."