-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
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
BLD: Update Gitpod to use docker installation flow and pip/meson for setup #54046
Conversation
Thanks for picking this up. This looks good to me. One comment though: While theoretically using the Dockerfile would be fine, some dependencies such as pyarrow and numba are a PITA to install, which is why I'd recommend using conda, and figuring out a way for it to update dependencies based on the environment.yaml. If it works with the Dockerfile (you probably want to verify that all tests pass in Gitpod), I'm fine with leaving it as is, though. |
I can look into a better way to set up conda for this. These are the results of the run of the full suite of tests with current gitpod configuration:
From what I saw, it looks like all of the errors/failures are connection failures like this:
I'll run the tests again in my local environment to see if I get the same number of failures/exceptions. My understanding is that some tests shouldn't pass without more configuration: I'll also save the output to a log file next time. |
Just to update--I cannot get the full suite of tests to run in my local docker environment without the process being killed prematurely, but I was able to run the following tests, which are the isolated the failures/errors from the Gitpod full run: I've run this command in both Gitpod and my local docker installation. This dummy repo has the results of the runs: The summary is that the errors are exactly the same in both the local docker build and in Gitpod (93 connection-related errors), so I think that everything is working as expected. Just to be comprehensive, this is the full output for the Gitpod run of the entire test suite: I think that everything is working as it should. |
Thanks @theuerc |
doc/source/whatsnew/vX.X.X.rst
file if fixing a bug or adding a new feature. | not a feature/bugThe docker images on Dockerhub that are used with Gitpod are outdated by like 6 months, which is causing the build to fail in Gitpod (because the docker images are using python 3.8.16).
This is the original repo in gitpod with the issue (using the latest commit):
https://gitpod.io#https://github.com/pandas-dev/pandas/commit/457690995ccbfc5b8eee80a0818d62070d078bcf
I've made a couple changes to fix this and other errors related to the Gitpod build. This is what it looks like with the changes:
https://gitpod.io#https://github.com/pandas-dev/pandas/pull/54046
The Bigger Changes
I'm following the updated development environment creation instructions for these changes, but with the docker option instead of the mamba option (as mamba requires version pinning and causes other issues that can make it hard to maintain).
command
to resolve a small issue with pip when prebuilding with pip/meson. Strangely this prebuild issue is not present on all of the branches I was testing on.The Smaller Changes
gitpod/Dockerfile
to use the latest version of conda (though the mamba flow wouldn't be used at all anymore).Next Steps and Other Considerations
I tried to do the minimal changes to get everything working again, but it seems like the
gitpod/
folder could be gotten rid of completely. Only.gitpod.yml
,Dockerfile
, andgitpod/settings.json
are needed for Gitpod (could changegitpod/settings.json > settings.json
).gitpod/Dockerfile
,gitpod/gitpod.Dockerfile
, andgitpod/workspace_config
are customizations for the Gitpod workspace, but they have to be continually updated over time for them to work. Otherwise they just cause errors after a few months (like they're doing in the repo right now).Enabling prebuilds for branches/forks/pull-requests would be cool in the future. It would allow for instantly opening/running pull requests in a web browser. Prebuilds save about 3 minutes of time each time Gitpod is booted up. I wasn't sure if there would be cost associated with it so I didn't enable autoprebuilds for those options in the .gitpod.yml file. Right now prebuilds have to be done manually since they are only enabled for
main
.