This is the organization profile repository for UW-Madison DSI. It controls what visitors see on the org landing page.
.github/
scripts/
render-banner.mjs # Fetches org stats + renders banner via Playwright
update-readme.mjs # Fetches most-active repos via GitHub GraphQL API
workflows/
refresh-banner.yml # Nightly banner refresh (06:00 UTC)
update-active-repos.yml # Weekly active repos table (Mondays at noon UTC)
profile/
README.md # Rendered on the org landing page
template.html # HTML source for the banner design
banner.png # Generated by the banner workflow
package.json # Node deps for the banner renderer
Runs nightly at 06:00 UTC and on pushes to template/script files. It:
- Queries the GitHub REST API for public, non-archived, non-fork repo count and unique contributor count.
- Injects the live numbers into
profile/template.html. - Screenshots the HTML at 1280x320 using headless Chromium (Playwright).
- Commits
profile/banner.pngif the image changed.
Uses the built-in GITHUB_TOKEN, so no extra secrets are needed.
To customize the banner design, edit profile/template.html. The next workflow run will pick it up.
Runs weekly on Mondays at noon UTC. It queries the org's public repos via the GraphQL API, ranks them by commit count over the last 30 days, and inserts the top 6 between the <!-- ACTIVE_REPOS:START --> / <!-- ACTIVE_REPOS:END --> marker comments in profile/README.md.
Requires a repository secret:
| Secret | Description |
|---|---|
ORG_READ_TOKEN |
A GitHub PAT with read:org and repo scopes |
- Actions permissions: Settings > Actions > General > Workflow permissions: Read and write.
- Active repos secret: Add the
ORG_READ_TOKENsecret in Settings > Secrets and variables > Actions. - First run: Trigger both workflows manually from the Actions tab to populate the banner and active repos table.
Edit profile/README.md to change what appears on the org landing page. Two auto-managed sections to be aware of:
- The
banner.pngimage is regenerated nightly by the banner workflow. - The active repos section between the marker comments is refreshed weekly.
Make content changes outside those regions.