-
Notifications
You must be signed in to change notification settings - Fork 542
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
Create separate dev
branch for Wagtail development purposes
#424
Comments
main
(or PR) branch easierdev
branch for Wagtail development purposes
I like your proposal except for:
It can get really tiresome to maintain long-lived branches that have to stay "somewhat in sync but not quite", and I don’t see ourselves wanting to dedicate that kid of time for bakerydemo. I think a So back to the use cases for this, I see three, and I think my preference would be for separate solutions:
The alternative is to do some or all of the above in an ad-hoc capacity as it makes sense. So for example for GSoC, we could create our own |
@thibaudcolas ooh, using a separate app for testing sounds like a great idea, I hadn't thought of that! That would definitely be useful, even on the I think we can also add an environment variable to enable/disable the app based on the environment, e.g. to disable it on https://demo.wagtail.org but leaving it enabled on our local copies.
Yeah that would work for the short term, but I'd like to see a formalised process so we don't have to think a lot about this in the future. |
This is a follow-up to @thibaudcolas' #175. That issue is more concerned about missing features to aid Wagtail development, whereas this one is concerned about the development process.
The bakerydemo is used to demonstrate the latest stable version of Wagtail. As a result, any new changes in Wagtail are only incorporated into bakerydemo after the stable version is released.
On the other hand, bakerydemo is often used as the primary testbed for developing Wagtail. As the
main
branch of bakerydemo needs to be compatible with the latest stable Wagtail release, it means each of us needs to make changes to our own fork (or a separate branch in this repository). This can sometimes be a pain point in developing Wagtail, especially when we need to test/review new features that's built on top of the latest changes.To top it off, bakerydemo sometimes lags behind the latest Wagtail release for a while until someone makes a PR to update it and bring new features. One of the reasons for this is that our local changes are usually a quick and dirty solution to do some tests, and may not fit within the overarching theme of bakerydemo, so we tend to not make a PR for it.
We need to figure out a way to make testing against Wagtail's
main
or a PR branch easier, so we can speed up Wagtail's development process.An idea that I had in mind is to have a separate bakerydemo branch, e.g.
dev
, that acts as the primary branch for core contributors to work on. How it would work:dev
branch from current bakerydemomain
.dev
on their own fork of bakerydemo, and make a companion PR to bakerydemo'sdev
using that branch.main
and the bakerydemo companion PR to bakerydemo'sdev
.dev
tomain
. Any cleanups needed indev
would be ironed out before merging it tomain
.There are a few challenges here, though:
main
. However, this isn't always possible as it takes a good amount of time to figure out a use case for testing the PR that also fits well into bakerydemo. Thus, we may need to compromise when it makes sense. It's not a very big deal though, considering thatdev
is still separate at this point.dev
intomain
won't always be straightforward, as we'll need to make sure everything is good for the demo.dev
andmain
(almost) completely separate branches. When a new Wagtail release is out, changes indev
that make sense would be cherry-picked intomain
, and the rest are left-out (or redone in a different way).dev
andmain
diverge, or hard resetdev
to be based onmain
. Contributors would need to update their forks accordingly.What do you think? Please discuss! 😄
The text was updated successfully, but these errors were encountered: