microsoft / microsoft/apm-action
Release mode does not discover skills/* APM packages
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 21
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
Problem
APM documents skills/<name>/SKILL.md as a supported repository layout for a
collection of skills. Each skill can also be a hybrid package with its own
apm.yml.
microsoft/apm-action@v1 with mode: release currently detects an aggregator
only when it finds plugins/<name>/apm.yml. A repository containing
skills/<name>/apm.yml is classified as single-plugin, so release mode reads
and packs only the root apm.yml instead of discovering the individual skill
packages.
The relevant implementation is detectShape() and discoverPackages() in
src/release.ts.
Generic reproduction
collection/
├── apm.yml
└── skills/
├── alpha/
│ ├── SKILL.md
│ └── apm.yml
└── beta/
├── SKILL.md
└── apm.yml
Run the documented tag-triggered release workflow:
- uses: microsoft/apm-action@v1
with:
mode: release
release-skip-publish: true
The action reports single-plugin and discovers the root package rather than
alpha and beta.
Expected behavior
Release mode should support APM's multi-skill collection layout, either by
discovering skills/*/apm.yml or through an explicit package-path or glob input
that avoids ambiguous shape inference.
Relevant APM package-layout documentation:
https://github.com/microsoft/apm/blob/main/packages/apm-guide/.apm/skills/apm-usage/package-authoring.md
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read detectShape() and discoverPackages() in src/release.ts, then reproduce the issue with the collection layout shown in the report and the documented release workflow. Verify how plugins//apm.yml is detected and how skills//apm.yml is classified. Done means release mode discovers alpha and beta packages instead of treating the repository as a single plugin.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, typescript
- Domain
- devtools, release
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 74/100