Closed je-cook closed 1 year ago
Seems a good plan to me. I think it will be really good to get into a development cycle.
Excuse the brain dump, but these are a few thoughts I had:
Obviously none of this changes our current plan, but they're things we should think about.
Good things to think about, here's my initial thoughts
I'm assuming semantic.
I think semantic makes more sense than calendar based probably but not wedded to that.
Do we stick with 0.0.1aX and increment X for the time being?
Yeah I think so. Once we have something we're happy with go straight to 0.1.0 and then point release every 6 weeks makes the most sense to me. We can always go back to alphas if we need to.
Will we backport bugfixes...?
I think bugfix backport releases probably shouldnt be needed until at least 0.2 (or maybe 1.0 onwards) at a minimum before that we should insist on the latest version being used. Maybe more widely thats a decision for after 1.1. I'm inclined to say latest minor version of a major version and then have v1, v2 branches whenever we get that far down the line.
Fenicsx conversion will be done separately
Description of issue / requirement to address
As we start becoming more stable we should have a release cycle and adjust how we deal with dependencies.
Proposed solution
A release (not necessarily a full release eg 0.0.0a1) will happen every 6 weeks, immediately after which the new dependencies updates will be merged into develop. Dependency updates should be tracked in a separate a branch
develop_dependencies
that tracks develop. These new dependencies will run on the CI so that breakages are caught and fixed early. New dependencies should be merged in to develop every ~6 weeks creating a more stable environment for new features to be added.First step is in #1068 separate out dependencies into their minimal areas the full list to first tag:
develop_dependencies
branchdevelop_dependencies
Near Future:
In a couple of cycles:
The docker containers are just awaiting our conversion to dolfinx
Alternative solutions
Live with unstableness and never release
Additional context
We need a nice workflow in order for everyone to be able to improve the code while not being disrupted too often