Skip to content

fix(connect): correct rmd, jupyter, and shiny content bundles#207

Merged
ian-flores merged 6 commits intomainfrom
fix-connect-content-deploy
Apr 22, 2026
Merged

fix(connect): correct rmd, jupyter, and shiny content bundles#207
ian-flores merged 6 commits intomainfrom
fix-connect-content-deploy

Conversation

@ian-flores
Copy link
Copy Markdown
Collaborator

@ian-flores ian-flores commented Apr 21, 2026

Summary

Three content-deploy test bugs, all in src/vip_tests/connect/test_content_deploy.py:

Test plan

Fixes #181
Fixes #180
Fixes #179

- test_deploy_rmarkdown: populate `packages` with rmarkdown+knitr so
  Connect's packrat parser finds the expected `Package` column instead
  of erroring on an empty `packages: {}` dict.
- test_deploy_jupyter: add `entrypoint` and a `files` block with MD5
  checksums to the jupyter-static manifest so nbconvert receives the
  notebook filename.
- test_deploy_shiny: replace the incorrect `bootstraplib` HTML marker
  with `vip test`, the text the Shiny app actually renders.

Fixes #181
Fixes #180
Fixes #179
Copilot AI review requested due to automatic review settings April 21, 2026 21:59
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Connect content-deploy BDD tests to generate more realistic content bundles/manifests so deployments render correctly for R Markdown, Jupyter, and Shiny.

Changes:

  • Populate the R Markdown manifest’s packages block to avoid packrat lock parsing errors.
  • Fix the Jupyter jupyter-static manifest by adding entrypoint and a files checksum block so nbconvert receives the notebook filename.
  • Update the Shiny expected-output marker to match actual rendered app output.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +451 to +453
# The test app renders `fluidPage("vip test")`, so the text "vip test"
# appears inside the HTML. We also check for "shiny" as a framework
# marker (present in the framework-injected <script> tags).
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment says the Shiny test app renders fluidPage("vip test"), but the bundle created above uses fluidPage("VIP test"). Since the marker check is case-insensitive this won’t break the test, but the comment is currently inaccurate—update it to match the actual app code (or note that the assertion lowercases content).

Suggested change
# The test app renders `fluidPage("vip test")`, so the text "vip test"
# appears inside the HTML. We also check for "shiny" as a framework
# marker (present in the framework-injected <script> tags).
# The test app renders `fluidPage("VIP test")`; the marker check
# lowercases content, so the lowercase text "vip test" still matches.
# We also check for "shiny" as a framework marker (present in the
# framework-injected <script> tags).

Copilot uses AI. Check for mistakes.
Comment on lines +255 to +259
# Connect's jupyter-static renderer uses ``entrypoint`` (and a ``files``
# block listing every bundled file with an MD5 checksum) to find the
# notebook to pass to ``nbconvert``. ``primary_document`` alone is
# insufficient: if ``files`` is missing or ``entrypoint`` is unset,
# nbconvert is invoked with an empty filename argument.
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment says the files block lists “every bundled file”, but this bundle also includes manifest.json and it isn’t listed under files. Either add manifest.json to the files mapping or adjust the wording (and PR description) so it doesn’t imply full coverage.

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown

📸 Preview Screenshots — PR #207

10 screenshots captured from PR preview deployments.


🌐 Website Preview

https://posit-dev.github.io/vip/pr-preview-site/pr-207/

Report Details · view page

Report Details

Example Report · view page

Example Report

Feature Matrix · view page

Feature Matrix

Getting Started · view page

Getting Started

Report Page · view page

Report Page

Shiny App · view page

Shiny App

Tests · view page

Tests

Home · view page

Home


📊 Report Preview

https://posit-dev.github.io/vip/pr-preview/pr-207/

Report Details · view page

Report Details

Home · view page

Home


📋 All captured URLs (10 total)

report-pr-preview_pr-207_details.html.png
https://posit-dev.github.io/vip/pr-preview/pr-207/details.html

report-vip_pr-preview_pr-207.png
https://posit-dev.github.io/vip/pr-preview/pr-207/

website-pr-207_example-report_details.html.png
https://posit-dev.github.io/vip/pr-preview-site/pr-207/example-report/details.html

website-pr-preview-site_pr-207_example-report.png
https://posit-dev.github.io/vip/pr-preview-site/pr-207/example-report/

website-pr-preview-site_pr-207_feature-matrix.png
https://posit-dev.github.io/vip/pr-preview-site/pr-207/feature-matrix/

website-pr-preview-site_pr-207_getting-started.png
https://posit-dev.github.io/vip/pr-preview-site/pr-207/getting-started/

website-pr-preview-site_pr-207_report.png
https://posit-dev.github.io/vip/pr-preview-site/pr-207/report/

website-pr-preview-site_pr-207_shiny-app.png
https://posit-dev.github.io/vip/pr-preview-site/pr-207/shiny-app/

website-pr-preview-site_pr-207_tests.png
https://posit-dev.github.io/vip/pr-preview-site/pr-207/tests/

website-vip_pr-preview-site_pr-207.png
https://posit-dev.github.io/vip/pr-preview-site/pr-207/

Generated by Capture preview screenshots for PRs · ● 3.2M ·

@github-actions
Copy link
Copy Markdown

📸 Preview Screenshots — PR #207

9 screenshots captured across 2 preview sites. Assets will be available after this workflow completes.

⚠️ Note: The full-page report index screenshot (18 MB) exceeded the 10 MB upload limit. A viewport screenshot and a cropped version (top 6000px) are provided instead.


🌐 Website Preview

Page URL
Home https://posit-dev.github.io/vip/pr-preview-site/pr-207/
Getting Started https://posit-dev.github.io/vip/pr-preview-site/pr-207/getting-started/
Shiny App https://posit-dev.github.io/vip/pr-preview-site/pr-207/shiny-app/
Tests https://posit-dev.github.io/vip/pr-preview-site/pr-207/tests/
Feature Matrix https://posit-dev.github.io/vip/pr-preview-site/pr-207/feature-matrix/
Report https://posit-dev.github.io/vip/pr-preview-site/pr-207/report/

Home
website home

Getting Started
website getting started

Shiny App
website shiny app

Tests
website tests

Feature Matrix
website feature matrix

Report page
website report


📊 Validation Report Preview

Page URL
Index (viewport) https://posit-dev.github.io/vip/pr-preview/pr-207/
Details https://posit-dev.github.io/vip/pr-preview/pr-207/details.html

Report Index (viewport)
report index viewport

Report Index (top 6000px)
report index top

Report Details
report details


Summary

Count
Screenshots uploaded 9
Pages captured 8
Failed 0

Full-page report index (18 MB) exceeded 10 MB limit — viewport + cropped versions provided.

Generated by Capture preview screenshots for PRs · ● 4.4M ·

@ian-flores ian-flores marked this pull request as ready for review April 22, 2026 14:16
@ian-flores ian-flores merged commit bf4854f into main Apr 22, 2026
21 checks passed
@ian-flores ian-flores deleted the fix-connect-content-deploy branch April 22, 2026 16:19
@github-actions
Copy link
Copy Markdown

PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-04-22 16:19 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants