# DEV: Gitpod integration
See original GitHub issueWe would like to introduce gitpod integration, as a development environment quick start.
Gitpod can provide new contributors, with quick automated, and ready-to-code development environments. Instead of sending them to read your documentation for setup, how about telling them to click/tap a button, and pick an issue, they can already start to work on their first PR?
It may also be useful for experienced contributors, who work on many projects. They might notice something they can quickly make a PR on, but not have the time to open your contributor guide just now.
A gitpod saves you setup time and gets you to contribute your changes faster.
pandas already has a working Docker image, so making the custom gitpod Docker image was relatively easy. I have prepared a docker image and yml file to get things going. There are still a few more steps to complete the integration setup.
Next steps
- Open a pandas DockerHub/Quay.io organization account, or use the GitHub container registry, to add the gitpod docker image there
- Add the gitpod gitpod yml file in the repository root
- Create a Github Action for prebuilding the gitpod docker image and uploading it to DockerHub,
- nebari’s docker actions builds to both quay.io and GH container registery
- scipy and NumPy’s gitpod actions build to DockerHub
- Test the workflow is working correcly and adjust as needed.
- Write documentation for using Gitpod, as well as guidance on which account to use:
- SciPy, and Numpy Gitpod Documentation
- Any maintainer and active OSS contributor can apply for the open source account.
- New contributors may use the free account which provides 50 hours/month, up to 4 parallel workspaces, and 30mins timeout on inactivity.
Attachments
- DockerfileGitpod
- The original pandas docker file, but extended to become a Gitpod! We opted for a Gitpod with prebuilds for fast loading. This requires adding the GitHub action to generate the Docker image each time the repository is updated.
- gitpod.yml
- This file still needs tweaking based on where we decide to place the docker images generated. It also has a few configurations for vscode extensions, which can be pre-configured for the gitpod. We can make make a few more tweaks as we finalize the setup.
The docker was tested locally as follows: by replacing $gh_username
in the dockerfile with your GitHub username, you should be able to run the DockerfileGitpod with the command docker build . -f DockerfileGitpod
(from the working directory the file is located in). It can be fiddly on M1 macs 🚨.
Issue Analytics
- State:
- Created a year ago
- Reactions:1
- Comments:8 (8 by maintainers)
Top GitHub Comments
Okay cool!
Dockerhub (free) account has some limits (100/200 pulls per 6 hours should be okay) https://docs.docker.com/docker-hub/download-rate-limit/
The Github Container Registry isn’t as clear to me what quotas exist, but it appears we have to pay for storing images? https://docs.github.com/en/billing/managing-billing-for-github-packages/about-billing-for-github-packages
I asked on their discord. Will get back to you ☺️