Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop semantic model of specs repo dir structure #8203

Open
konrad-jamrozik opened this issue May 4, 2024 · 3 comments
Open

Develop semantic model of specs repo dir structure #8203

konrad-jamrozik opened this issue May 4, 2024 · 3 comments
Assignees
Labels
Central-EngSys This issue is owned by the Engineering System team. Spec PR Tools Tooling that runs in azure-rest-api-specs repo. specs-model Issues requiring logic to be implemented by https://github.com/Azure/azure-sdk-tools/issues/8203

Comments

@konrad-jamrozik
Copy link
Contributor

konrad-jamrozik commented May 4, 2024

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:

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 should be addressed by this work.

Inputs:

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)
@konrad-jamrozik konrad-jamrozik added Central-EngSys This issue is owned by the Engineering System team. Spec PR Tools Tooling that runs in azure-rest-api-specs repo. labels May 4, 2024
@konrad-jamrozik konrad-jamrozik self-assigned this May 4, 2024
@konrad-jamrozik konrad-jamrozik moved this from 🤔 Triage to 📋 Backlog in Azure SDK EngSys 🚢🎉 May 4, 2024
@konrad-jamrozik konrad-jamrozik moved this to 📋 Backlog in Spec PR Tools May 4, 2024
@mikeharder
Copy link
Member

mikeharder commented May 7, 2024

@konrad-jamrozik
Copy link
Contributor Author

konrad-jamrozik commented May 7, 2024

@konrad-jamrozik
Copy link
Contributor Author

konrad-jamrozik commented Jul 11, 2024

@mikeharder can you let me know if this looks like a good way to start working on this? Any tips & tricks appreciated :)

My approach to breaking the ground on this work:

Setup

Milestone 1: stub implementation

  1. Start with stub implementation that will at first have the "semantic model" component/tool that will do almost nothing, except printing something out. Ensure there is some basic test for it and a way to invoke it. Basically like hollowed-out empty shell of suppressions tool.
  2. Then add a shell of a GitHub action, based of typespec-requirement.yaml, that will call into the shell of the semantic model component.
  3. Run the pipeline and observe it calling the component and observe it printing out to the GH action run log.
  4. Add GH action for tests to the semantic model component, akin to suppressions-test.yaml.
  5. Do the same for typespec-requirement-test.yaml.
  6. Confirm everything works:
    • The GH action workflow for the check runs and prints out expected strings from the semantic model component.
    • The GH action for the check tests runs and the stub tests pass.
    • The GH action for the semantic model component tests runs and the stub tests pass.

Milestone 2: the business logic proper

Once the shells are ready and working as explained in Milestone 1, I will start gradually adding tests specifying the desired behavior, and implementing them. This will happen over a series of PRs.

@konrad-jamrozik konrad-jamrozik moved this from 📋 Backlog to 🐝 Dev in Azure SDK EngSys 🚢🎉 Jul 11, 2024
@konrad-jamrozik konrad-jamrozik moved this from 📋 Backlog to 🐝 In Progress in Spec PR Tools Jul 11, 2024
@konrad-jamrozik konrad-jamrozik added the specs-model Issues requiring logic to be implemented by https://github.com/Azure/azure-sdk-tools/issues/8203 label Jul 13, 2024
@weshaggard weshaggard moved this from 🐝 Dev to 📋 Backlog in Azure SDK EngSys 🚢🎉 Jul 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Central-EngSys This issue is owned by the Engineering System team. Spec PR Tools Tooling that runs in azure-rest-api-specs repo. specs-model Issues requiring logic to be implemented by https://github.com/Azure/azure-sdk-tools/issues/8203
Projects
Status: 📋 Backlog
Status: 🐝 In Progress
Development

No branches or pull requests

2 participants