Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TypeSpec Update]: Update Versions and Anomaly Detector #23973

Merged
merged 6 commits into from
May 17, 2023
Merged

[TypeSpec Update]: Update Versions and Anomaly Detector #23973

merged 6 commits into from
May 17, 2023

Conversation

markcowl
Copy link
Member

@markcowl markcowl commented May 12, 2023

Data Plane API - Pull Request

API Info: The Basics

Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

  • Link to API Spec engagement record issue:

Is this review for (select one):

  • a private preview
  • a public preview
  • GA release

Change Scope

This section will help us focus on the specific parts of your API that are new or have been modified.
Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.

  • Design Document:
  • Previous API Spec Doc:
  • Updated paths:

❔Got questions? Need additional info?? We are here to help!

Contact us!

The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

Click here for links to tools, specs, guidelines & other good stuff

Tooling

Guidelines & Specifications

Helpful Links

@markcowl markcowl requested a review from yangyuan as a code owner May 12, 2023 23:44
@openapi-workflow-bot
Copy link

Hi, @markcowl Thanks for your PR. I am workflow bot for review process. Here are some small tips.

  • Please ensure to do self-check against checklists in first PR comment.
  • PR assignee is the person auto-assigned and responsible for your current PR reviewing and merging.
  • For specs comparison cross API versions, Use API Specs Comparison Report Generator
  • If there is CI failure(s), to fix CI error(s) is mandatory for PR merging; or you need to provide justification in PR comment for explanation. How to fix?

  • Any feedback about review process or workflow bot, pls contact swagger and tools team. vscswagger@microsoft.com

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented May 12, 2023

    Swagger Validation Report

    ️❌BreakingChange: 2 Errors, 0 Warnings failed [Detail]
    compared swaggers (via Oad v0.10.4)] new version base version
    openapi.json v1.1(52095a3) v1.1(main)
    Rule Message
    1027 - DefaultValueChanged The new version has a different default value than the previous one.
    New: AnomalyDetector/stable/v1.1/openapi.json#L163:9
    Old: AnomalyDetector/stable/v1.1/openapi.json#L163:9
    1027 - DefaultValueChanged The new version has a different default value than the previous one.
    New: AnomalyDetector/stable/v1.1/openapi.json#L1603:5
    Old: AnomalyDetector/stable/v1.1/openapi.json#L1603:5
    ️️✔️Breaking Change(Cross-Version) succeeded [Detail] [Expand]
    There are no breaking changes.
    ️️✔️CredScan succeeded [Detail] [Expand]
    There is no credential detected.
    ️⚠️LintDiff: 0 Warnings warning [Detail]
    compared tags (via openapi-validator v2.1.2) new version base version
    release_1_1 release_1_1(52095a3) release_1_1(main)

    The following errors/warnings exist before current PR submission:

    Only 30 items are listed, please refer to log for more details.

    Rule Message
    OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Multivariate' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L71
    OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Multivariate' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L113
    OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Multivariate' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L160
    OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Multivariate' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L203
    OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Multivariate' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L239
    LroExtension Operations with a 202 response must specify x-ms-long-running-operation: true.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L279
    OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Multivariate' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L280
    OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Multivariate' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L340
    OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Univariate' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L390
    OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Univariate' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L433
    OperationIdNounVerb Per the Noun_Verb convention for Operation Ids, the noun 'Univariate' should not appear after the underscore. Note: If you have already shipped an SDK on top of this spec, fixing this warning may introduce a breaking change.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L476
    ⚠️ VersionConvention API version should be a date in YYYY-MM-DD format, optionally suffixed with '-preview'.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L5
    ⚠️ PageableOperation Based on the response model schema, operation 'Multivariate_GetMultivariateBatchDetectionResult' might be pageable. Consider adding the x-ms-pageable extension.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L70
    ⚠️ PaginationResponse Operation might be pageable. Consider adding the x-ms-pageable extension.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L70
    ⚠️ VersionPolicy Operation does not define an 'api-version' query parameter.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L74
    ⚠️ PathParameterSchema Path parameter should specify a maximum length (maxLength) and characters allowed (pattern).
    Location: AnomalyDetector/stable/v1.1/openapi.json#L75
    ⚠️ SchemaTypeAndFormat Schema with type: string has unrecognized format: uri
    Location: AnomalyDetector/stable/v1.1/openapi.json#L87
    ⚠️ ErrorResponse Error response schema should contain an object property named error.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L99
    ⚠️ VersionPolicy Operation does not define an 'api-version' query parameter.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L116
    ⚠️ SchemaTypeAndFormat Schema with type: string has unrecognized format: uri
    Location: AnomalyDetector/stable/v1.1/openapi.json#L122
    ⚠️ Post201Response Using post for a create operation is discouraged.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L128
    ⚠️ SchemaTypeAndFormat Schema with type: string has unrecognized format: uri
    Location: AnomalyDetector/stable/v1.1/openapi.json#L136
    ⚠️ ErrorResponse Error response schema should contain an object property named error.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L148
    ⚠️ VersionPolicy Operation does not define an 'api-version' query parameter.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L163
    ⚠️ PaginationResponse Response body schema of pageable response should contain top-level array property value
    Location: AnomalyDetector/stable/v1.1/openapi.json#L174
    ⚠️ ErrorResponse Error response schema should contain an object property named error.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L186
    ⚠️ VersionPolicy Operation does not define an 'api-version' query parameter.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L206
    ⚠️ PathParameterSchema Path parameter should specify a maximum length (maxLength) and characters allowed (pattern).
    Location: AnomalyDetector/stable/v1.1/openapi.json#L207
    ⚠️ ErrorResponse Error response schema should contain an object property named error.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L227
    ⚠️ VersionPolicy Operation does not define an 'api-version' query parameter.
    Location: AnomalyDetector/stable/v1.1/openapi.json#L242
    ️️✔️Avocado succeeded [Detail] [Expand]
    Validation passes for Avocado.
    ️️✔️ApiReadinessCheck succeeded [Detail] [Expand]
    ️⚠️~[Staging] ServiceAPIReadinessTest: 0 Warnings warning [Detail]

    API Test is not triggered due to precheck failure. Check pipeline log for details.

    ️️✔️SwaggerAPIView succeeded [Detail] [Expand]
    ️️✔️CadlAPIView succeeded [Detail] [Expand]
    ️️✔️TypeSpecAPIView succeeded [Detail] [Expand]
    ️️✔️ModelValidation succeeded [Detail] [Expand]
    Validation passes for ModelValidation.
    ️️✔️SemanticValidation succeeded [Detail] [Expand]
    Validation passes for SemanticValidation.
    ️️✔️PoliCheck succeeded [Detail] [Expand]
    Validation passed for PoliCheck.
    ️️✔️PrettierCheck succeeded [Detail] [Expand]
    Validation passes for PrettierCheck.
    ️️✔️SpellCheck succeeded [Detail] [Expand]
    Validation passes for SpellCheck.
    ️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
    Validation passes for Lint(RPaaS).
    ️️✔️CadlValidation succeeded [Detail] [Expand]
    Validation passes for CadlValidation.
    ️❌TypeSpec Validation: 4 Errors, 2 Warnings failed [Detail]
    Rule Message
    InConsistentSwagger "details":"The generated swagger file 2023-04-30-preview/contentsafety.json from typespec specification/cognitiveservices/ContentSafety is not the same as the '/mnt/vss/_work/1/azure-rest-api-specs/specification/cognitiveservices/data-plane/ContentSafety/preview/2023-04-30-preview/contentsafety.json' in PR,
    please make sure the swagger is consistent with the generated swagger. You can find the difference in the pipeline log."
    MissingExamplesDirectory "details":"The 'examples' directory is missing in the typespec folder specification/cognitiveservices/OpenAI.Inference,
    please ensure the 'examples' is added in the PR."
    SwaggerNotExistInPRBranch "details":"The generated swagger file 2022-12-01/openapi.json from typespec specification/cognitiveservices/OpenAI.Inference is not on the branch."
    SwaggerNotExistInPRBranch "details":"The generated swagger file 2023-03-15-preview/openapi.json from typespec specification/cognitiveservices/OpenAI.Inference is not on the branch."
    ⚠️ MissingTypeSpecProjectConfig "details":"The configuration 'output-file' for '@azure-tools/typespec-autorest' is missing in the tspconfig.yaml under folder specification/cognitiveservices/OpenAI.Inference,
    please ensure it is added in the configuration of the emitter '@azure-tools/typespec-autorest'."
    ⚠️ MissingTypeSpecProjectConfig "details":"The configuration 'azure-resource-provider-folder' for '@azure-tools/typespec-autorest' is missing in the tspconfig.yaml under folder specification/cognitiveservices/OpenAI.Inference,
    please ensure it is added in the configuration of the emitter '@azure-tools/typespec-autorest'."
    ️️✔️PR Summary succeeded [Detail] [Expand]
    Validation passes for Summary.
    Posted by Swagger Pipeline | How to fix these errors?

    @ghost ghost added the Cognitive Services label May 12, 2023
    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented May 12, 2023

    Swagger Generation Artifacts

    ️️✔️ApiDocPreview succeeded [Detail] [Expand]
     Please click here to preview with your @microsoft account. 
    ️️✔️SDK Breaking Change Tracking succeeded [Detail] [Expand]

    Breaking Changes Tracking

    ️❌ azure-sdk-for-net-track2 failed [Detail]
    • Failed [Logs]Release - Generate from 3b2e0ed. SDK Automation 14.0.0
      command	pwsh ./eng/scripts/Automation-Sdk-Init.ps1 ../azure-sdk-for-net_tmp/initInput.json ../azure-sdk-for-net_tmp/initOutput.json
      command	pwsh ./eng/scripts/Invoke-GenerateAndBuildV2.ps1 ../azure-sdk-for-net_tmp/generateInput.json ../azure-sdk-for-net_tmp/generateOutput.json
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1mGeneratePackage: �[0m/mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/Invoke-GenerateAndBuildV2.ps1:145
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1mLine |
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m 145 | �[0m         �[36;1mGeneratePackage `�[0m
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m     | �[31;1m         ~~~~~~~~~~~~~~~~~
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1m�[36;1m     | �[31;1mFailed to generate sdk. exit code: False
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[0m
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1mGet-ChildItem: �[0m/mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/automation/GenerateAndBuildLib.ps1:800
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1mLine |
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m 800 | �[0m … rtifacts += �[36;1mGet-ChildItem $artifactsPath -Filter *.nupkg -exclude *.s�[0m …
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m     | �[31;1m               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1m�[36;1m     | �[31;1mCannot find path
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m     | �[31;1m'/mnt/vss/_work/1/s/azure-sdk-for-net/artifacts/packages/Debug/' because
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m     | �[31;1mit does not exist.
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[0m
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1mGeneratePackage: �[0m/mnt/vss/_work/1/s/azure-sdk-for-net/eng/scripts/Invoke-GenerateAndBuildV2.ps1:145
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1mLine |
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m 145 | �[0m         �[36;1mGeneratePackage `�[0m
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[36;1m     | �[31;1m         ~~~~~~~~~~~~~~~~~
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[31;1m�[36;1m     | �[31;1mFailed to generate sdk artifact
      cmderr	[Invoke-GenerateAndBuildV2.ps1] �[0m
    • Azure.AI.AnomalyDetector [View full logs]  [Release SDK Changes]
      info	[Changelog]
    ️❌ azure-sdk-for-python failed [Detail]
    • Code Generator Failed [Logs]Release - Generate from 3b2e0ed. SDK Automation 14.0.0
      command	sh scripts/automation_init.sh ../azure-sdk-for-python_tmp/initInput.json ../azure-sdk-for-python_tmp/initOutput.json
      cmderr	[automation_init.sh] WARNING: Skipping azure-nspkg as it is not installed.
      warn		specification/cognitiveservices/data-plane/AnomalyDetector/readme.md skipped due to azure-sdk-for-python not found in swagger-to-sdk
      command	sh scripts/automation_generate.sh ../azure-sdk-for-python_tmp/generateInput.json ../azure-sdk-for-python_tmp/generateOutput.json
      cmderr	[automation_generate.sh] npm notice
      cmderr	[automation_generate.sh] npm notice New minor version of npm available! 9.5.1 -> 9.6.6
      cmderr	[automation_generate.sh] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.6>
      cmderr	[automation_generate.sh] npm notice Run `npm install -g npm@9.6.6` to update!
      cmderr	[automation_generate.sh] npm notice
      cmdout	[automation_generate.sh] [Autorest]/mnt/vss/_work/1/s/azure-sdk-for-python_tmp/venv-sdk/auto_temp.json does not exist!!!Error happened during codegen
      error	Script return with result [failed] code [1] signal [null] cwd [azure-sdk-for-python]: sh scripts/automation_generate.sh
      warn	Skip package processing as generation is failed
    ️❌ azure-sdk-for-java failed [Detail]
    • Failed [Logs]Release - Generate from 3b2e0ed. SDK Automation 14.0.0
      command	./eng/mgmt/automation/init.sh ../azure-sdk-for-java_tmp/initInput.json ../azure-sdk-for-java_tmp/initOutput.json
      cmderr	[init.sh] [notice] A new release of pip is available: 23.0.1 -> 23.1.2
      cmderr	[init.sh] [notice] To update, run: pip install --upgrade pip
      cmderr	[init.sh] [notice] A new release of pip is available: 23.0.1 -> 23.1.2
      cmderr	[init.sh] [notice] To update, run: pip install --upgrade pip
      warn		specification/cognitiveservices/data-plane/AnomalyDetector/readme.md skipped due to azure-sdk-for-java not found in swagger-to-sdk
      command	./eng/mgmt/automation/generate.py ../azure-sdk-for-java_tmp/generateInput.json ../azure-sdk-for-java_tmp/generateOutput.json
      cmderr	[generate.py] npm notice
      cmderr	[generate.py] npm notice New major version of npm available! 8.19.4 -> 9.6.6
      cmderr	[generate.py] npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.6.6>
      cmderr	[generate.py] npm notice Run `npm install -g npm@9.6.6` to update!
      cmderr	[generate.py] npm notice
      warn	No file changes detected after generation
    • azure-ai-anomalydetector [View full logs
    ️🔄 azure-sdk-for-js inProgress [Detail]
    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented May 12, 2023

    Generated ApiView

    Language Package Name ApiView Link
    Swagger v1.1 https://apiview.dev/Assemblies/Review/fab247705eac430aa551ccc40dafb5b3
    TypeSpec AnomalyDetector https://apiview.dev/Assemblies/Review/227feda83c8b49cb9d976d7d492cd8e3

    @AzureRestAPISpecReview AzureRestAPISpecReview added BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required data-plane labels May 12, 2023
    @openapi-workflow-bot
    Copy link

    Hi @markcowl, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review.
    Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
    If you want to know the production traffic statistic, please see ARM Traffic statistic.
    If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback.
    Note: To avoid breaking change, you can refer to Shift Left Solution for detecting breaking change in early phase at your service code repository.

    @markcowl markcowl changed the title [TypeSpec Update]: Anomaly Detector [TypeSpec Update]: Update Versions and Anomaly Detector May 13, 2023
    @@ -14,10 +14,11 @@ emit: [
    ]
    options:
    "@azure-tools/typespec-autorest":
    azure-resource-provider-folder: "./data-plane"
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I'm not sure why this diff is appearing in this PR, because this change has already been merged to main. Maybe you need to merge latest main into your PR branch?

    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    @markcowl: Can you please try merging latest main to your branch, to see if it resolves this?

    @raych1
    Copy link
    Member

    raych1 commented May 16, 2023

    @markcowl , there're a few errors reported in TypeSpecValidation need to be fixed.

    @mikeharder
    Copy link
    Member

    /azp run specs - typespec - ci

    @azure-pipelines
    Copy link

    Azure Pipelines successfully started running 1 pipeline(s).

    @markcowl
    Copy link
    Member Author

    /azp run

    @azure-pipelines
    Copy link

    Azure Pipelines successfully started running 2 pipeline(s).

    @mikeharder
    Copy link
    Member

    mikeharder commented May 17, 2023

    @markcowl , there're a few errors reported in TypeSpecValidation need to be fixed.

    @raych1: The failures in TypeSpecValidation are due to this issue, which causes TypeSpecValidation to validate everything under specification/cognitiveservices:

    Azure/azure-sdk-tools#6178

    As long as TypeSpecValidation is not reporting any failures in the folder actually changed in this PR, we can ignore the failure for now. Even with this bug, TypeSpecValidation should be passing once all the PRs are merged to update all specs to latest.

    @@ -14,10 +14,11 @@ emit: [
    ]
    options:
    "@azure-tools/typespec-autorest":
    azure-resource-provider-folder: "./data-plane"
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    @markcowl: Can you please try merging latest main to your branch, to see if it resolves this?

    Copy link
    Member

    @mikeharder mikeharder left a comment

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Approved, but please wait to merge all version update PRs in quick succession.

    @markcowl markcowl added the Approved-BreakingChange DO NOT USE! OBSOLETE label. See https://github.com/Azure/azure-sdk-tools/issues/6374 label May 17, 2023
    @markcowl markcowl merged commit 3b2e0ed into Azure:main May 17, 2023
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    Approved-BreakingChange DO NOT USE! OBSOLETE label. See https://github.com/Azure/azure-sdk-tools/issues/6374 BreakingChangeReviewRequired <valid label in PR review process>add this label when breaking change review is required Cognitive Services data-plane
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    5 participants