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

update to latest specs #1090

Merged
merged 9 commits into from
Sep 9, 2022
Merged

update to latest specs #1090

merged 9 commits into from
Sep 9, 2022

Conversation

ctaggart
Copy link
Contributor

@ctaggart ctaggart commented Sep 8, 2022

This includes a change to pick stable releases if available instead of a spec readme.md that specifies a preview version as the default. They should not be. I included unit tests.

check all features: https://github.com/ctaggart/azure-sdk-for-rust/actions/runs/3016729488

@ctaggart ctaggart marked this pull request as ready for review September 8, 2022 16:50
@cataggar cataggar requested a review from bmc-msft September 8, 2022 18:01
@bmc-msft
Copy link
Contributor

bmc-msft commented Sep 8, 2022

Can you discuss your rational for stating we should ignore the readme when it specifies to use a preview version by default? Isn't this defined by the service owner? (or at least, the spec writer for the service?)

@cataggar
Copy link
Member

cataggar commented Sep 8, 2022

Can you discuss your rational for stating we should ignore the readme when it specifies to use a preview version by default? Isn't this defined by the service owner? (or at least, the spec writer for the service?)

It could mean a couple of things:

  1. The spec author has made a mistake defining the default version. It should be a stable version.
  2. Or the Tag item in Configuration Basic Information section has a different meaning and is not the default version that should be used. May be it does not mean the default version to use in a multi-api-version capable SDK library. In this case, we shouldn't use the value at all.

In either case, if there is a stable version, we should use it as our default.

@cataggar
Copy link
Member

cataggar commented Sep 9, 2022

Here is a complete list. It makes sense that we default to the stable versions. There are 29.

20 azurearcdata
  package-preview-2022-03
  package-preview-2021-07-01
  package-preview-2021-06-01
  package-2021-11-01
  package-2021-08-01
  instead of package-preview-2022-03 default to stable package-2021-11-01

29 botservice
  package-preview-2022-06
  package-preview-2021-05
  package-2021-03-01
  package-2020-06-02
  package-2018-07-12
  instead of package-preview-2022-06 default to stable package-2021-03-01

30 cdn
  package-preview-2022-05
  package-2021-06
  package-2020-09
  package-2020-04
  package-2019-12
  instead of package-preview-2022-05 default to stable package-2021-06

36 communication
  package-preview-2022-07
  package-2021-10-01-preview
  package-2020-08-20-preview
  package-2020-08-20
  instead of package-preview-2022-07 default to stable package-2020-08-20

43 containerregistry
  package-2022-02-preview
  package-2021-12-preview
  package-2021-09
  package-2021-08-preview
  package-2021-06-preview
  instead of package-2022-02-preview default to stable package-2021-09

54 databricks
  package-2022-10-01-preview
  package-2022-04-01-preview
  package-2018-04-01
  instead of package-2022-10-01-preview default to stable package-2018-04-01

58 datalake-analytics
  package-preview-2019-11
  package-2016-11
  package-2015-10-preview
  instead of package-preview-2019-11 default to stable package-2016-11

60 datamigration
  package-preview-2022-03
  package-preview-2022-01
  package-preview-2021-10
  package-2021-06
  package-2018-04-19
  instead of package-preview-2022-03 default to stable package-2021-06

64 desktopvirtualization
  package-preview-2022-04
  package-preview-2022-02
  package-preview-2021-09
  package-2021-07
  package-2021-04-01-preview
  instead of package-preview-2022-04 default to stable package-2021-07

78 dynatrace
  package-2021-09-01-preview
  package-2021-09-01
  instead of package-2021-09-01-preview default to stable package-2021-09-01

79 edgeorder
  package-2022-05-preview
  package-2021-12
  package-2020-12-preview
  instead of package-2022-05-preview default to stable package-2021-12

82 elastic
  package-2021-10-01-preview
  package-2021-09-01-preview
  package-2020-07-01-preview
  package-2020-07-01
  instead of package-2020-07-01-preview default to stable package-2020-07-01

86 eventhub
  package-2022-01-preview
  package-2021-11
  package-2021-06-preview
  package-2021-01-preview
  package-2018-01-preview
  instead of package-2022-01-preview default to stable package-2021-11

87 extendedlocation
  package-2021-08-31-preview
  package-2021-08-15
  package-2021-03-15-preview
  instead of package-2021-08-31-preview default to stable package-2021-08-15

91 hanaonazure
  package-2020-02-07-preview
  package-2017-11
  instead of package-2020-02-07-preview default to stable package-2017-11

101 hybridnetwork
  package-2022-01-01-preview
  package-2021-05-01
  package-2020-01-01-preview
  instead of package-2022-01-01-preview default to stable package-2021-05-01

104 iotcentral
  package-preview-2021-11
  package-2021-06
  package-2018-09-01
  instead of package-preview-2021-11 default to stable package-2021-06

118 machinelearningservices
  package-preview-2022-06
  package-preview-2020-05
  package-2022-05-01
  package-2022-02-01-preview
  package-2022-01-01-preview
  instead of package-preview-2022-06 default to stable package-2022-05-01

119 maintenance
  package-preview-2022-07
  package-preview-2021-09
  package-preview-2021-04
  package-preview-2020-07
  package-2021-05
  instead of package-preview-2022-07 default to stable package-2021-05

121 managedservices
  package-preview-2022-01
  package-2020-02-preview
  package-2019-09
  package-2019-06
  package-2019-04-preview
  instead of package-preview-2022-01 default to stable package-2019-09

124 maps
  package-preview-2021-12
  package-preview-2021-07
  package-preview-2020-02
  package-2021-02
  package-2018-05
  instead of package-preview-2021-12 default to stable package-2021-02

136 msi
  package-preview-2022-01
  package-preview-2021-09-30
  package-2018-11-30
  package-2015-08-31-preview
  instead of package-preview-2022-01 default to stable package-2018-11-30

160 quota
  package-2021-03-15-preview
  package-2021-03-15
  instead of package-2021-03-15-preview default to stable package-2021-03-15

161 recommendationsservice
  package-2022-03-01-preview
  package-2022-02-01
  instead of package-2022-03-01-preview default to stable package-2022-02-01

163 recoveryservicesbackup
  package-2022-06-01-preview
  package-2022-03
  package-2022-02
  package-2022-01
  package-2021-12
  instead of package-2022-06-01-preview default to stable package-2022-03

171 resourcegraph
  package-preview-2021-06
  package-preview-2021-03
  package-preview-2020-09
  package-preview-2020-04
  package-2021-03
  instead of package-preview-2021-06 default to stable package-2021-03

184 servicebus
  package-2022-01-preview
  package-2021-11
  package-2021-06-preview
  package-2021-01-preview
  package-2018-01-preview
  instead of package-2022-01-preview default to stable package-2021-11

193 sqlvirtualmachine
  package-preview-2022-07
  package-preview-2022-02
  package-preview-2021-11
  package-2022-02
  package-2017-03-01-preview
  instead of package-preview-2022-07 default to stable package-2022-02

207 timeseriesinsights
  package-preview-2021-06
  package-preview-2021-03
  package-2020-05-15
  package-2018-08-preview
  package-2017-11-15
  instead of package-preview-2021-03 default to stable package-2020-05-15

@bmc-msft
Copy link
Contributor

bmc-msft commented Sep 9, 2022

While I agree that logically a tag without prerelease in the name should be preferential to a tag with prerelease in the name, I believe this to be more complicated.

Consider:

  1. databricks mgmt in Python uses 2021-04-01-preview
  2. databricks mgmt in Golang uses 2021-04-01-preview.
  3. servicebus mgmt in Golang uses 2.0.0-beta.1 (this seems weird!)
  4. servicebus mgmt in Python uses 2021-11-01

My thought is we probably want to follow the service specification author's specified version and open work items to track things that seem off.

@cataggar
Copy link
Member

cataggar commented Sep 9, 2022

I changed it back, but made it a warning, so we can raise issues appropriately.

30 cdn
  package-preview-2022-05
  package-2021-06
  package-2020-09
  package-2020-04
  package-2019-12
  WARN preview tag `package-preview-2022-05` used instead of stable tag `package-2021-06`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants