Skip to content

Reclaim runner disk space before session/eval-data publish - #922

Draft
AbhitejJohn wants to merge 3 commits into
mainfrom
fix-eval-publish-disk-space
Draft

Reclaim runner disk space before session/eval-data publish#922
AbhitejJohn wants to merge 3 commits into
mainfrom
fix-eval-publish-disk-space

Conversation

@AbhitejJohn

Copy link
Copy Markdown
Collaborator

Problem

publish-session-data intermittently fails with System.IO.IOException: No space left on device. Root cause is runner disk exhaustion, not a code bug:

  • The job shallow-clones the dashboard-session-data branch of dotnet/skills-data, whose working tree is ~8.66 GB and growing.
  • purge-replay-sessions.ps1 then copies the merged session set through a temp dir (transiently ~2–3× the data).
  • On a run that draws a valid Copilot token and produces real trajectory logs, the new session data stacked on top of the ~8.66 GB clone tips the runner over its free-disk limit. Runs that drew the expired pool token produced empty trajectories and so never stressed the disk — which is why this only surfaced intermittently.

publish-eval-data (scheduled) faces the same risk as its branch grows.

Fix

Add a first-step disk reclaim to both publish-session-data and publish-eval-data that removes ~20 GB of preinstalled tooling neither job uses (no dotnet build; pwsh 7 lives under /opt/microsoft, not /usr/share/dotnet), plus df -h logging so any future disk pressure is diagnosable from the log.

Validation

  • actionlint -shellcheck= -pyflakes= on evaluation.yml — clean (exit 0)
  • bash -n syntax check of the reclaim snippet — clean (exit 0)
  • Behavioral dry-run: removes present paths, tolerates absent paths + unset vars (|| true), df -h / works
  • Definitive last-mile proof happens on a runner (passwordless sudo on ubuntu-latest).

Follow-ups (not in this PR)

  • Rotate the expired COPILOT_PAT_* org secret in the copilot-pat-pool (masks disk failures and silently empties eval legs).
  • Optional: CopyMove in purge-replay-sessions.ps1 to halve transient footprint.

AbhitejJohn and others added 2 commits July 21, 2026 17:20
The publish-session-data job shallow-clones the multi-GB
dashboard-session-data branch and stages the run's session logs, which
purge-replay-sessions.ps1 copies through a temp dir (transiently ~2-3x the
data). On a valid-token run that produces real trajectory logs, this can
exhaust the runner disk (System.IO.IOException: No space left on device),
which previously only surfaced when a run happened to draw a working
Copilot token and generate real session data.

Add a first-step disk reclaim (removing ~20GB of preinstalled tooling the
job never uses) plus df -h logging to publish-session-data and
publish-eval-data. Neither job runs dotnet build and pwsh 7 lives under
/opt/microsoft, so removing /usr/share/dotnet et al. is safe.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Adds a benign 'When to Use' bullet to exercise the full /evaluate pipeline
(discover -> evaluate -> publish-session-data -> comment) on PR #922 so the
runner disk-space fix, the eyes reaction, and the result comment format can
be verified end-to-end on a real runner. To be reverted before merge.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@AbhitejJohn

Copy link
Copy Markdown
Collaborator Author

/evaluate

@github-actions

Copy link
Copy Markdown
Contributor

📊 Skill Evaluation Results

1 skill(s) evaluated — 1 improved, 0 no credible improvement. A skill passes only on a credible improvement over baseline (mean preference > 0 with its 95% CI above 0).

Skill Result Δ Preference [95% CI] W/T/L Quality Baseline
csharp-scripts +100.0% [+100.0%, +100.0%] 1/0/0 5.0/5 4.0/5

🔍 Full Results - additional metrics and failure investigation steps

▶ Sessions Visualisation -- interactive replay of all evaluation sessions
📊 Session Analytics (preview) -- aggregated metrics across evaluation sessions

Removes the temporary csharp-scripts SKILL.md bullet added only to exercise
the /evaluate pipeline on this PR. End-to-end verification is complete
(eyes add/remove, result comment, Sessions/Analytics links all confirmed),
so #922 is restored to the disk-fix-only change.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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