You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .Pipelines/CI-AND-RELEASE-PIPELINES.md
+24-11Lines changed: 24 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ including what each pipeline does, when it runs, and how to trigger a release.
11
11
|------|-------------|---------|
12
12
|[`azure-pipelines.yml`](../azure-pipelines.yml)|[MSAL.Python-PR-OneBranch-Official (3064)](https://dev.azure.com/IdentityDivision/IDDP/_build?definitionId=3064)| PR gate, post-merge CI, and performance benchmarks — calls the shared template with `runPublish: false`; runs benchmarks on post-merge pushes to `dev`|
13
13
|[`pipeline-publish.yml`](pipeline-publish.yml)|[MSAL.Python-Publish (3067)](https://dev.azure.com/IdentityDivision/IDDP/_build?definitionId=3067)| Release pipeline — manually queued, builds and publishes to PyPI |
14
-
|[`template-pipeline-stages.yml`](template-pipeline-stages.yml)| — | Shared stages template — PreBuildCheck, Validate, and CI stages reused by both pipelines |
14
+
|[`template-pipeline-stages.yml`](template-pipeline-stages.yml)| — | Shared stages template — PreBuildCheck, Validate, UnitTests, and E2ETests stages reused by both pipelines |
15
15
|[`credscan-exclusion.json`](credscan-exclusion.json)| — | CredScan suppression file for known test fixtures |
16
16
17
17
---
@@ -22,23 +22,29 @@ including what each pipeline does, when it runs, and how to trigger a release.
which runs the package build and unit tests on every PR.
33
+
29
34
### Stages
30
35
31
36
```
32
-
PreBuildCheck ─► CI ─► Benchmark (post-merge to dev only)
37
+
PreBuildCheck ─► UnitTests ─► E2ETests ─► Benchmark (post-merge to dev only)
33
38
```
34
39
35
40
| Stage | What it does | When it runs |
36
41
|-------|-------------|-------------|
37
42
|**PreBuildCheck**| Runs SDL security scans: PoliCheck (policy/offensive content), CredScan (leaked credentials), and PostAnalysis (breaks the build on findings) | Always |
38
-
|**CI**| Runs the full test suite on Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, and 3.14 | Always |
43
+
|**UnitTests**| Runs the unit test suite on Python 3.9, 3.10, 3.11, 3.12, 3.13, and 3.14 (no Key Vault required) | After PreBuildCheck |
44
+
|**E2ETests**| Fetches the MSID Lab certificate from Key Vault and runs `tests/test_e2e.py` + `tests/test_fmi_e2e.py` on the same Python matrix. Skipped on forked PRs (no Key Vault access). | After UnitTests |
39
45
|**Benchmark**| Runs performance benchmarks on Python 3.9 and publishes `benchmark-results` artifact | Post-merge pushes to `dev` and manual runs only |
40
46
41
-
The Validate stage is **skipped** on PR/CI runs (it only applies to release builds).
47
+
The `Validate` stage is **skipped** on PR/CI runs (it only applies to release builds).
42
48
43
49
> **SDL coverage:** The PreBuildCheck stage satisfies the OneBranch SDL requirement.
44
50
> It runs on every PR, every merge to `dev`, and on the daily schedule — ensuring
@@ -63,18 +69,25 @@ with both parameters filled in.
0 commit comments