Develop semantic model of specs repo dir structure
- Dominant language
- C#
- Stars
- 135
- Forks
- 260
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 143
Description
There has been ongoing work for reviewing, updating and codifying the set of rules on what spec directory structure is allowed to be going forward. Current status is captured here:
- https://aka.ms/azsdk/spec-dirs
This work item is about:
- Aiding the process of determining the allowed directory structure by gathering relevant data.
- Leveraging that work in form of a reusable software component for all the spec PR validation tools.
Note: [azure-sdk issues labelled with `specs-model`](https://github.com/Azure/azure-sdk-tools/issues?q=sort%3Aupdated-desc+is%3Aissue+label%3Aspecs-model) should be addressed by this work.
Inputs:
- The actual spec dirs in relevant branches, e.g. [public `main`](https://github.com/Azure/azure-rest-api-specs/tree/main)
- https://aka.ms/azsdk/spec-dirs
- https://github.com/Azure/azure-rest-api-specs/pull/28929
- Rules captured inside https://github.com/Azure/avocado
- Assumptions in [openapi-alps](https://devdiv.visualstudio.com/DevDiv/_git/openapi-alps/)
- To reuse as code template: https://github.com/Azure/azure-rest-api-specs/pull/28927
- My chat with Wes and Mike on Teams.
- Wes' source for [Specification Index](https://azure.github.io/azure-sdk/releases/latest/all/specs.html): https://github.com/Azure/azure-sdk/blob/main/eng/scripts/Update-Spec-Versions.ps1
- Mike K's script. See [here](https://github.com/Azure/azure-rest-api-specs/issues/28466#issuecomment-2023131729).
- [Mario's scripts](https://github.com/Azure/azure-rest-api-specs-pr/blob/typespec_adoption/eng/scripts/Service-Adoption.ps1) powering https://aka.ms/azsdk/typespec/adoption-by-az
Output:
- Implementation of rules captured in https://aka.ms/azsdk/spec-dirs, with analysis of existing directories:
- which directory is for `service` vs `service group`
- details of all the services
- which directory is violating the rules, how long it has been doing it (is it relatively new or legacy/brownfield?) and how exactly it is violating the rules (to determine if the rules perhaps require adjustment)
Contributor guide
Assessment
This issue has not been assessed yet.