Skip to content

Course-package refresh + quarto/python smoke test (v1.1.4) - #33

Merged
davidkane9 merged 2 commits into
mainfrom
refresh-1.1.4
Aug 22, 2026
Merged

Course-package refresh + quarto/python smoke test (v1.1.4)#33
davidkane9 merged 2 commits into
mainfrom
refresh-1.1.4

Conversation

@davidkane9

Copy link
Copy Markdown
Contributor

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 .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 it really executed with pandas importable.

Validation: run 32547809831 green, with quarto python-chunk render OK in the log. (First attempt, 32544605003, failed on the new test only — su rstudio -c resets 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

davidkane9 and others added 2 commits August 21, 2026 20:33
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>
Copilot AI lite review requested due to automatic review settings August 22, 2026 09:36
@davidkane9
davidkane9 merged commit 976808b into main Aug 22, 2026
2 checks passed
@davidkane9
davidkane9 deleted the refresh-1.1.4 branch August 22, 2026 09:36

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

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_REFRESH to 2026-08-22 to force rebuild of the course-package install layer.
  • Added a new Python/Quarto smoke test that runs quarto render as rstudio and 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 thread Dockerfile
Comment on lines +603 to +606
'---' \
'title: py-engine smoke' \
'format: html' \
'---' \
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