Static React UI for browsing RISC-V phase rollups from a YAML file. It supports:
- Phase browsing with expand/collapse
- Search across issues, subtasks, and linked issues
- ISA/track filters
- Status summaries and approval next-step links
- Email/clipboard export actions
npm install
npm run build
npm run dev
npm run preview
Build and run via compose:
docker compose up --build
The container listens on port 5038.
The app attempts to load YAML from:
VITE_YAML_URL(if provided)- Local file
public/RVS_phase_rollup.yaml(mounted into the container, not tracked in git) DEFAULT_SRC_REMOTE(GitHub release URL placeholder insrc/config/constants.js)
Update the placeholder URL in src/config/constants.js to your release URL.
docker-compose.yml mounts:
public/RVS_phase_rollup.yaml->/usr/share/nginx/html/RVS_phase_rollup.yamlpublic/status_config.json->/usr/share/nginx/html/status_config.json
This allows regenerating the YAML every 10 minutes without rebuilding the image.
status_config.json controls status semantics:
doneStatusesnotStartedStatuses
Update this file and refresh the page to apply changes.
Top-level:
schema_version(string or number)project(string)generated_at(ISO timestamp)counts(map of phase -> count)phases(map of phase -> list of issues)
Issue fields used:
key,summary,phase,days_in_phaseisa_or_non_isa.valueis_fast_track.valuegithubsubtasks[]:key,summary,status,type,is_approvallinked_issues[]:key,summary,relationship,direction
Linked issues shown in the header use only relationships:
is developed byis governed by
- Phase pills filter by phase only (no additional filters implied).
- ISA / NON-ISA and Regular / Fast-Track filters combine with phase selection.
The UI is bundled with Vite and served as static assets by Nginx. The page is index.html.
public/: Static assets and runtime config (RVS_phase_rollup.yaml,status_config.json,riscv_logo.png).src/: React source code and UI logic.scripts/: Helper scripts (for examplerun_get_issues.sh).docs/: Documentation artifacts (for exampletask_spec.json).
This repo is configured to deploy to GitHub Pages on every push to main and on every YAML release. The Vite build sets base to /riscv-sde/ when GITHUB_PAGES=true.
To avoid browser CORS issues with GitHub release assets, the Pages workflow downloads the latest release YAML and places it in public/ before building so the app can load RVS_phase_rollup.yaml from the same origin.
Release YAML runs hourly and on manual dispatch. It executes scripts/run_get_issues.sh (in single-run mode) and uploads RVS_phase_rollup.yaml as a timestamped GitHub release asset (the canonical source).
The workflow expects scripts/get-issues.py; if the generator lives elsewhere, update scripts/run_get_issues.sh or the workflow to point at it.