Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add jupyter intergration testing to CI #350

Merged
merged 61 commits into from
Feb 9, 2023
Merged

Conversation

kgartland-rstudio
Copy link
Contributor

@kgartland-rstudio kgartland-rstudio commented Feb 9, 2023

Description

rsconnect-jupyter uses rsconnect-python to add servers and deploy content. Due to this dependency, we've had to manually test rsconnect-jupyter for all rsconnect-python releases. This can cause delays in the release process or defects in rsconnect-jupyter if not properly tested. Adding tests in CI protects us from making breaking changes to rsconnect-jupyter. This will also set us up to test for voila mode in rsconnect-jupyter.

Motivation and Context

We've had to hold releases or release patches in the past to fix breaking changes in rsconnect-jupyter.

How Has This Been Tested?

The tests are currently passing:
https://github.com/rstudio/rsconnect-python/actions/runs/4135755212

Cypress failures cause CI to fail:
https://github.com/rstudio/rsconnect-python/actions/runs/4135608575

In the intergration-testing directory, run:
just build && just up && just up-cypress

just build build the docker images (client, cypress)
just up will start the docker images (client, connect)
just up-cypress will start the cypress docker image and run the tests.

  • The client container is where rsconnect-python and rsconnect-jupyter packages are installed. rsconnect-jupyter installs on the just build command where the current dev build of rsonnect-python gets installed on the just up command so rebuilding isn't necessary to get the current rsconnect-python dev build.

  • The connect container is pulled from docker hub with the latest version of Posit Connect.

  • The cypress container runs cypress version 12.0.0 and tests all defined specs on the just up-cypress command.

Fixes #351

Screenshots (if appropriate):

Types of Changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • CI Changes

Checklist:

  • I have added tests to cover my changes.
  • I have updated CHANGELOG.md to cover notable changes.

.github/workflows/main.yml Outdated Show resolved Hide resolved
.github/workflows/main.yml Outdated Show resolved Hide resolved
Copy link
Collaborator

@tdstein tdstein left a comment

Choose a reason for hiding this comment

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

LGTM! All of my comments are minor questions.

@kgartland-rstudio kgartland-rstudio merged commit a1af195 into master Feb 9, 2023
@kgartland-rstudio kgartland-rstudio deleted the kg-integration branch February 9, 2023 21:16
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.

rsconnect-jupyter + rsconnect-python integration tests
3 participants