Skip to content

Commit e8399c3

Browse files
authored
docs(maintainers): add cicd pipeline diagram (#2692)
1 parent 0294d8d commit e8399c3

File tree

3 files changed

+119
-15
lines changed

3 files changed

+119
-15
lines changed

.github/workflows/dispatch_analytics.yml

+16-13
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,8 @@ on:
1717
- cron: "0 * * * *"
1818

1919
permissions:
20-
id-token: write
21-
actions: read
22-
checks: read
23-
contents: write
24-
deployments: read
25-
issues: read
26-
discussions: read
27-
packages: read
28-
pages: read
29-
pull-requests: read
30-
repository-projects: read
31-
security-events: read
32-
statuses: read
20+
contents: read
21+
3322

3423
jobs:
3524
dispatch_token:
@@ -38,6 +27,20 @@ jobs:
3827
group: analytics
3928
runs-on: ubuntu-latest
4029
environment: analytics
30+
permissions:
31+
id-token: write
32+
actions: read
33+
checks: read
34+
contents: read # previously we needed `write` to use GH_TOKEN in our dispatcher (Lambda)
35+
deployments: read
36+
issues: read
37+
discussions: read
38+
packages: read
39+
pages: read
40+
pull-requests: read
41+
repository-projects: read
42+
security-events: read
43+
statuses: read
4144
steps:
4245
- name: Configure AWS credentials
4346
uses: aws-actions/configure-aws-credentials@5fd3084fc36e372ff1fff382a39b10d03659f355 # v2.2.0

.github/workflows/ossf_scorecard.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ on:
66
schedule:
77
- cron: "0 9 * * *"
88
push:
9-
branches: [$default-branch]
9+
branches: [develop]
10+
workflow_dispatch:
1011

1112
permissions: read-all
1213

MAINTAINERS.md

+101-1
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ Once complete, you can start drafting the release notes to let customers know **
198198

199199
Every release makes hundreds of checks, security scans, canaries and deployments - all of these are automated.
200200

201-
This is a close visual representation of the main steps (GitHub Actions UI should be the source of truth).
201+
This is a close visual representation of the main steps (GitHub Actions UI should be the source of truth), along with the approximate time it takes for each key step to complete.
202202

203203
<!-- use 8s to graph steps faster than 8s like seal/checksum that actually takes 0s -->
204204

@@ -258,6 +258,106 @@ section Post-release
258258
Release complete : milestone, m6, 10:31,2m
259259
```
260260

261+
If we combine our CI and CD pipelines into a single diagram, it looks like this:
262+
263+
```mermaid
264+
timeline
265+
title Powertools for AWS Lambda (Python) CI/CD pipeline
266+
267+
section Continuous Integration
268+
Project setup <br> (make dev) : Code checkout
269+
: Virtual environment
270+
: Dependencies
271+
: Git pre-commit hooks
272+
: Local branch
273+
: Local changes
274+
: Local tests
275+
276+
Pre-commit checks <br> (git commit) : Merge conflict check
277+
: Trailing whitespaces
278+
: TOML checks
279+
: Code linting (standards)
280+
: Markdown linting
281+
: CloudFormation linting
282+
: GitHub Actions linting
283+
: Terraform linting
284+
: Secrets linting
285+
286+
Pre-Pull Request <br> (make pr) : Code linting
287+
: Docs linting
288+
: Static typing analysis
289+
: Tests (unit|functional|perf)
290+
: Security baseline
291+
: Complexity baseline
292+
: +pre-commit checks
293+
294+
Pull Request <br> (CI checks) : Semantic PR title check
295+
: Related issue check
296+
: Acknowledgment check
297+
: Code coverage diff
298+
: Contribution size check
299+
: Contribution category check
300+
: Dependency vulnerability check
301+
: GitHub Actions security check
302+
: +pre-pull request checks
303+
304+
After merge <br> (CI checks) : End-to-end tests
305+
: Longer SAST check
306+
: Security posture check (scorecard)
307+
: GitHub Actions security check
308+
: Rebuild Changelog
309+
: Deploy staging docs
310+
: Update draft release
311+
312+
section Continuous Delivery
313+
314+
Source code anti-tampering : Checkout release commit code
315+
: Bump release version
316+
: Seal and upload artifact
317+
318+
Quality Assurance : Restore sealed code
319+
: +Continuous Integration checks
320+
321+
Build : Restore sealed code
322+
: Integrity check
323+
: Build release artifact
324+
: Seal and upload artifact
325+
326+
Release : Restore sealed build
327+
: Integrity check
328+
: PyPi ephemeral credentials
329+
: Publish PyPi
330+
: Baking time
331+
332+
Git tagging : Restore sealed code
333+
: Integrity check
334+
: Bump git tag
335+
: Create temporary branch
336+
: Create PR
337+
338+
Lambda Layers : Fetch PyPi release
339+
: Build x86 architecture
340+
: Build ARM architecture
341+
: Deploy Beta
342+
: Canary testing
343+
: Deploy Prod
344+
345+
Lambda Layers SAR : Deploy Beta
346+
: Deploy Prod
347+
348+
Documentation : Update Lambda Layer ARNs
349+
: Build User Guide
350+
: Build API Guide
351+
: Rebuild Changelog
352+
: Release new version
353+
: Update latest alias
354+
: Create temporary branch
355+
: Create PR
356+
357+
Post-release : Close pending-release issues
358+
: Notify customers
359+
```
360+
261361
#### Drafting release notes
262362

263363
Visit the [Releases page](https://github.com/aws-powertools/powertools-lambda-python/releases) and choose the edit pencil button.

0 commit comments

Comments
 (0)