On Wed, 31 Jul 2024, Adrian Croucher wrote: > > On 31/07/24 4: 47 pm, Satish Balay wrote: > > Major releases [i. e. 3. 21. 0, 3. 22. 0 etc. ] are spun from main branch once > > every 6 months. > > And bug fix updates [i. e. 
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
 
ZjQcmQRYFpfptBannerEnd
On Wed, 31 Jul 2024, Adrian Croucher wrote:

> 
> On 31/07/24 4:47 pm, Satish Balay wrote:
> > Major releases [i.e. 3.21.0, 3.22.0 etc.]  are spun from main branch once
> > every 6 months.
> > And bug fix updates [i.e. 3.21.1, 3.21.2 etc.] are spun from release branch
> > once every month [during this 6 month cycle].
> >
> > i.e PetscObjectIsNull() change that's currently in main branch won't be in a
> > tarball (or a tagged version) until 3.22.0 release in Sept end.
> 
> I guess I'm still a bit confused by your system. What exactly is e.g. the
> recent commit with tag "3.21.4", if it isn't a "tagged version"?
> 
> That tag appears to be on the "release" branch as well as "main" - i.e. I can
> see it if I look at the commits for the "release" branch. So it looked to me
> like a minor release. How are users supposed to interpret those tags?

Sorry for all the confusion.

You should interpret the release process as I described above. Different projects use different git workflows.

Our release workflow:

- New features [and other changes] go into 'main' development branch. There could be API changes here. They get released every 6 months as 3.21[.0], 3.22[.0], 3.23[.0] major releases.
- Since this is a major release - the release branch is synced with all these changes from main (that correspond to this major release) - at this point in time.
- Subsequent bug fixes go into this 'release' branch. There is no API changes here, These patch updates get released every month [i.e 3.21.1, 3.21.2, ... 3.21.6] until the next major release 3.22.0.
Here one could easily update from 3.21.1 to 3.21.6 (i.e not be stuck at 3.21.0) without fear of API changes breaking their application code [and getting the bug fixes for the current release]
- And all release bug fixes are also needed in 'main' branch - so there is a frequent merge of 'release' to main' during these 6 months.

i.e "looking at latest tags in the main branch and assuming it corresponds to the *latest* snapshot of main changes" is min-interpreting our release workflow.

Also note: our release docs are at: https://urldefense.us/v3/__https://petsc.org/release/__;!!G_uCfscf7eWS!cki0uYPhZTPbxunajvNTcZaxLD9JegmvdpZpXbKlwChtoCpykn6IvPXbZwK4TiVyAVJrMDktrLraRTLPqEzgUeMbxg$

And development docs are at https://urldefense.us/v3/__https://petsc.org/main/__;!!G_uCfscf7eWS!cki0uYPhZTPbxunajvNTcZaxLD9JegmvdpZpXbKlwChtoCpykn6IvPXbZwK4TiVyAVJrMDktrLraRTLPqEzqge3b1A$ esp: https://urldefense.us/v3/__https://petsc.org/main/changes/dev/__;!!G_uCfscf7eWS!cki0uYPhZTPbxunajvNTcZaxLD9JegmvdpZpXbKlwChtoCpykn6IvPXbZwK4TiVyAVJrMDktrLraRTLPqEwbYDZzrQ$ that list the changes scheduled for the next (major) release.

Satish

Reply via email to