DataDog / datadog-aas-extension

Datadog Azure App Services Site Extension
Apache License 2.0
9 stars 12 forks source link

First step of release automation #105

Closed pierotibou closed 2 years ago

pierotibou commented 2 years ago

Reuse what we used to have in dd-trace-dotnet ie a Version Bump action and an automatic tagging one. Here's how it works. The Version Bump:

The automatic one will:

I have made here two postulates. First, I don't want to rely on Nuke. Indeed, I want the Java team, or any team that would take ownership to easily own this process. Also, from now on, AAS extension versions will follow the pattern: {major}.{minor}.{patch}{toolsVersion} to follow the .Net Tracer version. This will allow to follow the .Net Tracer version while allowing for extension upgrades.

Outstanding work:

Next Steps (in other PRs):

AIT-372

andrewlock commented 2 years ago

First, I don't want to rely on Nuke

Looks fine ATM, but I "look forward" to seeing the bash code for doing the more complex work upcoming 😶

Also, from now on, I want the AAS extension version to follow the .Net Tracer version

I'm in favour, will make things much easier for consumers, but I'm not sure if it will be entirely practical. Time will tell I guess.

As the .Net Tracer version should only update minors from now on

Well, except for hotfixes. At which point, things may well go out of sync, which may be more confusing than if they're completely out of sync? 🤔

Just throwing out another idea - use a versioning scheme like .NET does for the SDK, where the version number is {major}.{minor}.{patch}{toolsVersion}.

e.g. You end up with the following.

Not pretty, but maybe allows for keeping some things always in sync, and handles AAS extension patches?

pierotibou commented 2 years ago

I "look forward" to seeing the bash code for doing the more complex work upcoming 😶

You don't ;-). Yes I know, but in which case we can discuss with other teams to see what they use. Let's say that AAS should be owned by a different team, like Serverless, then maybe it would be better to use the same thing as they do. So far, they don't use anything for the AWS lambda .net tracer, so I kept it simple :p Anyway, I hope we won't have much more complicated things do do 🤞

Just throwing out another idea - use a versioning scheme like .NET does for the SDK

😍 I think that's a great idea. Easily documentable, easily discoverable, easily implemented! What's not to like? Thank you

pierotibou commented 2 years ago

I've tested this in a fork. It should be reviewable now. It's not great code, it's bash I mean ;) And I haven't tried to refactor (for instance to get/replace the versions, I copy pasted the code for now)