Apply CFSClean network isolation to AndroidX pipelines - #1541
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The change is minimal, syntactically valid in context, and aligns with the described template-level placement/validation for enforcing the intended network isolation policy.
Pull request overview
Updates the shared Azure DevOps pipeline entry point to apply the required CFS/SFI network isolation posture for AndroidX builds via the 1ES template extends.parameters.settings surface, without duplicating settings across jobs/stages.
Changes:
- Added
settings.networkIsolationPolicy: Permissive,CFSCleanunder the 1ES templateextends.parametersinazure-pipelines.yml.
File summaries
| File | Description |
|---|---|
| azure-pipelines.yml | Adds the 1ES settings.networkIsolationPolicy parameter so generated jobs run under the intended network isolation policy set. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
|
CI validation results:
The first trusted attempt (15183877) hit a transient HTTP 429 during Binderator resolution; the retry completed package generation, build, and tests successfully under network isolation. |
|
@dalexsoto review |
dalexsoto
left a comment
There was a problem hiding this comment.
Validated the shared 1ES settings placement and end-to-end pipeline behavior: CFSClean is enforced alongside the required CFSClean2/3 policies, and the observed signing failure reproduces on main.
Summary
networkIsolationPolicy: Permissive,CFSCleanCFSClean2andCFSClean3policies without adding public-feed allowlistsRationale
This applies the required SFI/CFS network-isolation posture at
extends.parameters.settings, the single shared placement used by both the official production template and unofficial PR template selection. Keeping the setting at the root avoids duplicating it across jobs or stages.The separate
azure-pipelines-public.ymlentry point does not extend a 1ES pipeline template, so it is not an applicable network-isolation policy surface.Validation
Azure DevOps AndroidX validation:
networkIsolationMode: EnforcewithpolicyName: Permissive,CFSCleanon generated jobs.Start Network Isolationlog invokedEnforce -Policies Permissive,CFSClean, selectedPermissiveandCFSCleanfrom pipeline arguments, retainedCFSClean2andCFSClean3fromPerPipelineRequiredConfig, and ended withSuccessfully completed 'Enforce' command.Local YAML diff validation:
git diff --check.