Conversation
|
@julianoes LMK if this matches your expectations, I also sent a commit to the backport branch |
a51252c to
bf6d4cf
Compare
I think I'm ok with this but that's not how it used to be as far as I'm aware. Also, it doesn't work when triggering stable builds from release. What if we have v1.17.0 -> supposedly stable, but we decide to make a release for v1.16.2 to bugfix something? I think that should be possible. |
|
That's a valid case, however sadly QGC will always fetch from the stable directory which will contain whatever was pushed there last, which could be either 1.16.2 or 1.17.0 depending on which tag was pushed last. Once we move to the firmware manifest strategy we will be able to avoid this entirely. As far as I'm aware this is how it's always worked. |
|
As far as I'm aware the stable brunch is what triggered the push to |
|
Hey Julian, I wanted to explain the reasoning behind my commit so you can factor it in as you decide how to move forward. The main concern I was trying to address is the double-trigger scenario. The current workflow triggers on both tags and branches: on:
push:
tags:
- 'v*'
branches:
- 'main'
- 'stable'
- 'beta'When a release is made, two things typically happen close together: a version tag is pushed (e.g.,
Beyond the wasted CI resources of building everything twice, this creates a real problem with version identification. PX4's CMake build uses The other thing my commit addressed was pre-release classification. Without distinguishing tag suffixes, any I understand the team's preference to keep the |
|
Thanks for explaining this @mrpollo.
I agree this is a tricky one. My suggestion would be to document the release process to make sure the tag and branch are pushed together. If they are pushed together, both CI runs should pick up the tag, right?
Yes!
I think we still need it for the case where we have the stable branch pointing to v1.17.0 but we create the release v1.16.2 containing a few backports. If we decide we never do that, then we shouldn't need it ineed. @MaEtUgR and @dagar, do you agree? I really would like you to chime in here because this is currently broken (wrong) in QGC and needs resolving ASAP. |
|
Here's the release process draft #26272 |
|
Well, I'm not sure what I should do here. @mrpollo you don't seem convinced of what I suggest and no one else seems to be bothered enough that QGC has been flashing v1.17 instead of v1.16 for more than two weeks to chime in here and help out. I can either merge and try it out myself, or close it and walk away. |
|
I think we are close here. The main decision we have to make is what triggers the release builds. My view is that it should always be the tag, where you seem to have gotten feedback from @dagar and @MaEtUgR that the stable branch reset, and push should do it. Either works, but as you found out, I'm the only one maintaining this part of the codebase, so I'm going to overrule them unless they chime here and explain why they think their approach is better. I can take care of the branch from here if you have spent enough time on it. I will bring it up on this week's call and make a decision. |
|
@mrpollo did you come to a conclusion in the dev call? |
|
Pretty much what @MaEtUgR suggested, I will bring back my commit and tweak it to address the current goals, I will ping you when I'm done for a quick review before merging |
a878b07 to
db7af8f
Compare
|
@julianoes I forced push to this branch so only one commit gets pushed, cleaner history, and it matches what was agreed upon. We are ready to merge. Here's an excerpt from the workflow file leaving this in as guide for whoever comes next in the future trying to find answers, I will also document this at a later point in another PR I am preparing. |
julianoes
left a comment
There was a problem hiding this comment.
I think that makes sense now.
Remove the step that uploaded every version tag to the stable/ S3 directory, which caused QGC users selecting "stable" to receive pre-release firmware (#26340). The stable/ and beta/ directories are now controlled exclusively by their respective branch pushes, while version tags only upload to their versioned archive directory (e.g., v1.16.1/). Pre-release tags are also correctly marked on GitHub Releases. Co-authored-by: Julian Oes <julian@oes.ch> Fixes #26340 Signed-off-by: Ramon Roche <mrpollo@gmail.com>
db7af8f to
9965cef
Compare
|
🎉 thanks everyone |
From what I understand, we should only update to stable based on the where the stable branch points, but not any release automatically.
Addresses #26340.