Skip to content

Add CI pipeline to mass‑regenerate api.md using azpysdk apiview --md #45851

@swathipil

Description

@swathipil

Title

Add CI pipeline to mass‑regenerate api.md using azpysdk apiview --md

Summary

Add a CI pipeline that automatically regenerates api.md across Python packages using azpysdk apiview --md and opens a draft PR when changes are detected.
This pipeline should run when the apistub version changes (and be runnable manually).

Proposed Implementation (Actionable)

  1. Create a new pipeline

    • Location: eng/*/jobs
    • Linux only
    • PR triggers disabled
  2. Configure triggers

    • CI trigger path scoped to the file that bumps eng/apiview_reqs.txt
    • Allow manual runs
  3. Pipeline steps

    • Checkout repo
    • Install azure-sdk-tools
    • For each Python package:
      • Run:
        azpysdk apiview --md
        to regenerate api.md
    • After all packages complete:
      • Run git diff
      • If no diffs → exit successfully
      • If diffs exist → continue
  4. Create a draft PR

    • Use the existing create-pull-request YAML template
    • Open a draft PR back to the repo
    • PR should contain only api.md changes
  5. Parallelism

    • Use dispatch / parallel jobs for per‑package generation to keep runtime reasonable

Non‑Goals

  • No manual per‑package updates
  • No APIView UI or review flow changes

Acceptance Criteria

  • Linux pipeline added under eng/*/jobs
  • Pipeline runs on apistub version changes in eng/apiview_reqs.txt and manually
  • api.md generated via azpysdk apiview --md
  • Draft PR opened only when diffs exist
  • PR contains only api.md updates

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions