Skip to content

Run GPU builds on-demand: add spot=false to all four workflows - #52

Closed
mmcky wants to merge 1 commit into
mainfrom
spot-false-meta-330
Closed

Run GPU builds on-demand: add spot=false to all four workflows#52
mmcky wants to merge 1 commit into
mainfrom
spot-false-meta-330

Conversation

@mmcky

@mmcky mmcky commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

RunsOn defaults to spot pricing, so all four GPU workflows here are exposed to the mid-run reclamation failure diagnosed in QuantEcon/meta#330 — spot capacity reclaimed partway through a 15–25 minute single-GPU notebook build discards the whole run, and the spot saving with it. The org-wide decision there is on-demand for all GPU builds.

This adds spot=false to the runs-on string in cache.yml, ci.yml, collab.yml and publish.yml, matching the pattern already in place in lecture-jax and lecture-python.myst. Part of finishing the rollout tracked in QuantEcon/meta#330; the audit that found these is QuantEcon/meta#347 (item 1, as corrected).

🤖 Generated with Claude Code

RunsOn defaults to spot, so these workflows are exposed to the mid-run
reclamation failure the org diagnosed in QuantEcon/meta#330 — spot
capacity being reclaimed partway through a 15-25 minute single-GPU
notebook build discards the whole run. Part of finishing the rollout
tracked in QuantEcon/meta#330; audit trail in QuantEcon/meta#347.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings August 5, 2026 00:06
@netlify

netlify Bot commented Aug 5, 2026

Copy link
Copy Markdown

Deploy Preview for timely-seahorse-68815c ready!

Name Link
🔨 Latest commit 9e544f1
🔍 Latest deploy log https://app.netlify.com/projects/timely-seahorse-68815c/deploys/6a727e7e60eea3000899dd5c
😎 Deploy Preview https://deploy-preview-52--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

Switches GPU GitHub Actions workflows from spot pricing to on-demand capacity by explicitly setting spot=false in the runs-on label string. This aligns these workflows with the org-wide decision to avoid mid-run spot reclamation failures during longer GPU notebook builds.

Changes:

  • Add /spot=false to the GPU runner label in ci.yml, cache.yml, collab.yml, and publish.yml.
  • Keep existing GPU instance family/image/disk selections unchanged while changing the spot/on-demand policy.

Reviewed changes

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

File Description
.github/workflows/cache.yml Adds spot=false to ensure scheduled/manual GPU cache builds run on on-demand capacity.
.github/workflows/ci.yml Adds spot=false so PR GPU preview builds use on-demand capacity.
.github/workflows/collab.yml Adds spot=false so PR execution checks run on on-demand capacity.
.github/workflows/publish.yml Adds spot=false so tag-based GPU publish builds run on on-demand capacity.

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

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 spot=false on all four GPU workflows as proposed here, completing the QuantEcon/meta#330 rollout for this repo.

Merged there rather than here because this PR, #51 and #53 all rewrote the same region of ci.yml and collab.yml and conflicted pairwise. #54 also carries #51's volume=80gb, so the final label is .../volume=80gb/spot=false rather than the disk=large/spot=false intermediate this branch had.

One correction to the PR description for the record: it said this matched the pattern already in lecture-jax and lecture-python.myst, but both siblings carry volume=80gb, not disk=large, so this reached only half the sibling end state. #51 supplied the other half.

@mmcky mmcky closed this Aug 5, 2026
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