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

chore(governance): add pre-configured dev environment with GitPod.io to ease contributions #1403

Merged
merged 11 commits into from
Aug 3, 2022

Conversation

leandrodamascena
Copy link
Contributor

@leandrodamascena leandrodamascena commented Aug 2, 2022

Issue number: #1361

Summary

Added GitPod.io support for external contributions to make creating a development environment easier

Changes

Please provide a summary of what's being changed

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

image

User experience

Please share what the user experience looks like before and after this change

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:

  • Migration process documented
  • Implement warnings (if it can live side by side)

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

@leandrodamascena leandrodamascena requested a review from a team as a code owner August 2, 2022 01:00
@leandrodamascena leandrodamascena requested review from heitorlessa and removed request for a team August 2, 2022 01:00
@boring-cyborg boring-cyborg bot added the internal Maintenance changes label Aug 2, 2022
@pull-request-size pull-request-size bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Aug 2, 2022
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.
Copy link
Contributor Author

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 🙏

Copy link
Contributor

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 :)

Copy link
Contributor Author

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.

Copy link
Contributor

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:

  1. Create a new branch to focus on the specific change you are contributing e.g. improv/logger-debug-sampling
  2. 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
  3. Commit to your fork using clear commit messages.
  4. Send us a pull request with a conventional semantic title, and answering any default questions in the pull request interface.
  5. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.

Copy link
Contributor

@rubenfonseca rubenfonseca left a 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!

.gitpod.yml Outdated Show resolved Hide resolved
.gitpod.Dockerfile Outdated Show resolved Hide resolved
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.
Copy link
Contributor

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 :)

Makefile Show resolved Hide resolved
Copy link
Contributor

@heitorlessa heitorlessa left a 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.yml Show resolved Hide resolved
@@ -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
Copy link
Contributor

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

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@pull-request-size pull-request-size bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Aug 2, 2022
Copy link
Contributor

@rubenfonseca rubenfonseca left a 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!

CONTRIBUTING.md Outdated Show resolved Hide resolved
@leandrodamascena
Copy link
Contributor Author

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. 🥇

@heitorlessa
Copy link
Contributor

Thank you so much @leandrodamascena for taking it this far (and addressing all feedbacks). Merging!

@heitorlessa heitorlessa changed the title chore(maintenance): Add GitPod.io support for external contributions chore(governance): add pre-configured dev environment with GitPod.io to ease contributions Aug 3, 2022
@heitorlessa heitorlessa merged commit bb1eda7 into aws-powertools:develop Aug 3, 2022
@boring-cyborg
Copy link

boring-cyborg bot commented Aug 3, 2022

Awesome work, congrats on your first merged pull request and thank you for helping improve everyone's experience!

@leandrodamascena
Copy link
Contributor Author

Thank you so much @leandrodamascena for taking it this far (and addressing all feedbacks). Merging!

Thanks also @heitorlessa for insights and helping me make this PR even better. ✈️

@leandrodamascena leandrodamascena deleted the chore/gitpod-dev branch August 3, 2022 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
internal Maintenance changes size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants