-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Add build artifact containing json file of all wire compatible versions #123740
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
Add build artifact containing json file of all wire compatible versions #123740
Conversation
|
Pinging @elastic/es-delivery (Team:Delivery) |
|
@DaveCTurner Seems the cloud team wasn't picky on format or convention here. I'm happy to tweak anything. The one thing though is that the published artifact has to be an archive, as that's a limitation of release manager. |
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.
LGTM
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.
few remarks. I wonder if we can skip the zipping
| } | ||
| } | ||
|
|
||
| def upgradeCompatibilityZip = tasks.register("upgradeCompatibilityZip", Zip) { |
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.
we release other non zip plain files already (e.g. the taco file https://github.com/elastic/infra/blob/4d9aaee586fcfef69c4e97f1e90f877ca4fae0f5/cd/release/release-manager/project-configs/master/elasticsearch.gradle#L83) I wonder if we can skip the zipping bit
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.
The .taco file though is a zip file. Maybe we can hack this but it's not clear if release manager does any validation here to ensure those are proper archives.
…ns (elastic#123740) (cherry picked from commit e54037b) # Conflicts: # build.gradle
…ns (elastic#123740) (cherry picked from commit e54037b)
…ns (elastic#123740) (cherry picked from commit e54037b) # Conflicts: # build.gradle
…ns (elastic#123740) (cherry picked from commit e54037b) # Conflicts: # build.gradle
💚 All backports created successfully
Questions ?Please refer to the Backport tool documentation |
To ensure we avoid upgrades between chronologically older Elasticsearch versions we need to know what these versions are. This adds a release artifact with this list of versions in a machine-readable format (JSON).
We will start publishing an (internal) zip file artifact, containing a single JSON file
rolling-upgrade-compatible.jsonwith the following format (example for 8.18.0):{"rolling_upgrade_compatible_versions" : ["7.17.0", "7.17.1", "7.17.2", "7.17.3", "7.17.4", "7.17.5", "7.17.6", "7.17.7", "7.17.8", "7.17.9", "7.17.10", "7.17.11", "7.17.12", "7.17.13", "7.17.14", "7.17.15", "7.17.16", "7.17.17", "7.17.18", "7.17.19", "7.17.20", "7.17.21", "7.17.22", "7.17.23", "7.17.24", "7.17.25", "7.17.26", "7.17.27", "7.17.28", "7.17.29", "8.0.0", "8.0.1", "8.1.0", "8.1.1", "8.1.2", "8.1.3", "8.2.0", "8.2.1", "8.2.2", "8.2.3", "8.3.0", "8.3.1", "8.3.2", "8.3.3", "8.4.0", "8.4.1", "8.4.2", "8.4.3", "8.5.0", "8.5.1", "8.5.2", "8.5.3", "8.6.0", "8.6.1", "8.6.2", "8.7.0", "8.7.1", "8.8.0", "8.8.1", "8.8.2", "8.9.0", "8.9.1", "8.9.2", "8.10.0", "8.10.1", "8.10.2", "8.10.3", "8.10.4", "8.11.0", "8.11.1", "8.11.2", "8.11.3", "8.11.4", "8.12.0", "8.12.1", "8.12.2", "8.13.0", "8.13.1", "8.13.2", "8.13.3", "8.13.4", "8.14.0", "8.14.1", "8.14.2", "8.14.3", "8.15.0", "8.15.1", "8.15.2", "8.15.3", "8.15.4", "8.15.5", "8.16.0", "8.16.1", "8.16.2", "8.16.3", "8.16.4", "8.16.5", "8.17.0", "8.17.1", "8.17.2", "8.17.3"]}This includes all "known" wire compatible versions at the time of release.