Development repository for contributors working on the ZenML VSCode Tutorial Extension.
-
Clone & install:
git clone https://github.com/zenml-io/vscode-tutorial-extension cd vscode-tutorial-extension npm install && npm run compile
-
Open in VS Code and reopen in dev container when prompted
-
Test the extension: Press
F5
or use Run and Debug panel → "Run Extension"
The extension runs in two places:
- Development (this repo)
- User-facing (vscode-tutorial repo)
After making changes, you need to:
-
Build extension:
npm run buildExtension
This packages the extension and replaces the current one in
.devcontainer/extensions/
-
Test in user environment: Test changes in both GitHub Codespaces and local dev containers
- Extension code: Main TypeScript files
- Tutorial content:
pipelines/
directory - Tutorial structure:
tutorialMetadata.json
- Entry point:
extension.ts
→Tutorial
class
Quick text edits:
- Uncomment the "edit text" button in WebView HTML
- Edit markdown files directly
- Save (
Cmd+S
) → Reload extension (Cmd+R
)
Adding/reorganizing steps:
- Edit
tutorialMetadata.json
- Each section has steps with optional
doc
(markdown) andcode
(Python) files
Workflow: .github/workflows/test-pipelines.yml
Trigger | Action | Alert |
---|---|---|
Daily @ 09:00 UTC + on push/PR to main /develop |
Run all tutorial pipelines with latest ZenML | On any failure, sends a single message to #sre-alerts via DISCORD_WEBHOOK_SRE |
This ensures we catch any breaking changes in ZenML or our tutorials before users do.
The user-facing repository uses a pre-built Docker image for faster startup.
To update the image:
- Switch to
docker-image-build
branch - Build and push following Docker's guide
- Update
devcontainer.json
to reference new image:"image": "zenml/tutorial:latest"