Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 3.95 KB

File metadata and controls

42 lines (33 loc) · 3.95 KB

Generator

Getting started

  1. Checkout this repo
  2. cd generator
  3. npm install

Running commands

  • npm run clean - Resets the local schemas directory to a clean state.
  • npm run list-basepaths - Lists all the valid base paths from the specs repo for generation.
  • npm run list-resources - Lists all the schema-declared types and API versions referenced in schemas/2019-04-01/deploymentTemplate.json.
  • npm run generate-all - Re-generates all schemas for providers which have been added to autogenlist.ts.
  • npm run generate-single {basePath} - Re-generates schemas for all resource types and API versions found under a given base path.
  • See package.json for the full set of commands.

Daily autogeneration

Autogeneration Pipeline

Pipeline Build Status
Batch 0 Batch 0 Status
Batch 1 Batch 1 Status
Batch 2 Batch 2 Status
Batch 3 Batch 3 Status

View the Pipeline Configuration here.

Merging Pipeline-generated schemas

  1. Review the status badge on this page to ensure the latest run was successful.
  2. Create a Pull Request from autogenerate to master.
  3. If there are any modifications to schemas/common/autogeneratedResources.json, push a commit to the autogenerate branch to make any corresponding changes to schemas/2014-04-01-preview/deploymentTemplate.json and schemas/2015-01-01/deploymentTemplate.json.

Onboarding teams to autogeneration pipeline

  1. Run npm run list-basepaths to discover the specs repo path containing the swagger definitions.
  2. Run npm run generate-single {basePath} to generate schemas for them. Save the console output to file.
  3. Remove all references to the provider namespace from schemas/2019-04-01/deploymentTemplate.json.
  4. If there are any modifications to schemas/common/autogeneratedResources.json, you may need to make corresponding changes to schemas/2014-04-01-preview/deploymentTemplate.json and schemas/2015-01-01/deploymentTemplate.json.
  5. Add the {basePath} to the autogenlist array in autogenlist.ts.
  6. Commit all the changed files, and submit a PR to this repo with title "Onboarding {provider} for autogeneration". Include the full output saved in step 2 as a comment.
  7. Ensure all CI tests pass, and ask the team to review the PR (including tool output) to ensure that all expected resources have been detected and generated as expected.