Commit Graph

22 Commits

Author SHA1 Message Date
Vijay Janapa Reddi
d02bd6ddd7 fix: remove duplicate shell key in infra-health-check.yml 2026-03-06 10:11:44 -05:00
Vijay Janapa Reddi
a76aab4676 ci: completely remove Windows build infrastructure
Per request, removed all traces of Windows container builds from the project.
This simplifies the CI pipeline to be Linux-only.

- Deleted `book/docker/windows/` directory and its Dockerfile
- Deleted `.github/workflows/infra-container-windows.yml`
- Removed Windows matrix jobs and steps from `book-build-container.yml`
- Removed Windows inputs and outputs from `book-build-container.yml`
- Removed Windows health checks from `infra-health-check.yml`
- Removed Windows references from `book-publish-live.yml`
- Removed Windows references from `book-validate-dev.yml`
2026-03-06 10:04:48 -05:00
Vijay Janapa Reddi
b77c8cc8ab fix: resolve PowerShell ScriptBlock parsing error in Windows docker run commands
Refactored Windows container build steps to pipe PowerShell scripts via stdin
instead of passing them as command-line arguments to `docker run`. This prevents
PowerShell from incorrectly interpreting curly braces inside the script string
as a ScriptBlock argument.

Applied this fix to:
- Preflight toolchain (Windows)
- Build format (Windows)
- Compress PDF (Windows)
- Compress EPUB (Windows)
2026-03-06 09:15:01 -05:00
Vijay Janapa Reddi
1d3bcddd0d Harden remaining Windows PowerShell interpolations.
Replace subexpression-based OS/architecture logging in dockerized Windows compression steps with format strings to avoid escaping-related parse failures.
2026-03-06 08:06:16 -05:00
Vijay Janapa Reddi
60cffb80b7 Fix Windows preflight command-source logging escapes.
Replace embedded subexpression interpolation in the dockerized PowerShell preflight checks with format strings so command source logging does not break script parsing.
2026-03-06 08:04:36 -05:00
Vijay Janapa Reddi
2ce2919be8 Ensure Windows runner starts Docker daemon before pulls.
Add a pre-pull Windows step that starts the docker service and waits until docker version succeeds so container image pulls do not fail on missing docker_engine pipe.
2026-03-06 07:52:23 -05:00
Vijay Janapa Reddi
3f88e2a89b Fix container preflight checks across Linux and Windows.
Make pandoc preflight succeed when only Quarto-bundled pandoc is available, and harden Windows error logging to avoid PowerShell interpolation failures in catch blocks.
2026-03-06 07:38:00 -05:00
Vijay Janapa Reddi
72d714ead8 Improve container preflight diagnostics and docs references.
Add explicit per-check preflight logging and matrix failure instance reporting in the container build workflow, and update stale documentation links and workflow/file path references.
2026-03-05 16:03:00 -05:00
Vijay Janapa Reddi
7992c8ff13 Switch book validation to container-only fail-fast builds.
Remove baremetal workflow usage and add explicit Linux/Windows preflight toolchain checks so missing dependencies fail immediately before render.
2026-03-05 15:33:19 -05:00
Vijay Janapa Reddi
9314128cf7 Fix Windows python3 availability in container build paths.
Preserve container PATH during Windows docker-run steps and create/verify a python3 alias from Scoop Python so Quarto/Jupyter kernels that invoke python3 work reliably in both install-time and final verification checks.
2026-03-05 07:42:29 -05:00
Vijay Janapa Reddi
ddfa753aa5 pwsh 2026-03-04 13:11:33 -05:00
Vijay Janapa Reddi
d9c2906e40 Adds Windows book builds and refines Quarto content
Introduces Windows HTML, PDF, and EPUB build configurations for both Volume I and Volume II in the GitHub Actions workflow, expanding the available output formats for the book.

Updates Quarto callout and figure syntax from `::::` to `:::` across numerous content files for consistency and compatibility.

Removes unreferenced `war_stories.bib` and `data_engineering.bib` bibliography files and their corresponding entries in Quarto configuration.

Standardizes internal references to the 'Responsible AI' chapter by updating `@sec-responsible-engineering` to `@sec-responsible-ai` for improved linking accuracy throughout the text.
2026-03-03 14:50:20 -05:00
Vijay Janapa Reddi
6cb39f40ab fix(build): set PYTHONPATH for mlsysim, move output-file to book:, add volume to job name 2026-03-03 07:32:40 -05:00
Vijay Janapa Reddi
1052b2be31 Update book workflows for volume-only builds
Switch container/baremetal/validate/preview/live flows to vol1+vol2 artifacts, keep baremetal in dev validation, and add stable single-book navbar link.
2026-03-02 09:45:40 -05:00
Vijay Janapa Reddi
7e6cbc96ca Merge remote-tracking branch 'origin/dev' into dev 2026-03-01 18:43:22 -05:00
Salman Muin Kayser Chishti
4cf7a3aca8 Upgrade GitHub Actions for Node 24 compatibility
Signed-off-by: Salman Muin Kayser Chishti <13schishti@gmail.com>
2026-02-19 09:19:52 +00:00
Vijay Janapa Reddi
9d840fc1a0 Merge branch 'dev' into feature/book-volumes 2026-02-10 13:12:34 -05:00
Vijay Janapa Reddi
cbf8017a26 style(ci): add action emojis to workflow names for visual scanning
Add separator and action-specific emojis to make it easier to visually
distinguish between workflow types (Build/Publish/Validate) at a glance.

Pattern: Category emoji + Name · Action emoji + Action
- 🔨 Build
- 📤 Publish
- 🔍 Validate
- 🐳 Container
- 🧹 Cleanup
- 🔗 Link Check
- ❤️ Health Check
2026-01-27 10:24:58 -05:00
Vijay Janapa Reddi
f31355c889 feat(volumes): implement volume separation for textbook
Add infrastructure for publishing Volume I and Volume II as standalone sites:

Volume Configs:
- Add _quarto-html-vol1.yml, _quarto-pdf-vol1.yml, _quarto-epub-vol1.yml
- Add _quarto-html-vol2.yml, _quarto-pdf-vol2.yml, _quarto-epub-vol2.yml
- Update navbar cross-links in all configs (book, kits, labs)

Volume Content:
- Add vol1/index.qmd, vol1/frontmatter/, vol1/backmatter/
- Add vol2/index.qmd, vol2/frontmatter/, vol2/backmatter/

Landing Page:
- Create landing/index.html with AI Engineering branding
- Add navigation to all resources (Vol I, Vol II, Full, TinyTorch, Kits)

Workflows:
- Add build_target input to book-build-container.yml (combined/vol1/vol2/all)
- Add deploy_target input to book-publish-live.yml
- Add matrix entries for volume-specific builds (Linux)
- Update deployment to handle /book/, /vol1/, /vol2/, and root

CLI:
- Update binder CLI to support --vol1 and --vol2 flags

Documentation:
- Update README.md with volume links and new URL structure
- Update book/README.md with correct paths

URL Structure:
- mlsysbook.ai/ -> Landing page
- mlsysbook.ai/book/ -> Full textbook
- mlsysbook.ai/vol1/ -> Volume I standalone
- mlsysbook.ai/vol2/ -> Volume II standalone
2026-01-10 09:28:25 -05:00
Vijay Janapa Reddi
853eb03ee8 style: apply consistent whitespace and formatting across codebase 2025-12-13 14:05:34 -05:00
Vijay Janapa Reddi
c68e20dcda refactor: standardize workflow naming convention
Book workflows: 📚 Book <Action> [(<Env>)]
- Book Build (Baremetal)
- Book Build (Container)
- Book Publish (Dev)
- Book Publish (Live)
- Book Update Contributors
- Book Validate (Dev)

Infra workflows: 🔧 Infra <Action> [(<Detail>)]
- Infra Container (Linux)
- Infra Container (Windows)
- Infra Health Check
- Infra Cleanup Caches
- Infra Link Check

TinyTorch workflows: 🔥 TinyTorch <Action> [(<Env>)]
- Already consistent, no changes

File renames:
- book-build-linux-container.yml → infra-container-linux.yml
- book-build-windows-container.yml → infra-container-windows.yml
- container-health-check.yml → infra-health-check.yml
- cleanup-caches.yml → infra-cleanup-caches.yml
- link-check.yml → infra-link-check.yml

Updated cross-references in book-validate-dev.yml
2025-12-12 09:25:07 -08:00
Vijay Janapa Reddi
f518cca5b0 refactor: rename workflows with book- prefix for monorepo organization [skip ci]
Renamed all book-specific workflows with 'book-' prefix to prepare for
TinyTorch integration and maintain clear separation in monorepo structure.

Renamed workflows:
- validate-dev.yml → book-validate-dev.yml
- publish-live.yml → book-publish-live.yml
- deploy-preview.yml → book-deploy-preview.yml
- build-linux-container.yml → book-build-linux-container.yml
- build-windows-container.yml → book-build-windows-container.yml
- quarto-build-container.yml → book-build-container.yml
- quarto-build-baremetal.yml → book-build-baremetal.yml
- update-contributors.yml → book-update-contributors.yml

Updated references:
- All workflow_call and uses: references updated to new names
- Path filters updated to reference renamed workflow files
- API URL in book-deploy-preview.yml updated

Shared workflows (unchanged):
- cleanup-caches.yml (repository-wide)
- container-health-check.yml (shared infrastructure)
- link-check.yml (shared validation)

This organization enables:
- Clear separation between book and TinyTorch workflows
- Path-based filtering to prevent cross-triggering
- Easier identification of project-specific vs shared workflows
2025-12-05 15:46:41 -08:00