-
Notifications
You must be signed in to change notification settings - Fork 3
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
Auto release workflow #73
Conversation
type: string | ||
description: "The apps to release with this format: `app-dir1=version1,app-dir2=version2`. E. g.: `go-highs-knapsack=v1.2.0,java-ortools-knapsack=v1.2.0`" | ||
description: "The apps to release, comma separated. E. g.: `go-highs-knapsack,java-ortools-knapsack`" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will the manual part of this workflow stay? When releasing manually, we should probably not bump the version, right?
I.e., if we run against dev/staging, we don't want to mess with the version of the app in the repo, but rather just push it there, right? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left the manual dispatch in case we needed to release by hand (although we shouldn't need to). In any case, the inputs are just names, the version is not specified anymore, in neither the manual nor the automated way.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! 🎉
Just a remark about potentially skipping version bumps on other environments than prod, just to ensure that there will be no confusion with versions missing from prod (but being in code).
Co-authored-by: Marius Merschformann <marius.merschformann@googlemail.com>
Description
This PR modifies the release workflow to be automatic. Now we keep two types of versions:
nextmv community clone
the app.The app version is auto-updated based on today’s date and a counter. If the app is release more than once a day, the counter simply increases.
The marketplace version is auto-updated by bumping the minor version. There is a new filed in the
workflow-configuration.yml
file calledmarketplace_major_version
. If that version is changed fromv1
tov2
, for example, the auto-release workflow will now start updating fromv2.0.0
onwards. That is the place where one would specify a new major version being released. If that field is not updated, we will always do a minor bump.There is a new
.nextmv/release
folder because the logic started to get complex, so the release script is now a package with multiple files. The main file is.nextmv/release/main.py
.The
release.yml
workflow was modified to pick up changes on the community apps and do an auto-release.