Dashboard Maintenance¶
Updating the device list¶
Edit docs/ci-results/results/devices.json and open a PR to develop. Changes take effect after the next Pages deploy.
See Device Registry for the full field reference.
Rotating the tokens¶
The pull pipeline uses two fine-grained PATs stored as repository secrets in fcefyn_testbed_utils. PATs expire — when they do, the collect-lime-results.yml workflow fails on the step that uses the expired token.
LIME_PACKAGES_TOKEN¶
Used to list runs and download artifacts from lime-packages. A 401/403 on the "Download lime-packages report.xml artifacts" step means this token expired.
- Generate a new fine-grained PAT at
github.com/settings/personal-access-tokens/new:- Resource owner:
fcefyn-testbed - Repository access: only
lime-packages - Permissions: Actions: Read-only (Metadata: Read is added automatically)
- Resource owner:
Settings → Secrets and variables → Actionsonfcefyn_testbed_utils- Update
LIME_PACKAGES_TOKENwith the new value
BOT_PR_TOKEN¶
Used to open the auto-merged PR with the collected results. A 401/403 on the "Create PR with collected results" or "Enable auto-merge" step means this one expired.
- Generate a new fine-grained PAT at
github.com/settings/personal-access-tokens/new:- Resource owner:
fcefyn-testbed - Repository access: only
fcefyn_testbed_utils - Permissions: Contents: Read and write + Pull requests: Read and write
- Resource owner:
- Update
BOT_PR_TOKENin the same secrets page
Re-collecting results manually¶
To force an immediate pull (e.g. after a fresh CI run in lime-packages):
- Actions → Collect lime-packages test results
- Run workflow → branch
develop→ optionally setruns(default 10 — how many recent CI runs to scan)
The workflow is idempotent: it skips reports already present, so running it repeatedly is safe.
Troubleshooting¶
| Symptom | Likely cause | Fix |
|---|---|---|
| Cards show "Test details not yet published" | report.xml for that device/release hasn't been collected yet |
Trigger collect-lime-results.yml manually, or wait for the cron |
| "Report ↗" link returns 404 | Either the report hasn't been collected yet, or PAGES_BASE in dashboard.html is pointing at the wrong host |
Open the link and check the URL host — it must be fcefyn-testbed.github.io/fcefyn_testbed_utils/ |
| Collect workflow fails with 401/403 on Download step | LIME_PACKAGES_TOKEN expired |
Rotate (see above) |
| Collect workflow fails with 401/403 on Create PR step | BOT_PR_TOKEN expired |
Rotate (see above) |
| Collect workflow fails with "GitHub Actions is not permitted to create or approve pull requests" | Org-level Actions setting disabled | Use a PAT (BOT_PR_TOKEN) — already the default; if blocked, check Settings → Actions → General → Workflow permissions at the org level |
| Collect workflow fails with "Auto merge is not allowed for this repository" | Repo setting disabled | Settings → General → Pull Requests → Allow auto-merge |
| Bot PR fails to merge with "Commits must have verified signatures" | develop branch protection has signed-commits required |
Disable it: the PR is opened with the user PAT and not signed by GitHub — gh api -X DELETE repos/fcefyn-testbed/fcefyn_testbed_utils/branches/develop/protection/required_signatures |
| Dashboard shows no cards at all | GitHub API rate limit hit (60 req/h, unauthenticated) | Wait ~1 hour and reload |
| Old results not refreshing | Cron runs every 6h; no new CI runs in lime-packages since last pull |
Trigger manually if needed |