Skip to content

Add ELM migrations commands#1481

Open
bhuvanshahMSFT wants to merge 13 commits intoAzure:masterfrom
bhuvanshahMSFT:feature/elm-cli
Open

Add ELM migrations commands#1481
bhuvanshahMSFT wants to merge 13 commits intoAzure:masterfrom
bhuvanshahMSFT:feature/elm-cli

Conversation

@bhuvanshahMSFT
Copy link

@bhuvanshahMSFT bhuvanshahMSFT commented Mar 3, 2026

What

  • Add az devops migrations command group for ELM (ADO -> GitHub Proxima) migrations.
  • Include create/status/list/pause/resume/migrate/cutover/abandon flows.
  • Add validations and formatting.
  • Add --agent-pool-name and --skip-validation to create.
  • Normalize optional create fields (trim, omit empty values).
  • Update help and unit tests for optional fields.

Why

  • Enable scripted live migration workflows via Azure DevOps CLI extension.

Testing

  • pytest azext_devops/tests/latest/migration/test_migration.py

Notes

  • Uses devfabric endpoint; --org is used for auth resolution.
  • Target repo URL must be https://microsoft.ghe.com/OrgName/RepoName.
  • Full pytest currently has unrelated failures in boards/repos auth validation tests.

@GeoffCoxMSFT
Copy link

@v-anvashist @V-hmusukula @v-soujanya I had trouble finding your MSFT aliases, so please let me (gcox) know you've received this. This PR is related to a new REST API endpoint the 1ES team is adding to ADO. Could you kindly review/approve it as soon as possible as we are expecting to ship this quarter. We also need to understand how and when this repository releases. Thanks!

@bhuvanshahMSFT
Copy link
Author

bhuvanshahMSFT commented Mar 4, 2026

@microsoft-github-policy-service agree company="Microsoft"

@bhuvanshahMSFT
Copy link
Author

Summary:

  • Add optional create args agentPoolName and skipValidation with trimming/omission of empty values.
  • Update help for the new flags.
  • Add unit tests covering optional fields and trimming.

Tests:

  • pytest azext_devops/tests/latest/migration/test_migration.py

Notes:

  • Full pytest currently has existing failures in boards/repos auth validation tests (unrelated).

@bhuvanshahMSFT
Copy link
Author

Style check fix:

  • Resolve flake8 E129 by simplifying the command check in azext_devops/init.py.
  • Suppress pylint W0212 for ServiceClient creds access in migration client.
  • Exclude local env/venv folders in .flake8 to avoid scanning local environments.

Local: scripts/runStyleCheck.ps1 (pylint OK, flake8 OK).

@bhuvanshahMSFT
Copy link
Author

Updates in this push:

  • Merge latest master (includes macOS CI fixes).
  • Migrations now accept target repositories on github.com and any *.ghe.com host.
  • Help YAML fixed (quoted long-summary) to avoid YAML parsing error in �z devops migrations -h.
  • Added ELM migrations TSG: doc/elm_migrations_tsg.md.
  • Migration tests updated; local run: azext_devops/tests/latest/migration/test_migration.py (12 passed).

@bhuvanshahMSFT
Copy link
Author

Added a command reference section to doc/migrations.md to cover the updated migration commands. Commit: 95688f4.

@bhuvanshahMSFT
Copy link
Author

Updated BuildWheel task in .vscode/tasks.json to run on Windows by using python from the repo env PATH (fixes path-with-spaces issues). Commit: b51113c.

@bhuvanshahMSFT
Copy link
Author

Fixed markdownlint failures by adding blank lines around lists/code blocks in doc/elm_migrations_tsg.md and correcting nested list indentation in doc/migrations.md. Commit: 9d7a0ff.

@v-soujanya
Copy link
Collaborator

Hi @bhuvanshahMSFT Can you fix the entire set of lint errors and make sure checks are green?

@v-soujanya
Copy link
Collaborator

Hi @bhuvanshahMSFT still there is a failure on lint checks. Could you please take look on this on recent run
image

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.

4 participants