Azure / Azure/avocado

NOT_LATEST_API_VERSION_IN_DEFAULT_TAG false positive comparing date-based and version-based tags

Open
#159 0 comments 0 reactions 1 assignee Claimed by @mikeharder View on GitHub
Dominant language
TypeScript
Stars
23
Forks
22
Avg merge
2d 9h
Merged PRs (30d)
13

Description

This may be a false positive related to date vs version based tagging:

https://github.com/Azure/azure-rest-api-specs/actions/runs/16039568796/job/45258366665?pr=35604#step:4:21

# Repro Steps

> $ npx avocado -d specification/keyvault/data-plane
>
> {"level":"Error","code":"NOT_LATEST_API_VERSION_IN_DEFAULT_TAG","message":"The default tag does not contains the latest API version. Please make sure the latest api version swaggers are in the default tag.","tag":"default","readMeUrl":"/home/mharder/specs/specification/keyvault/data-plane/readme.md","jsonUrl":"/home/mharder/specs/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.6/storage.json","path":"/home/mharder/specs/specification/keyvault/data-plane/Microsoft.KeyVault/stable/7.6/storage.json","apiPath":"/storage/{storage-account-name}/sas/{sas-definition-name}"}

An easy fix could be to sort all numeric versions (e.g. `7.6`) lower than all date-based versions (e.g. `2024-01-01`).

```
if (!startsWithDate(apiVersion)) {
// Prefix non-date-based strings with "!", so they sort before other date-based
let apiVersionForSorting = `!${apiVersion}`;
}
```

This would work, if all new versions should be date-based. However, there is a new proposal for some specs to have **both** date-based and number-based versions in parallel. So, I don't think Avocado should change anything, until this new proposal is finalized.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.