Skip to content

Upgrade typespec and azure-tools relevant dependencies and regenerate integration cases after upgrading #3243

@MaryGao

Description

@MaryGao

Action required: Upgrade typespec and azure-tools relevant dependencies and regenerate integration cases after upgrading.

To upgrade TypeSpec dependencies, they only work on packages/typespec-ts/ and packages/typespec-test/ . packages/rlc-common and packages/autorest.typescript should not be edited.

  • Identify dependencies within the @typespec or @Azure-Tools npm-scopes under "dependencies", "devDependencies" and "peerDependencies" in package.json
  • You should resolve the version in "next" tag for dependencies on @typespec/http-specs, @typespec/spector, @azure-tools/azure-http-specs, and @typespec/spec-api
  • You should resolve the version in "latest" tag for the other dependencies
  • Run "rush update" after editing the dependencies in package.json
  • TypeSpec dependencies means any dependencies starting with @typespec/ or @azure-tools/ as these are relevant to TypeSpec and Azure tools.
  • Do not update dependency for @typespec/ts-http-runtime.
  • For spector relevant dependencies, the latest version which is tagged with next on npm including @typespec/http-specs, @typespec/spector, @azure-tools/azure-http-specs, and @typespec/spec-api.
  • For other dependencies, check the latest versions which is tagged with latest on npm and update them accordingly.
  • After updating the versions, run rush update to ensure all dependencies are correctly installed and the lock files are updated.
  • Do run rush build to build the entire monorepo to check if any building issues introduced by upgrading.

Then you need to run the integration and smoke testing and enure they could pass.

  • Do run npm run copy:typespec to copy the files which integration test may use.
  • Do run npm run generate-tsp-only:rlc to generate files before running integration cases and replace rlc with modular, azure-rlc, azure-modular to generate other types files and these generations could be ran parallelly. And be patient, the generation would take around 1 hour.
  • Do run npm run lint under packages/typespec-ts/ to run the linter.
  • Do run npm run smoke-test under packages/typespec-test/ to validate our test scenarios for typespec and if any issue try to fix it. It would take around 30 minutes.
  • Do run npm run unit-test under packages/typespec-ts/ to validate our Unit Test and follow the below instructions to fix any test failures.
  • Smoke tests could run parallel with unit tests and integration tests, so you can run them at the same time.
  • Modular and RLC integration tests are run in parallel, so you can run them at the same time.
  • Azure RLC integration tests can only be run after the RLC integration tests are passed, and Azure Modular integration tests can only be run after the Modular Integration tests are passed.
  • Do run following commands to trigger actual integrations
    • Run commands to start RLC test server npm run start-test-server:rlc and replace rlc to modular, azure-rlc, azure-modular could trigger other types
    • Run commands to trigger the actual RLC testing npm run integration-test:alone:rlc and replace rlc to modular, azure-rlc, azure-modular could trigger other types
    • If you meet any issues, try to fix testing issues and re-trigger integrations. Fix all issues until the whole integrations could pass.
  • Do wait all 4 integration tests to be done under packages/typespec-ts/ even the integration would take around 1 hour or skip 4 integration testings under packages/typespec-ts/
  • RLC integration testing finish is NOT enough and please pay patient to wait the Modular and Azure Modular integration completed.
  • Do not write a summery if all 4 integration testings or smoke testing are still in progress and don't write final progress update if integration testing are still in progress and please monitor the job to be done not just running successfully
  • Do wait around 1 - 2 hour that all tasks are completed not just start running
  • Follow my instructions exactly and please don't skip modular or azure integrations and wait all 4 integrations
  • Don't return or terminal AI during monitoring, please monitor the 4 integration status every 30 seconds until they finish
  • Do run rush format to format the codebase.
  • Fix any issues that arise during the process, and ensure all tests pass before considering the upgrade complete

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions