Skip to content

Separate weekly openApi-doc refresh and command-metadata refresh#3467

Open
ramsessanchez wants to merge 15 commits intomainfrom
ramsess/individualizeModuleGeneration
Open

Separate weekly openApi-doc refresh and command-metadata refresh#3467
ramsessanchez wants to merge 15 commits intomainfrom
ramsess/individualizeModuleGeneration

Conversation

@ramsessanchez
Copy link
Contributor

@ramsessanchez ramsessanchez commented Dec 12, 2025

Split Weekly generation pipeline into two separate pipelines, one to retrieve openApi updates and individually build the modules, and a second pipeline to generate the comandMetadata which requires all modules build on a single image.

The following yml files handle the following:
1.) downloading the most recent openApi docs
2.) determine which modules have been updated
3.) build the updated modules independently to validate openApi document correctness
4.) if all updated modules build successfully then a PR is created with the updated openApi documents.
Weekly-Generation.yml
Individual-Workload-Module.yml

The second will be triggered on merges to Dev and can also be triggered manually.
1.) All modules are built on a single image
2.) the commandMetadata is generated after all modules are built.
3.) successful completion of both results in a pull request into the Dev branch with an updated commandMetadata file.
command-metadata-refresh.yml

Note: The second pipeline is still in testing as we can't test the pipeline fully until we have it registered as one of our pipelines in devops and add the appropriate token.

@ramsessanchez ramsessanchez marked this pull request as ready for review February 4, 2026 07:59
@ramsessanchez ramsessanchez requested a review from a team as a code owner February 4, 2026 07:59
Copy link
Contributor

@MIchaelMainer MIchaelMainer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm curious how much this reduces the average generation run.

type: string
- name: BuildAgent
displayName: Build Agent
- name: SkipForceRefresh
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these removed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SkipForceRefresh is unnecessary, the skipDownload parameter covers this. After reviewing the pipeline logic, I noticed that there is no scenario where one is true and the other is false. In the use cases for this workflow, they are both either false or both true, so it makes sense that these parameters are consolidated into one.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Further, this pipeline is called by the weeklyGeneration pipeline. That pipeline contains the skipDownload parameter, which will skip this workflow altogether if set to True. Therefore, these parameters are unnecessary here and consolidated in the weeklyGeneration pipeline.

targetType: inline
script: |
git status
git branch $(ComputeBranch.WeeklyBranch)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the task variable name optional for specifying an environment variable set from an ADO task? I haven't seen this before

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The task variable name should be optional; it is helpful for scope though. That being said, I noticed that the scope here was incorrect for this variable, adding a fix.

sdl:
binskim:
enabled: false
justificationForDisabling: "Binskim keeps on crashing and failing the weekly build pipeline. Disabling it for now because we are unable to publish the artifacts to internal feeds."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we understand why it is failing?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not aware of why or where this fails. This portion of the pipeline is actually just directly pulled from out current weekly-generation and ci-build pipelines. This seems to have been present for a long time now and I made the choice to keep this configuration to prevent possible failures.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants