Add release-time verification that package name exists on azure-rest-api-specs main
- Dominant language
- C#
- Stars
- 135
- Forks
- 260
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 144
Description
## Context
With package name approval moved upstream to the spec PR phase (azure-rest-api-specs), we removed the release-time ADO field check (PR #16607). However, there is no hard verification at release time that the package's spec actually exists on the main branch of azure-rest-api-specs.
Service teams that release from non-main branches (e.g. RPaasMaster) or use skip flags could potentially bypass the approval process.
## Proposal
Add a small step in the release pipeline that:
1. Looks up the package being released in `azure-rest-api-specs` main branch
2. Runs the typespec-metadata emitter or reads `tspconfig.yaml` to get the approved package name
3. Compares it to the package name being released
4. Fails the release if the package name is missing or mismatched
This is a lightweight safety net - one API call to verify the spec exists on main, no ADO fields, no label lookups.
## Why
- Main branch of azure-rest-api-specs is the source of truth for package name approval
- Some teams release from non-main branches where the approval workflow may not have run
- Pipeline skip flags and workarounds exist that could bypass process assumptions
- A proactive check prevents all edge cases
## References
- PR #16607 - removed the old release-time check
- PR #44931 - new spec PR approval workflow
- Discussion with @tjprescott on PR #16607
Contributor guide
Assessment
This issue has not been assessed yet.