-
Notifications
You must be signed in to change notification settings - Fork 35
Fix test script to use launcher.enabled and strict bash flags #792
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
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
d36943e
Fix test script to use launcher.enabled and strict bash flags
dbkegley 6215f9c
Update Python 3.11 path to 3.13.9 in Connect values.yaml
dbkegley f0fe7f0
Add step to add rstudio Helm repo in CI workflow
dbkegley c12c831
Bump Quarto default version to 1.8.25 in Connect values.yaml
dbkegley 6232b59
Bump rstudio-connect chart to version 0.8.30
dbkegley efd5df2
Fix test-connect-interpreter-versions ci
dbkegley File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this a significant change for end-users? Is there any reason to keep 3.11 around?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is. Unfortunately this config change was made upstream in the docker image's default configuration so it's too late to go back now.
https://github.com/rstudio/rstudio-docker-products/blob/b844e98dd9599754d282c5586ef67e8f99060e30/connect/rstudio-connect.gcfg#L31-L34
https://github.com/rstudio/rstudio-docker-products/blob/b844e98dd9599754d282c5586ef67e8f99060e30/connect/Dockerfile.ubuntu2204#L55-L57
https://github.com/rstudio/rstudio-docker-products/blob/b844e98dd9599754d282c5586ef67e8f99060e30/docker-bake.hcl#L104-L110
cc @ianpittwood
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, we only support 2 versions of Python? 😞
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dbkegley Connect was significantly behind the other products in its dependency versions to where I had some issues raised related to versions being out of sync. I thought I had gotten approval to make these changes, but it wasn't given enough thought as is clear by the fact I forgot to update the charts.
We should have a conversation about how we can better manage synchronizing the image config with the helm config going forward and/or accelerate our move to the new images repos. Since Helm overrides the configs in the image, which we do try to keep up to date, it's always going to have a lagging problem unless we modify our release workflow. The new images should make that process easier since it will heavily diminish our chances of making a breaking in-release change due to each release pinning to versions present when the release is initially created. We should at least add a step to check dependency versions and consider upgrades/patches when updating the image and the Helm charts, with particular scrutiny over making sure the Helm chart dependency versions will match the image dependency versions for the tag being targeted.
As @kfeinauer said, we can provide multiple Python versions in the Connect image, but it's an image size issue for rstudio-docker-products. The new images use
uvwhich significantly cuts down the Python installation size, but this repo still usespython-builds. We can include an additional version to mitigate the issue if you want, but it will inflate the image by around 700mb if memory serves. It's not as hefty as additional R versions at least.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ianpittwood Can weigh in more here, but we can support more than 2 versions of Python, but with the current way of distributing Python in the images it is quite expensive in terms of size (the new images will use uv which is much more space efficient).
We could add back in Python 3.11.13 alongside the newer 3.13.9 to prevent a breakage for customers using Helm. Should we consider going down this route (and taking the size penalty), or should we proceed with a version break?
We should have consulted you more about upgrading Python, so apologies there. Connect was very behind the other products on Python version so we decided to update to keep the products more in parity, but we understand that dropping Python versions is a big deal for Connect so we should have gotten buy-in before doing so.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Totally understand why the change was made since we were way behind. I just wanted to make sure it was flagged so we could start the discussion about how we can change the process going forward. Right now it's challenging for us to time these upgrades in order to avoid breakages. We like to coordinate the upgrades with Connect version bumps which allows us to call out the change in the image/helm release notes and give customers a chance to plan to the change proactively.
This PR fixes the CI checks that enforce this for the helm chart but we are lacking similar checks on the images repo upstream.
Given that this has been broken for a while now, I don't think we need to worry about re-adding the old version.
Agreed, let's move this discussion offline for now and make an announcement once we've reached a consensus on how we want to move forward. I think the migration to the new images is one part of the equation. I'd like to explore what it would look like to make the
minimages the helm chart defaults and rely more on executable scanning so we can eliminate the need to explicitly configure the interpreter versions.