-
Notifications
You must be signed in to change notification settings - Fork 407
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
chore(governance): add pre-configured dev environment with GitPod.io to ease contributions #1403
chore(governance): add pre-configured dev environment with GitPod.io to ease contributions #1403
Conversation
CONTRIBUTING.md
Outdated
@@ -36,6 +36,8 @@ To send us a pull request, please follow these steps: | |||
5. Send us a pull request with a [conventional semantic title](https://github.com/awslabs/aws-lambda-powertools-python/pull/67), and answering any default questions in the pull request interface. | |||
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation. | |||
|
|||
Optionally you can use [Gitpod](https://gitpod.io/) to have a pre-configured dev environment. If you choose to use Gitpod, there is no need to install anything on your machine, as the environment will be pre-configured with all necessary dependencies. |
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.
Hello @heitorlessa and @rubenfonseca. I'm really not sure if this information is enough to make it clear how to use Gitpod.io or we should create a section to explain how Gitpod works and how to use it. I need help 🙏
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.
Hi Leandro! This is great, but I'm not familiar with gitpod, and after reading this paragraph I don't know what I have to do exactly. Do I need to click somewhere? Do I have to go to gitpod.io instead? Some extra instructions would help a lot :)
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.
Hello Rubens! Currently we need to fork the repository, install all dependencies locally and start coding, basically using Gitpod we just need to fork the repository and click on that badge and everything is ready to start coding.
To contribute to the project this document guides us through 7 steps and using Gitpod basically changes step 2 because we no longer need to install dependencies locally.
What do you think about this:
Optionally you can use [Gitpod](https://gitpod.io/) to have a pre-configured dev environment. If you choose to use Gitpod, there is no need to install anything on your machine, as the environment will be pre-configured with all necessary dependencies. To gain access to a pre-configured environment using Gitpod, simply fork the repository and click the Gitpod badge in the README.md file.
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.
I'd suggest updating the entire section and use something along these lines. This makes our recommendation to use our pre-configured env explicit, give them recommendations on how to create against their fork (not ours, or else their push will fail), and keeping the remaining steps applicable for both.
The only thing I kinda miss is having a link for people unfamiliar with GitHub trying to create their first PR - maybe installing GitHub CLI and adding this link can raise the bar? I'm fine without it for now too.
Firstly, fork the repository.
To setup your development environment, we recommend using our pre-configured Cloud environment: https://gitpod.io/#https://github.com/YOUR_USERNAME/aws-lambda-powertools-python. Replace YOUR_USERNAME
with your GitHub username so the Cloud environment can target your fork accordingly.
Alternatively, you can use make dev
within your local virtual environment.
To send us a pull request, please follow these steps:
- Create a new branch to focus on the specific change you are contributing e.g.
improv/logger-debug-sampling
- Run all tests, and code baseline checks:
make pr
- Git hooks will run linting and formatting while
make pr
run deep checks that also run in the CI process
- Git hooks will run linting and formatting while
- Commit to your fork using clear commit messages.
- Send us a pull request with a conventional semantic title, and answering any default questions in the pull request interface.
- Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
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.
Awesome first PR @leandrodamascena, so happy for this!! Looking forward to try gitpod too and to ease the barrier for contribution. Thanks so much!
CONTRIBUTING.md
Outdated
@@ -36,6 +36,8 @@ To send us a pull request, please follow these steps: | |||
5. Send us a pull request with a [conventional semantic title](https://github.com/awslabs/aws-lambda-powertools-python/pull/67), and answering any default questions in the pull request interface. | |||
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation. | |||
|
|||
Optionally you can use [Gitpod](https://gitpod.io/) to have a pre-configured dev environment. If you choose to use Gitpod, there is no need to install anything on your machine, as the environment will be pre-configured with all necessary dependencies. |
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.
Hi Leandro! This is great, but I'm not familiar with gitpod, and after reading this paragraph I don't know what I have to do exactly. Do I need to click somewhere? Do I have to go to gitpod.io instead? Some extra instructions would help a lot :)
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.
some last adjustments before settling on wording within contributing docs.
.gitpod.Dockerfile
Outdated
@@ -0,0 +1,10 @@ | |||
# See here all gitpod images available: https://hub.docker.com/r/gitpod/workspace-python-3.10/tags | |||
# Current python version: 3.10.5 | |||
FROM gitpod/workspace-python-3.10@sha256:8a7ad4f0bbaa281a36cf2a87b772354638a14d7383f0a755b9ea32596ee99632 |
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.
Let's use 3.9. It's the latest Lambda runtime supports, we can upgrade to 3.10 when they do. Also deeply appreciate the security mindset in using an immutable image
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.
Thank you! I believe Heitor will have some comments about wording, but otherwise this is nice :) Looking forward for more!
Thank you @rubenfonseca. It will be really cool to be able to contribute more to this project that I started as a user. 🥇 |
Thank you so much @leandrodamascena for taking it this far (and addressing all feedbacks). Merging! |
Awesome work, congrats on your first merged pull request and thank you for helping improve everyone's experience! |
Thanks also @heitorlessa for insights and helping me make this PR even better. |
Issue number: #1361
Summary
Added GitPod.io support for external contributions to make creating a development environment easier
Changes
Added integration with Gitpod.io and through the badge/link in README.md it will be very simple for any contributor to configure a new environment
User experience
Before: any contributor had to clone the project, install dependencies, and set up an environment in order to start development. This generates an overhead for new people who want to contribute to the project, as even a small fix required setting up a full new environment.
After: any contributor just needs to create an environment on Gitpod using the fork URL and everything will be set up.
Checklist
If your change doesn't seem to apply, please leave them unchecked.
Is this a breaking change?
RFC issue number:
Checklist:
Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.
View rendered CONTRIBUTING.md
View rendered README.md