-
Notifications
You must be signed in to change notification settings - Fork 222
Added multi-branch support for master #762
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: master
Are you sure you want to change the base?
Added multi-branch support for master #762
Conversation
23a1177
to
4c19f68
Compare
Some major comments:
Refs
|
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
Signed-off-by: Leander Stephen D'Souza <[email protected]>
4c19f68
to
f6397f7
Compare
Thank you for the detailed feedback, Steve :)
|
Nice! 👍
👍 Probably wise.
I think more than just the automations, but the actual maintainer workflow. Right now, I merge into The 4-6 cherry pick event is something I like since I can bulk process out a bunch of distros and deal with merge conflicts all at once locally, versus using the backport bot in Nav2 to do it and then have to deal with the github UX for resolving complex merge conflicts. Plus, I test locally before pushing the updates to make sure things work and I'm confident in running a release for that distro that day. I'm trying to think about adjustments:
I generally have wanted to support multiple distributions for documentation, but I haven't thought of a good way of really maintaining it that (a) isn't a huge process burden since releases for distributions is already a nearly-all-day task and (b) isn't hugely human error prone making it unreliable. The first idea seems like the best I have so far. Some of your thoughts as the author might be nice 😉 Something I had thought about was adding an "Added in X" distro field for every parameter. That would give some versioning on a single website, but I suppose has a similar issue as my first idea with keeping it inline with backports.
Yeah, I think it was something I was curious to experiment with. I'm not sure how value generating it is, but it would look prettier, which I suppose is some value in it of itself. I've been kind of wanting a revamp for the docs.nav2.org landing page / videos / etc and these new formats came to mind that seem better to support media-first initial pages |
My suggestion is to add a potential distro-label to any PR that gets merged into the After the If any change is reverted from the To make the whole process easier for contributors and maintainers, we can add a Pull Request Template detailing the potential branches that the change can be merged into. I feel this method is better because of the following reasons:
Yes, I believe the landing page can be inspired by MoveIt or uv, as it prioritises the functionality of the tools and installation immediately on the homepage. |
I spent a bit of time mulling this over and I think what I'm leaning towards is kicking the can down the road. If the intent is to update the documentation format in the short to medium term future, then adding multiple heads to track is going to double-triple-quadruple the amount of manual QA and adjustment work for the new formatting. I'd rather wait for multi-branch support with a new format than doing beforehand. In terms of process, I think that's towards a better solution, but still very human error prone. Other than moving the docs back into the Nav2 source directly so code changes + doc updates are all in one place for backports to carry both, I don't see a real bullet proof solution. I was thinking that on a backport branch, I could ask an LLM to look at the cherry picked commits, find their PRs and find associated documentation PRs and give me them as a list. We could add that as a github template parameter of both the Code PRs and the docs PRs so that hopefully someone doesn't miss it twice. Also if its just in the PR template fields, I could personally just click on those docs when I'm doing the backports, but the main issue I see with that is that many people open up the docs PRs long after the original PR was opened in response for my request for include doc updates. So relying on the linkages rather than PR body fields seems better. I think the That actually sounds perfect. That script could even be run in as a mergify command/github action in the Nav2 backport PR to run as a job and then automatically open the associated docs backport PRs by adding the 'backport' tag on the docs PRs that it contains (i.e. CI job runs script to ID the docs PRs for the backported Nav2 commits, then on those docs PRs, automatically tag them with a |
Note
Please refer to #763 after this to get a better understanding of how to add future distros (e.g.
kilted
).Basic Info
Description of contribution in a few bullet points
nav2_multi-branch-support-master.mp4
sphinx-multiversion
to extend builds for different branches.master
.How to test this change?
master
locally, and runmake multiversion
according to the updatedREADME
.Future work that may be required in bullet points
kilted
branch needs to be created after this PR is merged.rolling
/master
andkilted
.master
branch can be renamed torolling
for readability in the Docs.