Azure / Azure/azure-rest-api-specs

Support multi-project namespace approval in a single spec PR

Open
#44,281 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeSpec
Stars
3.1k
Forks
5.9k
Avg merge
3d 2h
Merged PRs (30d)
424

Description

## Summary

When a spec PR modifies multiple TypeSpec projects (e.g., data-plane + mgmt-plane for a service rename), the namespace approval workflow should detect and display namespaces from all projects, not just the last one processed.

## Current Behavior

The namespace detection uses a flat `{ language: namespace }` map. When two projects define the same languages (e.g., both have dotnet, java, python, typescript, go), the second project's namespaces overwrite the first. Only the last-processed project's namespaces appear in the bot comment.

## Expected Behavior

- Bot comment shows namespaces grouped per project
- Each project's namespaces require independent approval
- Commit status blocks merge until all projects' namespaces are approved

## When This Happens

Rare but real — typically during service renames or reorgs where a team updates namespaces across both data-plane and mgmt-plane projects in one PR.

## Workaround

Split into separate PRs (one per TypeSpec project).

## Related

- PR: https://github.com/Azure/azure-rest-api-specs/pull/44085
- Review comment: https://github.com/Azure/azure-rest-api-specs/pull/44085#discussion_r3478799290

Contributor guide

Open the contributing guide

Research direction

Start with the namespace approval workflow and review PR 44085, especially the linked review discussion, to trace namespace detection, the bot comment, and commit status handling. Done means namespaces from every project appear grouped by project, each can be approved independently, and the status blocks merging until all approvals are complete.

Written by the indexing model from the issue text.

Assessment

Tech stack
github
Domain
ci-cd
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.