unsloth/.github/workflows
Daniel Han 420f588205 ci(notebooks): diff Colab oracle against committed snapshots
Extend notebook_validator.py with a colab-diff subcommand that
fetches three files from googlecolab/backend-info:

  pip-freeze.gpu.txt   -> snapshot at scripts/data/colab_pip_freeze.gpu.txt
  apt-list-gpu.txt     -> snapshot at scripts/data/colab_apt_list.gpu.txt
  os-info-gpu.txt      -> snapshot at scripts/data/colab_os_info.gpu.txt

Each file is parsed with a format-specific parser (pip ==, apt
listing, free-form os-info) and compared against the committed
snapshot. The diff reports NEW / REMOVED / CHANGED keys per file.

Wired into Notebooks CI two ways:
- PR-time static job: advisory step (continue-on-error: true) so
  upstream Colab rotations surface in the PR check UI without
  blocking authors.
- Daily static-with-pypi cron: --strict step so backend-info drift
  fails the cron within ~24h and the maintainer can refresh the
  snapshots intentionally.

Catches the same bug classes the existing R-INST-002/003/004/005
rules catch, but earlier: when Colab bumps libcudnn / Python /
torch wheels, we hear about it before a notebook breaks.

Add baseline snapshots from current backend-info HEAD: 1136 apt
packages, 4 os-info entries, 720 pip-freeze entries.
2026-05-08 11:39:38 +00:00
..
consolidated-tests-ci.yml ci(consolidated): prune electra from KNOWN_BROKEN_COMPILE post-zoo#632 2026-05-08 11:25:27 +00:00
lint-ci.yml CI: SHA-pin every action; fix 4 bugs in advisory-audit 2026-05-07 01:12:40 +00:00
mlx-ci.yml ci(mlx): unpin unsloth_zoo from PR #627 branch now that it is merged 2026-05-08 11:21:31 +00:00
notebooks-ci.yml ci(notebooks): diff Colab oracle against committed snapshots 2026-05-08 11:39:38 +00:00
release-desktop.yml Fix Studio desktop tray installer and titlebar and bux fixes (#5179) 2026-04-30 08:40:39 -07:00
security-audit.yml CI: SHA-pin every action; fix 4 bugs in advisory-audit 2026-05-07 01:12:40 +00:00
stale.yml CI: SHA-pin every action; fix 4 bugs in advisory-audit 2026-05-07 01:12:40 +00:00
studio-api-smoke.yml CI(studio): fix 4 real failures surfaced by the new smoke jobs 2026-05-07 04:20:11 +00:00
studio-backend-ci.yml CI: SHA-pin every action; fix 4 bugs in advisory-audit 2026-05-07 01:12:40 +00:00
studio-frontend-ci.yml CI(studio): always-upload artifacts + gate /api/system + path/health plumbing 2026-05-07 04:09:09 +00:00
studio-inference-smoke.yml Revert tool-calling trim on Linux + Windows; keep Mac 2026-05-08 09:39:12 +00:00
studio-mac-api-smoke.yml ci(mac): add Mac Studio API/UI/GGUF CI workflows 2026-05-07 05:14:51 +00:00
studio-mac-inference-smoke.yml ci(inference): port main's --local-dir gguf-cache pattern to tool-calling jobs 2026-05-08 09:10:57 +00:00
studio-mac-ui-smoke.yml ci(mac): single-process Chromium + JSON.parse try/catch in pipeTransport 2026-05-07 11:05:32 +00:00
studio-mac-update-smoke.yml ci(mac): add Mac Studio Update CI 2026-05-07 05:08:43 +00:00
studio-tauri-smoke.yml CI(studio): always-upload artifacts + gate /api/system + path/health plumbing 2026-05-07 04:09:09 +00:00
studio-ui-smoke.yml CI(ui): add second Playwright job covering Compare/Recipes/Export/Studio/Settings 2026-05-07 04:09:09 +00:00
studio-update-smoke.yml CI(update-smoke): drop cache: 'pip' to avoid fatal post-step 2026-05-07 07:38:26 +00:00
studio-windows-api-smoke.yml ci(windows): do not pre-create dist/node_modules before Defender exclusion 2026-05-08 09:08:46 +00:00
studio-windows-inference-smoke.yml Revert tool-calling trim on Linux + Windows; keep Mac 2026-05-08 09:39:12 +00:00
studio-windows-ui-smoke.yml ci(windows): do not pre-create dist/node_modules before Defender exclusion 2026-05-08 09:08:46 +00:00
studio-windows-update-smoke.yml ci(windows): do not pre-create dist/node_modules before Defender exclusion 2026-05-08 09:08:46 +00:00
wheel-smoke.yml CI: SHA-pin every action; fix 4 bugs in advisory-audit 2026-05-07 01:12:40 +00:00