Skip to content

Commit c1d8732

Browse files
authored
docs(contributing): add code integration journey graph (#2685)
1 parent 51a20a3 commit c1d8732

File tree

1 file changed

+58
-6
lines changed

1 file changed

+58
-6
lines changed

CONTRIBUTING.md

+58-6
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,9 @@
1818

1919
# Contributing Guidelines
2020

21-
Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, correction, or additional
22-
documentation, we greatly value feedback and contributions from our community.
21+
<!-- markdownlint-disable MD013 -->
22+
Thank you for your interest in contributing to our project. Whether it's a [bug report](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=bug%2Ctriage&projects=&template=bug_report.yml&title=Bug%3A+TITLE), [new feature](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=feature-request%2Ctriage&projects=&template=feature_request.yml&title=Feature+request%3A+TITLE), [correction](https://github.com/aws-powertools/powertools-lambda-python/issues/new/choose), or [additional documentation](https://github.com/aws-powertools/powertools-lambda-python/issues/new?assignees=&labels=documentation%2Ctriage&projects=&template=documentation_improvements.yml&title=Docs%3A+TITLE), we greatly value feedback and contributions from our community.
23+
<!-- markdownlint-enable MD013 -->
2324

2425
Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
2526
information to effectively respond to your bug report or contribution.
@@ -28,8 +29,9 @@ information to effectively respond to your bug report or contribution.
2829

2930
We welcome you to use the GitHub issue tracker to report bugs, suggest features, or documentation improvements.
3031

31-
When filing an issue, please check existing open, or recently closed, issues to make sure somebody else hasn't already
32-
reported the issue. Please try to include as much information as you can.
32+
<!-- markdownlint-disable MD013 -->
33+
[When filing an issue](https://github.com/aws-powertools/powertools-lambda-python/issues/new/choose), please check [existing open](https://github.com/aws-powertools/powertools-lambda-python/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc), or [recently closed](https://github.com/aws-powertools/powertools-lambda-python/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed), issues to make sure somebody else hasn't already reported the issue. Please try to include as much information as you can.
34+
<!-- markdownlint-enable MD013 -->
3335

3436
## Contributing via Pull Requests
3537

@@ -39,6 +41,56 @@ Contributions via pull requests are much appreciated. Before sending us a pull r
3941
2. You check existing open, and recently merged pull requests to make sure someone else hasn't addressed the problem already.
4042
3. You open an [issue](https://github.com/aws-powertools/powertools-lambda-python/issues/new/choose) before you begin any implementation. We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.
4143

44+
At a high level, these are the steps to get code merged in the repository - don't worry, nearly all of them are automated.
45+
46+
```mermaid
47+
timeline
48+
title Code integration journey (CI)
49+
Project setup <br> (make dev) : Code checkout
50+
: Virtual environment
51+
: Dependencies
52+
: Git pre-commit hooks
53+
: Local branch
54+
: Local changes
55+
: Local tests
56+
57+
Pre-commit checks <br> (git commit) : Merge conflict check
58+
: Trailing whitespaces
59+
: TOML checks
60+
: Code linting (standards)
61+
: Markdown linting
62+
: CloudFormation linting
63+
: GitHub Actions linting
64+
: Terraform linting
65+
: Secrets linting
66+
67+
Pre-Pull Request <br> (make pr) : Code linting
68+
: Docs linting
69+
: Static typing analysis
70+
: Tests (unit|functional|perf)
71+
: Security baseline
72+
: Complexity baseline
73+
: +pre-commit checks
74+
75+
Pull Request <br> (CI checks) : Semantic PR title check
76+
: Related issue check
77+
: Acknowledgment check
78+
: Code coverage diff
79+
: Contribution size check
80+
: Contribution category check
81+
: Dependency vulnerability check
82+
: GitHub Actions security check
83+
: +pre-pull request checks
84+
85+
After merge <br> (CI checks) : End-to-end tests
86+
: Longer SAST check
87+
: Security posture check (scorecard)
88+
: GitHub Actions security check
89+
: Rebuild Changelog
90+
: Deploy staging docs
91+
: Update draft release
92+
```
93+
4294
### Dev setup
4395

4496
[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/from-referrer/)
@@ -76,7 +128,7 @@ You might find useful to run both the documentation website and the API referenc
76128
| Category | Convention |
77129
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
78130
| **Docstring** | We use a slight variation of Numpy convention with markdown to help generate more readable API references. |
79-
| **Style guide** | We use black as well as [Ruff](https://beta.ruff.rs/docs/) to enforce beyond good practices [PEP8](https://pep8.org/). We use type annotations and enforce static type checking at CI (mypy). |
131+
| **Style guide** | We use black as well as [Ruff](https://beta.ruff.rs/docs/) to enforce beyond good practices [PEP8](https://pep8.org/). We use type annotations and enforce static type checking at CI (mypy). |
80132
| **Core utilities** | Core utilities use a Class, always accept `service` as a constructor parameter, can work in isolation, and are also available in other languages implementation. |
81133
| **Utilities** | Utilities are not as strict as core and focus on solving a developer experience problem while following the project [Tenets](https://docs.powertools.aws.dev/lambda/python/#tenets). |
82134
| **Exceptions** | Specific exceptions live within utilities themselves and use `Error` suffix e.g. `MetricUnitError`. |
@@ -100,7 +152,7 @@ We group tests in different categories
100152

101153
## Finding contributions to work on
102154

103-
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/help wanted/invalid/question/documentation), looking at any 'help wanted' issues is a great place to start.
155+
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/help wanted/invalid/question/documentation), [looking at any 'help wanted' issues is a great place to start](https://github.com/orgs/aws-powertools/projects/3/views/5?query=is%3Aopen+sort%3Aupdated-desc).
104156

105157
## Code of Conduct
106158

0 commit comments

Comments
 (0)