Skip to content

dashboard-checks: setup checks + template-update banner - #7

Merged
hhkaos merged 1 commit into
mainfrom
feat/dashboard-checks
Jul 17, 2026
Merged

dashboard-checks: setup checks + template-update banner#7
hhkaos merged 1 commit into
mainfrom
feat/dashboard-checks

Conversation

@hhkaos

@hhkaos hhkaos commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

Client-side script served at tools.opentechevents.org/dashboard-checks.js, loaded by ote-template forks' docs/index.html (contract already wired there — not changed). Self-contained vanilla JS, no build step, fails silently, idempotent.

What lands

  • apps/dashboard-checks/dashboard-checks.js — the served artifact (+ tests for its pure helpers, README, eslint globals block).
  • deploy-tools.yml — copies the file to the tools site root.
  • issue-to-pr.yml — catches the PR-open 403 when Allow GitHub Actions to create and approve pull requests is off, and comments the fix on the source issue.

Two features (mount #ote-checks)

  1. Setup check (on demand; unauth GitHub API, cached per repo for the session): Issues enabled, ote-event label, Actions running & green, ote.config.json placeholders, sample events. The Actions can create PRs permission is shown as an unverifiable reminder (needs administration:read), never a pass/fail — detected instead at PR-open time by issue-to-pr.yml.
  2. Template-update banner (on load): fork VERSION vs latest ote-template release → version, CHANGELOG slice, git pull upstream main.

Verification

  • pnpm lint / build / test green (11 new unit tests for semver, placeholder, sample-event, changelog-slice logic).
  • Drove the real file end-to-end against a fake DOM + stubbed GitHub API: banner renders with the correct changelog slice; setup checklist renders ✅/⚠️/ℹ️/🔍 with the unverifiable reminder; sessionStorage cache written.

Follow-up (not in this PR)

  • After merge, deploy-tools.yml publishes the script live.
  • The issue-to-pr.yml change reaches forks only when the v1 tag moves to include it.

🤖 Generated with Claude Code

Adds dashboard-checks.js, served from tools.opentechevents.org and loaded
by ote-template forks' docs/index.html (contract already wired there).
Self-contained vanilla JS, no build step; fails silently on any
network/CORS/parse error; idempotent.

Two features mounted into #ote-checks:
  - Setup check (on demand, unauth GitHub API, cached per repo for the
    session): Issues, ote-event label, Actions green, ote.config.json
    placeholders, sample events. The "Actions can create PRs" permission
    is shown as an unverifiable reminder — it needs administration:read
    and can't be read unauthenticated.
  - Template-update banner (on load): compares the fork's VERSION to the
    latest ote-template release; shows the CHANGELOG slice and how to update.

deploy-tools.yml copies the file to the tools site root.

issue-to-pr.yml catches the PR-open 403 raised when "Allow GitHub Actions
to create and approve pull requests" is off and comments the fix on the
source issue — covering, at failure time, the one setup item the
client-side check cannot verify.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@hhkaos
hhkaos merged commit ccb0032 into main Jul 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant