Skip to content

MAINT: migrate RunsOn disk=large → volume=80gb (v3 pilot) - #51

Closed
mmcky wants to merge 1 commit into
mainfrom
runson-v3-volume-labels
Closed

MAINT: migrate RunsOn disk=large → volume=80gb (v3 pilot)#51
mmcky wants to merge 1 commit into
mainfrom
runson-v3-volume-labels

Conversation

@mmcky

@mmcky mmcky commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Migrates lecture-stats to the RunsOn v3 stack as the migration pilot for QuantEcon/meta#322.

In v3 the disk= label is parsed but ignored — a runner pointed at a v3 stack with disk=large silently boots with the image's default root volume, which can fail GPU build jobs with "no space left on device". This PR replaces disk=largevolume=80gb (the documented v3 equivalent; matches the v2 stack's 80GB large-volume size) across all four RunsOn workflows. The family= and image= parts are unchanged.

Workflow Image Trigger
ci.yml quantecon_ubuntu2404 (custom AMI) pull_request — runs on this PR
collab.yml ubuntu24-gpu-x64 (RunsOn default GPU) pull_request — runs on this PR
cache.yml quantecon_ubuntu2404 workflow_dispatch — validated separately
publish.yml quantecon_ubuntu2404 tag publish* — rides the same proven label

This must merge together with the v3 cutover (v3 GitHub App now installed on lecture-stats, removed from the v2 app) — not before, since v2 doesn't understand volume=.

Part of QuantEcon/meta#322

🤖 Generated with Claude Code

RunsOn v3 parses but ignores the disk= label and would silently boot
runners with the image's default root volume instead of the 80GB
"large" volume. Replace disk=large with volume=80gb across all four
RunsOn workflows (ci, cache, publish, collab) so jobs keep adequate
disk headroom on the new v3 stack. lecture-stats is the v3 pilot.

Part of QuantEcon/meta#322

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 17, 2026 02:52
@netlify

netlify Bot commented Jun 17, 2026

Copy link
Copy Markdown

Deploy Preview for timely-seahorse-68815c ready!

Name Link
🔨 Latest commit d6429ae
🔍 Latest deploy log https://app.netlify.com/projects/timely-seahorse-68815c/deploys/6a320be0e9ac640007458138
😎 Deploy Preview https://deploy-preview-51--timely-seahorse-68815c.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Migrates this repository’s RunsOn GitHub Actions workflows to the RunsOn v3-compatible disk sizing label by replacing disk=large (ignored on v3) with volume=80gb to avoid running jobs on undersized default root volumes.

Changes:

  • Replaced disk=large with volume=80gb in all RunsOn runs-on: labels.
  • Kept existing family= and image= selections unchanged across workflows.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
.github/workflows/ci.yml Updates RunsOn label to use volume=80gb for PR CI runs.
.github/workflows/collab.yml Updates RunsOn label to use volume=80gb for PR GPU container job.
.github/workflows/cache.yml Updates RunsOn label to use volume=80gb for scheduled/manual cache builds.
.github/workflows/publish.yml Updates RunsOn label to use volume=80gb for tag-based publish runs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mmcky mmcky mentioned this pull request Jun 17, 2026
10 tasks
mmcky added a commit that referenced this pull request Aug 5, 2026
…#54)

Lands #51, #52, #53 and #50 as one change, and salvages the -n flag from #25.

- runs-on: disk=large -> volume=80gb, plus spot=false, on all four GPU
  workflows. Now matches lecture-jax and lecture-python.myst byte for byte,
  allowing for collab.yml's different image.
- Explicit permissions blocks on ci.yml, collab.yml and publish.yml so the
  default workflow token can drop to read. ci.yml and collab.yml also gain
  actions: read, which #53 declared only on publish.yml.
- dawidd6/action-download-artifact -> @v21 at all four call sites; collab.yml
  was still on v3 while the rest were on v9.
- -n added to the ci.yml PDF build so it matches publish.yml, closing a gap
  where a nitpick-class error passed the PR check and failed at publish time.

#51, #52 and #53 conflicted pairwise over the same region of ci.yml and
collab.yml, so they are resolved once here rather than through two sequential
rebases. Part of the rollout tracked in QuantEcon/meta#330, with the
permissions work from QuantEcon/meta#347.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mmcky

mmcky commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

Landed via #54, which set volume=80gb on all four GPU workflows exactly as this PR proposed.

Merged there rather than here because #51, #52 and #53 all rewrote the same few lines of ci.yml and collab.yml and conflicted pairwise. Landing them separately would have needed two sequential conflict resolutions, and in that conflict a careless "take theirs" silently drops spot=false. Resolving the region once avoided that. Thanks — the change itself was right, and the four runs-on strings now match lecture-jax byte for byte.

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.

2 participants