Commit 4d6cdc8
committed
ci: containerize CI pipeline with pre-built Docker image
Add a BuildCIImage job that produces a content-hash-cached Docker image
(Ubuntu 22.04, JDK 8, conda, SBT, Spark, pre-cached datasets) published
to mmlsparkmcr.azurecr.io/synapseml/ci via Workload Identity Federation.
All test/build jobs now run inside this container, eliminating per-job
conda setup, CLI updates, and dataset downloads. Key changes:
- tools/docker/ci/Dockerfile: multi-stage image definition with pinned
Miniconda, SHA256-verified libssl1.1, tightened file permissions (755)
- pipeline.yaml: container resource, BuildCIImage job, scoped compilation
via PROJECT variable, SBT_OPTS tuning, free_disk.yml template,
succeeded() gating on DatabricksE2E condition
- build.sbt: ForkJoinPool deadlock fix for parallel test execution
- TestBase.scala: 10-minute per-test hard timeout for all test suites
(overridable in subclasses, e.g. DatabricksTestHelper uses longer)
- CodegenPlugin.scala: remove redundant root publishLocal in installPipPackage
- templates/free_disk.yml: disk cleanup helper
Note: FabricE2E intentionally excluded from containerization — it
requires Fabric SDK / sempy packages not in the CI container image.
Performance: ~59% wall-clock reduction (66m -> 27m), 33.5% total compute
savings (1228m -> 817m agent-minutes) across 59 test jobs.1 parent 0a2b0b4 commit 4d6cdc8
8 files changed
Lines changed: 313 additions & 71 deletions
File tree
- core/src/test/scala/com/microsoft/azure/synapse/ml/core/test/base
- project
- templates
- tools/docker/ci
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | | - | |
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
| 98 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
108 | 113 | | |
109 | 114 | | |
110 | 115 | | |
| |||
Lines changed: 13 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
150 | | - | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
151 | 162 | | |
152 | 163 | | |
153 | 164 | | |
| |||
0 commit comments