Skip to content

docs: document GitHub token rotation targets#4468

Open
jloh02 wants to merge 2 commits into
masterfrom
codex/document-github-token-rotation
Open

docs: document GitHub token rotation targets#4468
jloh02 wants to merge 2 commits into
masterfrom
codex/document-github-token-rotation

Conversation

@jloh02

@jloh02 jloh02 commented Jul 15, 2026

Copy link
Copy Markdown
Member

Summary

  • name the expiring credential as GITHUB_API_TOKEN
  • document updating it in the Cloudflare Workers deployment
  • document updating it in both the nusmods-website and nusmods-export Vercel projects

This prevents token rotation from restoring venue issue creation while leaving Vercel fork PR detection with a stale token.

Validation

  • git diff --check
  • repository pre-commit formatting hook (oxfmt)

@vercel

vercel Bot commented Jul 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
nusmods-export Ignored Ignored Preview Jul 17, 2026 12:23am
nusmods-website Ignored Ignored Preview Jul 17, 2026 12:23am

Request Review

@greptile-apps

greptile-apps Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR improves the MAINTENANCE.md token rotation checklist by naming the expiring credential (GITHUB_API_TOKEN) and splitting the single task into sub-tasks for Cloudflare Workers and Vercel, preventing a partial rotation where one platform gets a fresh token while the other retains a stale one.

  • The GITHUB_API_TOKEN name is confirmed accurate by vercel_ignore_build.sh, which passes it as a Bearer token to the GitHub API to detect fork PRs.
  • The Vercel sub-task correctly calls out both nusmods-website and nusmods-export projects and clarifies the token is used only in the ignored build step, not at runtime.

Confidence Score: 5/5

Documentation-only change with no runtime impact; content is accurate and verified against the actual script.

The only changed file is MAINTENANCE.md. The token name GITHUB_API_TOKEN and its use in vercel_ignore_build.sh are confirmed by reading the script. The new sub-tasks correctly describe where the token must be updated to avoid a partial rotation.

No files require special attention.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[GITHUB_API_TOKEN expires after 366 days] --> B[Rotate token in GitHub]
    B --> C[Update Cloudflare Dashboard]
    B --> D[Update Vercel Projects]
    C --> E[Cloudflare Workers\nnusmodifications/serverless-functions\nCreates venue issues via GitHub Issues API]
    D --> F[nusmods-website\nVercel ignored build step\nvercel_ignore_build.sh]
    D --> G[nusmods-export\nVercel ignored build step\nvercel_ignore_build.sh]
    F --> H[Identifies fork PRs via GitHub API]
    G --> H
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[GITHUB_API_TOKEN expires after 366 days] --> B[Rotate token in GitHub]
    B --> C[Update Cloudflare Dashboard]
    B --> D[Update Vercel Projects]
    C --> E[Cloudflare Workers\nnusmodifications/serverless-functions\nCreates venue issues via GitHub Issues API]
    D --> F[nusmods-website\nVercel ignored build step\nvercel_ignore_build.sh]
    D --> G[nusmods-export\nVercel ignored build step\nvercel_ignore_build.sh]
    F --> H[Identifies fork PRs via GitHub API]
    G --> H
Loading

Reviews (2): Last reviewed commit: "docs: clarify token is deployment-only" | Re-trigger Greptile

@codecov

codecov Bot commented Jul 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.48%. Comparing base (988c6fd) to head (f8f4728).
⚠️ Report is 265 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4468      +/-   ##
==========================================
+ Coverage   54.52%   58.48%   +3.96%     
==========================================
  Files         274      316      +42     
  Lines        6076     7294    +1218     
  Branches     1455     1794     +339     
==========================================
+ Hits         3313     4266     +953     
- Misses       2763     3028     +265     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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