-
Notifications
You must be signed in to change notification settings - Fork 176
[Release] Update version to 9.0.5 #8978
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
base: 9.0
Are you sure you want to change the base?
Conversation
@@ -12,6 +12,8 @@ env: | |||
IMAGE_DEBIAN_12: "platform-ingest-elastic-agent-debian-12-1751677239" | |||
IMAGE_WIN_2022: "platform-ingest-elastic-agent-windows-2022-1751677239" | |||
IMAGE_WIN_2025: "platform-ingest-elastic-agent-windows-2025-1751677239" | |||
# Remove AGENT_VERSION pinning once 9.0.5 DRA and stack are released | |||
AGENT_VERSION: "9.0.4-SNAPSHOT" |
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.
Wonder whether this could be done in another PR that targets 9.0
.
By doing so, it can be reverted easily through the GH UI when needed, and remove the robots CI team from the review in this PR - as we were not needed in the past.
What do you think?
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.
@v1v this is required to do a bump of the elastic-agent version so we can eventually produce the necessary DRA but maintain the CI green. In the past these PRs were forced merged and resulted in a blocked CI. So what's the issue this env var causes?
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.
My idea is to implement changes in a different location. For instance, I created #9021. While it’s not perfect, it demonstrates that these defaults could be temporarily set within the Go project until DRA is enabled. This approach would eliminate the need for approving such changes in these PRs, achieving the same outcome with less overhead for the CI team, as we are not owners of the other files.
In the draft PR I tested, the changes were made quickly and without extensive analysis. However, I believe it illustrates the desired outcome. We can certainly discuss how to implement the details differently, but the revert will be straightforward and can be easily done in the GitHub UI by clicking on:

And it can be merged before this PR.
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.
@v1v respectfully, but your proposal introduces some significant drawbacks. You’re hardcoding values directly into the codebase, which undermines flexibility and maintainability. The “straightforward revert” you mention doesn’t quite hold up when those values are embedded in Go code, as opposed to being centrally controlled through env vars.
In addition, at least for the moment, the version bump and the pinning are necessary to keep the CI green while we work towards the DRA release. Introducing the pinning in the Go code is actually more challenging, as it requires touching multiple places across the project. Centralising this logic in the pipeline via env vars is not only cleaner but also more maintainable and automation-friendly in the long term.
Avoiding this approach just to reduce CI team review overhead seems like the wrong trade-off.
cc @cmacknz @ebeahan @cachedout @pierrehilbert for visibility and thoughts.
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.
It was indeed a quick 5-minute PR change to implement this functionality elsewhere; however, it is not intended to be a final solution. Instead, we could use some files containing those versions, which would be read by the project, rather than relying on environment variables in the BK pipelines. This approach would allow us, the robots-ci, to move away from the review process related to the FF as we are the CODEOWNERS
, see https://github.com/elastic/elastic-agent/blob/main/.github/CODEOWNERS#L8-L10.
For context, we have not been involved in these steps in the past, so I want to emphasise that we do not want to be blockers.
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 agree that setting this environment variable once here is by far the simplest and least error prone option, and also that we want to minimize the number of approvals we need during our already convoluted release process. I don't love complicating the implementation to work around the code owner setup but I can emphasize with not wanting to be on the hook for approving these changes all the time.
The best compromise would be figuring out a way to load the environment variable here from a file and set the CODEOWNER separately from that.
I don't think this env
section support this, but there is an environment hooks feature meant for secrets that possibly could let us do this https://buildkite.com/docs/pipelines/security/secrets/managing#without-a-secrets-storage-service-exporting-secrets-with-environment-hooks
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.
Sure thing @cmacknz. Until we figure out and agree on a long-term path forward — and you already know I’m “cooking” a hopefully more robust solution — what should we do in the meantime for the version bump releases?
I’m happy to revert the pinning commit from this PR if that’s the preferred approach, and we can go back to force-merging those PRs and risking blocked backports until all DRAs are ready. Just let me know in time so I can clean it up accordingly 🙂.
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.
# Conflicts: # .buildkite/bk.integration.pipeline.yml
This pull request is now in conflicts. Could you fix it? 🙏
|
I had a sync with @v1v , and we both agree that this manual process of adding of env vars / pinning elastic agent version should not become permanent. I started working on this PR that will automate this process but more importantly the produced PRs by it will reflect correct file-ownership in the PR reviewers. That said, my proposal is just for this time, since these releases are almost upon us, we go with the manual approach; @pierrehilbert @ebeahan you follow what you did before, you wait only for an approval from elastic-agent-control-plane team (eng-prod team is not actually required to review this) and then when the CI is green you merge. Any objections anybody? 🙂 |
This pull request is now in conflicts. Could you fix it? 🙏
|
# Conflicts: # .buildkite/bk.integration.pipeline.yml
|
💛 Build succeeded, but was flaky
Failed CI StepsHistory
|
Updates references to the new release 9.0.5.
Merge after the release 9.0.4.