-
Notifications
You must be signed in to change notification settings - Fork 155
shared/apm.md: support multiple GitHub Apps per workflow for multi-org private packages #983
Copy link
Copy link
Closed
Labels
area/ci-cdGitHub workflows, merge queue, gh-aw integrations, release pipeline.GitHub workflows, merge queue, gh-aw integrations, release pipeline.area/docs-sitedocs/src/content (Starlight), README, doc generation.docs/src/content (Starlight), README, doc generation.area/multi-targetMulti-target deploy spec, target directory creation, agent surface routing.Multi-target deploy spec, target directory creation, agent surface routing.enhancementDeprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.Deprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.status/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.One manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Metadata
Metadata
Assignees
Labels
area/ci-cdGitHub workflows, merge queue, gh-aw integrations, release pipeline.GitHub workflows, merge queue, gh-aw integrations, release pipeline.area/docs-sitedocs/src/content (Starlight), README, doc generation.docs/src/content (Starlight), README, doc generation.area/multi-targetMulti-target deploy spec, target directory creation, agent surface routing.Multi-target deploy spec, target directory creation, agent surface routing.enhancementDeprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.Deprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.status/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.One manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Type
Projects
Status
Done
Summary
shared/apm.mdcurrently exposes a singleapp-id/private-key/owner/repositoriesset per import (added in #982). For workflows that need to fetch private APM packages from multiple orgs using different GitHub Apps per source org, that's not enough.Two structural blockers prevent simply importing
shared/apm.mdmultiple times:jobs.apm:(fixed name), so a second import would clobber the first.actions/create-github-app-tokenis single-owner — one mint = one installation token = one owner. Multi-org access in a single token isn't possible without a cross-org GitHub App installation.Use case
A team consumes APM packages from multiple private orgs they don't own, each requiring its own GitHub App installation:
Workarounds available today
shared/apm.mdwith its own credentials. Works, but splits the agent run.app-id/private-keyshared across orgs). Still requires a separateownerper token mint, so multiple mint steps in a forkedshared/apm.md.shared/apm.mdlocally to chain Ncreate-github-app-token+ Napm-actionpack steps against the same workspace. Tractable for 2-3 orgs, ugly beyond.Design constraints
import-schemadocuments thatobjectinputs allow "one-level deep sub-fields" — arrays-of-objects are not cleanly supported and would need verification.microsoft/apm-actionmay be required.Possible designs (non-exhaustive)
apps:input, mints tokens, and invokesmicrosoft/apm-actiononce per group.shared/apm.md.Out of scope for #982
#982 lands the single-app case (the most common path off the deprecated
dependencies.github-appform). This issue tracks the broader multi-app/multi-org case as a follow-up.Acceptance