Repository navigation
Add repository-wide TypeSpec emitter regeneration pipeline - #49609
Draft
Libba Lawrence (l0lawrence) wants to merge 3 commits into
Draft
Libba Lawrence (l0lawrence) wants to merge 3 commits into
Libba Lawrence (l0lawrence) wants to merge 3 commits into
Conversation
Regenerate tracked TypeSpec clients in parallel, retain generation failures and reviewable patches, and document pipeline setup. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Azure Pipelines: Successfully started running 1 pipeline(s). 9 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
Allow explicit SDK directories and retain all-client regeneration as an opt-in. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes #48601.
Add an Azure Pipelines definition that regenerates existing TypeSpec clients when the pinned emitter manifest or lockfile changes. Eight deterministic shards use the pinned tsp-client and install emitter dependencies once per job. Discovery includes tracked nested clients and runs batch members independently, allowing later clients to run after a generation failure. Each job publishes client logs, results, and a binary-capable patch including new and deleted files, even when generation fails.
Recorded specification revisions are preserved. Code differences are retained for human review rather than automatically failing the job. Includes focused tests and documentation for pipeline registration, artifact review, and local reproduction. No SDK API or specification changes are included.
Maintainers must register
eng/pipelines/typespec-regeneration.ymlas an Azure Pipelines definition and enable its YAML CI/PR triggers. A full Azure-hosted all-SDK run has not been performed.All SDK Contribution checklist:
General Guidelines and Best Practices
Testing Guidelines
Validation performed locally:
python -m pytest eng\tools\azure-sdk-tools\tests\test_typespec_regeneration.py -q— passed, 25 tests.C:\Users\llawrence\.copilot\session-state\68ccc843-a713-437a-ba7b-4b6740b0f969\files\validation-venv\Scripts\python.exe -m black --check --config eng\black-pyproject.toml eng\scripts\regenerate_typespec.py eng\tools\azure-sdk-tools\tests\test_typespec_regeneration.py— passed.git --no-pager diff --cached --check— passed before commit.npm ci --prefix eng\common\tsp-client --no-audit --no-fund --quiet— passed.python eng\scripts\regenerate_typespec.py --repo (Join-Path $env:TEMP 'azsdk-tsp-smoke-68ccc843') --output C:\Users\llawrence\.copilot\session-state\68ccc843-a713-437a-ba7b-4b6740b0f969\files\regeneration-smoke-results— passed in a disposable fixture with the existing Advisor configuration and real pinned emitter dependencies; exit code 0, 88 generated files captured. The Windows ARM setup requiredPYYAML_FORCE_LIBYAML=0for generator dependency installation; no repository dependency overrides were made.