fix(compile): address pool review feedback#541
Conversation
GitHub only recognizes workflows under the repository root's .github/workflows/ directory. The deploy-docs.yml was nested inside docs-site/.github/workflows/ which GitHub ignores. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix setup/teardown job multi-line pool indentation: use
replace_with_indent instead of format! so 1ES pool strings
(name + os) are properly indented under pool:
- Gate absent-pool codemod injection on target: 1es only. New
standalone pipelines that omit pool: now correctly get the
vmImage: ubuntu-latest default instead of the legacy 1ES pool.
- Add comment and test for pool: {} (empty object) edge case in
resolve_pool_block
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
🔍 Rust PR ReviewSummary: Looks good — all three fixes are correct and well-tested. Findings✅ What Looks Good
|
Summary
Addresses review feedback on the pool front-matter changes. Three fixes:
🐛 Bug: Setup/teardown job multi-line pool indentation
generate_setup_jobandgenerate_teardown_jobusedformat!to embed the pool string. For 1ES targets, the pool resolves to a multi-line string ("name: AZS-1ES-L-MMS-ubuntu-22.04\nos: linux"), causing broken YAML:Fix: Switched to
replace_with_indentwhich correctly indents continuation lines.🐛 Bug: Absent-pool codemod injected for all targets
The
pool_object_formcodemod force-injectedpool: { name: AZS-1ES-L-MMS-ubuntu-22.04 }wheneverpool:was absent, regardless of target. This broke new standalone pipelines that intentionally omitpool:to get the newvmImage: ubuntu-latestdefault.Fix: Gate absent-pool injection on
target: 1esin the front matter. Non-1ES targets now correctly inherit thevmImage: ubuntu-latestdefault.The
(None, None)branch inresolve_pool_block(reached viapool: {}) silently fell back tovmImage: ubuntu-latestwith no documentation.Fix: Added a clarifying comment and a dedicated test for this edge case.
Test Plan
pool: {})