-
Notifications
You must be signed in to change notification settings - Fork 148
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
Check support for prerelease qualifiers #6523
Comments
Pinging @elastic/elastic-agent-control-plane (Team:Elastic-Agent-Control-Plane) |
We need to make sure upgrades work with this, that probably requires us to know the artifacts URL structure.
It would be good to confirm how far we need to take this, the independent agent release infrastructure can create new packages using previously compiled binaries. The Elastic agent package job shouldn't actually be compiling anything, but it still qualifies as a new build that would have to be tested. We need to confirm if re-packaging binaries that were not recompiled is good enough to satisfy this, if it is we probably meet it by triggering the package job again while reusing previous DRA artifacts. |
Performed a test using a SNAPSHOT manifest (staging manifest for 9.0.0 is not available at this time) using: MANIFEST_URL="https://snapshots.elastic.co/9.0.0-7ab33a91/manifest-9.0.0-SNAPSHOT.json" AGENT_DROP_PATH=build/elastic-agent-drop AGENT_PACKAGE_VERSION="9.0.0-beta" BEAT_VERSION="9.0.0-SNAPSHOT" VERSION_QUALIFIER="alpha1" EXTERNAL=true mage -v clean downloadManifest package We have an error when building docker image variants
It seems that when a SNAPSHOT manifest is used for retrieving dependencies, SNAPSHOT flag is forced to true, so these package specs generate a wrong archive name:
The code that forces the BEAT_VERSION and SNAPSHOT flags from the manifest is here (it has been added for Independent Agent Release flow in PR #4885 Lines 1321 to 1327 in ed8e351
The other artifacts have the wrong version
I would like to retest this with a non-SNAPSHOT manifest to see if the side effect is still present, in which case we need to find a workaround that does not break IAR but still allows for packaging agent with a |
I believe that the VERSION_QUALIFIER is not intended to be used (or at least it's not a requirement) for SNAPSHOT builds. It's only for Staging builds. Also, it's worth noting that the Independent Agent Release will never have to support VERSION_QUALIFIER either. Those builds will always be from a version that has already been released, and there's no reason to have to do an IAR build from a major version pre-release like 9.0.0-alpha1. I hope that helps simplify the logic for you. |
@dwhyrock I am currently testing with a SNAPSHOT manifest because there's no staging manifest yet for 9.0.0 😓 I am wondering why we force SNAPSHOT=true for the agent packaging if the Manifest version contains |
I believe it's for a couple reasons. 1) We don't want to "mix" artifacts (Snapshot vs Staging), and 2) I believe it was a way to quickly determine that the packaging is a Snapshot build. I think there are places where we skip for IAR if it's a Snapshot build. It may not be the most clean way to do this (and perhaps it's a bit heavy-handed?). I'd be happy to do some IAR builds to help test any change you make. Just let me know. |
Created a draft PR that will allow testing packaging as it is invoked by the unified release but using a SNAPSHOT version of dependencies using:
However at the moment those modification broke the dev packaging so it will stay in draft until that is fixed as well. @dwhyrock how time-consuming it would be to test the IAR on my PR branch ? |
I'm going to create a draft PR in |
@pchila I was able to execute your branch via the Independent Agent Release Staging pipeline, but only after getting help figuring out a workaround to be able to use your branch from your forked New "Fork Trampoline" Checkout MethodTo get it to work, I created an (As of now, I don't necessarily think it should be merged, but can be useful in this testing). I also have a branch in the Current BugCurrently, it looks like there's an error in the packaging part, where it is looking for a I believe most Agent dependencies should be using artifacts with the previously-released version, and only the final Elastic Agent Package artifacts should contain the new IAR version. There are daily IAR Staging builds for 8.16 and 8.17 if you need to look at them. For Subsequent Testing of IAR Staging With Your BranchHere is the IAR Staging pipeline that can be run (on my So, whenever you have an update pushed in your forked branch, you should be able to hit "New Build" from the above link and it will use your latest changes. There is a holiday for US folks on Monday, so I will be out, but you can run new builds from that pipeline I just linked to exercise the IAR Staging build. No parameters/env vars needed, and it won't affect any release if you run it as-is. |
For 9.0 release Elastic Agent needs to be packaged using prerelease qualifiers, like:
beta
rc1
,rc2
The goal of this issue is to check that the relative packages can be correctly generated using
mage package
, specifically:version
command output correctly prints the specified qualifiersNotes:
beta
version usingThe text was updated successfully, but these errors were encountered: