Skip to content

Batch generation #27534

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

Open
wants to merge 35 commits into
base: main
Choose a base branch
from
Open

Batch generation #27534

wants to merge 35 commits into from

Conversation

Pan-Qi
Copy link
Contributor

@Pan-Qi Pan-Qi commented Apr 9, 2025

Description

Batch generation pipeline
Currently the generated branch won't be merged until we have decided the release policy.
If the pipeline is failed, notification will be sent to Xiaogang, Yabo and me.
This is the successful build, the failed tests are looks expected and need to be fixed through other PRs.
This is the generated branch, which includes both src/ and generated/ folders.

Mandatory Checklist

  • SHOULD update ChangeLog.md file(s) appropriately
    • For SDK-based development mode, update src/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.
      • A snippet outlining the change(s) made in the PR should be written under the ## Upcoming Release header in the past tense.
    • For autorest-based development mode, include the changelog in the PR description.
    • Should not change ChangeLog.md if no new release is required, such as fixing test case only.
  • SHOULD regenerate markdown help files if there is cmdlet API change. Instruction
  • SHOULD have proper test coverage for changes in pull request.
  • SHOULD NOT adjust version of module manually in pull request

Copy link

Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status.

@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch from a802550 to da6c9aa Compare April 9, 2025 14:10
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch from 58eb69a to 78fc77d Compare April 16, 2025 14:14
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch from 1d8f34b to 7a89243 Compare April 17, 2025 01:38
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch 2 times, most recently from e76e710 to abb0093 Compare April 29, 2025 06:23
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch from abb0093 to d456619 Compare April 29, 2025 06:26
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch 4 times, most recently from 892c7c3 to d22bed9 Compare May 1, 2025 08:49
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch from 9224b54 to 019934c Compare May 6, 2025 06:17
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch from 8bdd1e1 to f3cc572 Compare May 13, 2025 05:32
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch 7 times, most recently from 9301df6 to 4fd9fb0 Compare May 15, 2025 13:01
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch from 4fd9fb0 to a65934d Compare May 15, 2025 13:17
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch from 772b895 to a8a1b9a Compare May 15, 2025 14:37
@Pan-Qi Pan-Qi force-pushed the bernard-pipeline-generation branch from bba4c2e to 78261c5 Compare May 21, 2025 06:44
@Pan-Qi Pan-Qi requested review from dolauli and VeryEarly May 22, 2025 05:28
@Pan-Qi Pan-Qi marked this pull request as ready for review May 22, 2025 05:28
@Copilot Copilot AI review requested due to automatic review settings May 22, 2025 05:28
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Adds a batch generation pipeline for Azure PowerShell that parallelizes module regeneration, build, analysis, and testing, and sends failure notifications.

  • Introduces utility functions for mapping, grouping, and Teams notifications
  • Adds PS scripts to prepare targets, filter changes, generate, build, analyze, test, and report
  • Configures Azure Pipelines job matrix in batch-generation-test-job.yml

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.azure-pipelines/util/batch-generation-test-job.yml Defines parameterized test job with matrix for Windows agents
.azure-pipelines/PipelineSteps/BatchGeneration/util.psm1 Helper functions: module mapping, grouping, matrix writing, messaging
.azure-pipelines/PipelineSteps/BatchGeneration/prepare.ps1 Prepares and serializes generation targets and matrix variable
.azure-pipelines/PipelineSteps/BatchGeneration/filter.ps1 Filters changed modules/submodules and writes build/analyze/test matrices
.azure-pipelines/PipelineSteps/BatchGeneration/batch-generate-modules.ps1 Executes Autorest regeneration per module/submodule and records change logs
.azure-pipelines/PipelineSteps/BatchGeneration/build-modules.ps1 Builds modules based on matrix key and records results
.azure-pipelines/PipelineSteps/BatchGeneration/analyse-modules.ps1 Runs static analysis steps and aggregates failures
.azure-pipelines/PipelineSteps/BatchGeneration/test-modules.ps1 Runs Pester tests for each submodule and collects results
.azure-pipelines/PipelineSteps/BatchGeneration/report.ps1 Aggregates and writes reports for all pipeline stages
.azure-pipelines/PipelineSteps/BatchGeneration/notify-failed-job.ps1 Sends Teams notification on failure using HTML template
.azure-pipelines/PipelineSteps/BatchGeneration/FailedJobTeamsTemplate.html HTML template for pipeline failure alerts

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.

1 participant