Azure / Azure/openapi-diff

False positivizes and undetailed errors for RequiredStatusChange

Abierto
#288 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C#
Estrellas
290
Forks
50
Merge medio
5 d 13 h
PR fusionados (30 d)
5

Descripción

I'm working on https://github.com/Azure/azure-rest-api-specs-pr/pull/15631 and there are some `required` differences reported between the old API version and the generated from TypeSpec version regarding `properties`. The errors are not very accurate. They should say what required values changes. Many look to be false positives.

``` nushell
~/ms/azure-rest-api-specs-pr> open breaking-changes.json | where code == RequiredStatusChange | select message old.path | to md
```

|message|old_path||
|-|-|-|
|The 'required' status changed from the old version('False') to the new version('True').|definitions.PrivateCloudList.properties|New list has `"required": ["value"]`|
|The 'required' status changed from the old version('True') to the new version('False').|definitions.PrivateCloud.properties|Neither has required.|
|The 'required' status changed from the old version('True') to the new version('False').|definitions.ManagementCluster.properties|Neither has required.|
|The 'required' status changed from the old version('False') to the new version('True').|definitions.PrivateCloudIdentity.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ClusterList.properties||
|The 'required' status changed from the old version('True') to the new version('False').|definitions.Cluster.properties|Neither has required.|
|The 'required' status changed from the old version('False') to the new version('True').|definitions.DatastoreList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.HcxEnterpriseSiteList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ExpressRouteAuthorizationList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.GlobalReachConnectionList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkSegmentsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkDhcpList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkGatewayList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkPortMirroringList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkVMGroupsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkVirtualMachinesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkDnsServicesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkDnsZonesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.WorkloadNetworkPublicIPsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.CloudLinkList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.AddonList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.VirtualMachinesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.PlacementPoliciesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ScriptPackagesList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ScriptCmdletsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.ScriptExecutionsList.properties||
|The 'required' status changed from the old version('False') to the new version('True').|definitions.TrackedResource.properties||

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza reproduciendo las entradas RequiredStatusChange que se muestran en breaking-changes.json mediante la herramienta de línea de comandos openapi-diff y, después, sigue la lógica de comparación que produce esos mensajes. Se considera terminado cuando los cambios de valores requeridos reportados son precisos y los falsos positivos enumerados ya no aparecen.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp, openapi
Área
cli, tooling
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.