Course-package refresh + quarto/python smoke test (v1.1.4) - #33
Merged
Conversation
COURSE_PKG_REFRESH → 2026-08-22 so the course layer rebuilds and bakes the 30 commits landed across the four PPBDS packages since v1.1.3 (misc.tutorials 14, vscode.tutorials 12, primer.tutorials 3, tutorial.helpers 1). New smoke test 3 in the Python section: quarto renders a .qmd Python chunk via the jupyter engine, as rstudio, from the CLI. This makes falsifiable the claim behind dropping the VS Code Python extensions in codespace-starter — that nothing students actually do depends on them. The chunk writes a file rather than asserting on rendered HTML, so a pass means the chunk really executed with pandas importable. NOT released; awaiting David's go. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
First run (build 32544605003) failed with "Jupyter is not available in this Python installation": `su rstudio -c` resets PATH on Debian, so /opt/venv/bin — which this image's ENV puts first — was dropped and quarto fell back to the system python3 with no jupyter/yaml. Pass PATH through explicitly and document the trap; the pip test above avoids it with an absolute path for the same reason. Test-harness bug only. Students inherit the container ENV in their terminals, so the capability under test was never actually broken. Everything upstream of this step passed, including the refreshed course packages and their Suggests contract. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the devcontainer image’s baked-in course packages by bumping the COURSE_PKG_REFRESH cache-bust date, and adds a new Docker build-time smoke test that validates Quarto can render a .qmd containing a Python chunk via the Jupyter engine when run as the non-root rstudio user.
Changes:
- Bumped
COURSE_PKG_REFRESHto2026-08-22to force rebuild of the course-package install layer. - Added a new Python/Quarto smoke test that runs
quarto renderasrstudioand asserts a Python chunk executed successfully.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+603
to
+606
| '---' \ | ||
| 'title: py-engine smoke' \ | ||
| 'format: html' \ | ||
| '---' \ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refreshes the baked course packages (
COURSE_PKG_REFRESH→ 2026-08-22), picking up the ~30 commits landed since v1.1.3 — notably misc.tutorials "major R4DS clean up; ready for new codespace image release" and vscode.tutorials "new codespace image".Adds smoke test 3: Quarto renders a
.qmdPython chunk via the jupyter engine, asrstudio, from the CLI. This makes falsifiable the claim behind dropping the VS Code Python extensions in codespace-starter — that nothing students actually do depends on them. The chunk writes a file rather than asserting on rendered HTML, so a pass means it really executed with pandas importable.Validation: run 32547809831 green, with
quarto python-chunk render OKin the log. (First attempt, 32544605003, failed on the new test only —su rstudio -cresets PATH and hid the venv from Quarto; harness bug, fixed and documented in place.)Release v1.1.4 to follow on merge.
🤖 Generated with Claude Code