feat: Move APM dependency resolution to activation job via pack/unpack#20385
feat: Move APM dependency resolution to activation job via pack/unpack#20385
Conversation
- Add Isolated field to APMDependenciesInfo struct
- Support object format {packages, isolated} in extractAPMDependenciesFromFrontmatter
- Replace GenerateAPMDependenciesStep with GenerateAPMPackStep + GenerateAPMRestoreStep
- Add EngineToAPMTarget helper (copilot→copilot, claude→claude, other→all)
- Emit pack step in activation job with separate 'apm' artifact upload
- Emit download + restore steps in agent job
- Update tests and documentation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
- Add GetAPMTarget() to WorkflowExecutor interface with BaseEngine default "all" - CopilotEngine.GetAPMTarget() returns "copilot" - ClaudeEngine.GetAPMTarget() returns "claude" - Remove free function EngineToAPMTarget - compiler_activation_job uses engine.GetAPMTarget() directly Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot add microsoft/compliance-rules package to smoke-claude agentic workflow. |
…orkflow Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done in dfb7260. Added |
|
✅ All tools validated successfully! Agent Container Smoke Test confirms agent container is ready. |
|
🌑 The shadows whisper... Smoke Codex failed. The oracle requires further meditation... |
|
💥 WHOOSH! Smoke Claude springs into action on this pull request! [Panel 1 begins...] |
|
📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing... |
This comment has been minimized.
This comment has been minimized.
|
Smoke Test Results for run §22918207837 —
Overall: ❌ FAIL — Serena MCP tools unavailable
|
There was a problem hiding this comment.
APM dependency resolution moved to the activation job — solid architectural improvement. Two inline notes left: one on the smoke-claude dependency addition, one on the isolated flag docs. Overall this is a well-structured change.
📰 BREAKING: Report filed by Smoke Copilot
|
📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤 |
|
Commit pushed:
|
|
@copilot update apm-actions v1.3.1 , recompile |
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Done in 8e6f753. Updated Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
🤖 Smoke test run §22953085519 — PARTIAL (core all pass, 3 skipped) Core (#1–10): ✅✅✅✅✅✅✅✅✅✅ Skipped: #14 (PRRT node IDs), #16 (on main branch), #17 (no safe PR to close)
|
This comment has been minimized.
This comment has been minimized.
|
Hey
Could you split these into separate focused PRs? Something like:
This would make each change much easier to review and merge individually. The core APM work looks great — just needs some untangling! 🙏
|
…ndency-resolution
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
* Initial plan * feat: Reimplement APM artifact pack/unpack support from PR #20385 Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> * Add changeset [skip-ci] --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> Co-authored-by: Peli de Halleux <pelikhan@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
APM dependencies were resolved at agent-job runtime — slow, network-dependent, and non-deterministic across retries. This moves resolution to the activation job (pack) and unpacking to the agent job (restore) via a separate
apmartifact.New compilation output
Activation job — pack step + artifact upload:
Agent job — download + restore:
Changes
APMDependenciesInfo— addsIsolated boolfieldextractAPMDependenciesFromFrontmatter— adds object format support alongside existing array format:apm_dependencies.go— replacesGenerateAPMDependenciesStepwithGenerateAPMPackStepandGenerateAPMRestoreStepWorkflowExecutorinterface — addsGetAPMTarget() stringmethod;BaseEnginedefaults to"all",CopilotEnginereturns"copilot",ClaudeEnginereturns"claude"; the APM target is inferred from the engine at compile time rather than via a standalone mapping functioncompiler_activation_job.go— emits pack step (usingengine.GetAPMTarget()) and separateapmartifact upload after prompt generationcompiler_yaml_main_job.go— replaces old install step with artifact download + restorefrontmatter.md— documents new object format and pack/unpack behaviorsmoke-claude.md— addsmicrosoft/apm-sample-packageas an APM dependency to exercise the pack/restore path in the smoke test workflow🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.
Changeset
Warning
The following domains were blocked by the firewall during workflow execution:
ab.chatgpt.comfd.fxlcf.dpdns.orgTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.
Changeset
apmartifact so agent jobs use a deterministic dependency bundle.Warning
The following domains were blocked by the firewall during workflow execution:
ab.chatgpt.comcodeload.fd.fxlcf.dpdns.orgfd.fxlcf.dpdns.orgTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.
Changeset
apmartifact for deterministic agent jobs.Warning
The following domains were blocked by the firewall during workflow execution:
ab.chatgpt.comfd.fxlcf.dpdns.orgTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.
✨ PR Review Safe Output Test - Run 22953085519