Splitting branches? #1618
Replies: 25 comments
-
I think the releases and beta releases are very well managed given that he is only person doing these. To make it easier for Soji and increase the quality of the release, we others should test more, review more, contribute more instead of complicating the workflow with extra branches. And I'm not aware of anyone planning or doing deep changes. So I don't think it is a good idea. |
Beta Was this translation helpful? Give feedback.
-
TL;DR: I agree with @dverdin Long answer: Framalistes hosts more 40k lists with ±730k users and we send more than 250k mails per day. Therefore, we need stability: we can’t afford to risk to get new bugs introduced by a new feature when upgrading to a new version because the new version has a bugfix we need. So I patch my Sympa, but I don’t patch every bugfix (no time available for that). I think that having two branches would be the right thing to do. But instead of calling them |
Beta Was this translation helpful? Give feedback.
-
I don't know why David didn't quote my response. Here I do:
|
Beta Was this translation helpful? Give feedback.
-
Hi everyone, Indeed, @ikedas I did not quote you mainly because it was your thoughts, not mine, so I preferred you publish them instead of me. I agree with @ldidry about the denomination. I talked about stable and development because it was how we called it during the CRU / RENATER era. But if you feel long term support / cutting edge suits better, I agree. To @racke : It is not that weird to have two branches. Most projects have a stable release in which they only introduce bug fixes and an ongoing development barnch in which they can make deeper and non reversible changes. it does not change anything about workflow: you make quick bug fixes in the stable branch to keep the stable version afloat and you make planned, long term developments it the dev branch. It offers us the ability to break things temporarily in the development branch if needed. In what I understand, until now :
Any other advice? |
Beta Was this translation helpful? Give feedback.
-
We need to talk about the tagging of the LTS branch. I propose Of course, we could also switch to semantic versioning instead, but I remember that has already been discussed and was not accepted. |
Beta Was this translation helpful? Give feedback.
-
I would prefer to use numbers for the LTS: |
Beta Was this translation helpful? Give feedback.
-
So for starters (before implementing a branching scheme) I would like to clearly identify changes which alter the behaviour of Sympa, e.g. #1038. I suggest that these will be communicated in a separate section of the release notes. Also input from everyone to these kind of changes would be appreciated 👋 |
Beta Was this translation helpful? Give feedback.
-
I don't agree to call the branch proposed by @dverdin as "stable". As far as I can understand, it would be better to be called "legacy" or "frozen". That's what @dverdin wishes: What he want is the software working just the same as 6.1, isn't it? About versioning: @dverdin says there are "big changes" during 6.2. I don't think so. There are many bug fixes, clarification of features, removal of duplicate or conflicting behaviors. (At least by me) there are few that newly added. After all, recent work is paying the price in the past: No suffice test suites; "Copy-and-paste" programing instead of refactoring.
I think semantic versioning (this is good idea by itself) or split branchs is "the rice cake in the picture" - the pie in the sky. Recently we are working to accomplish the ideal development I wrote in above. I think continuous release is better than spending time discussing about release date and version number of the next release. |
Beta Was this translation helpful? Give feedback.
-
I agree with @ikedas about continuous releases. Those who are support special branches should feel free to help first with reviewing PRs and setup a better test infrastructure. |
Beta Was this translation helpful? Give feedback.
-
No, but that's on the back burner for now. Currently working on a new Ansible role for Sympa, which I used for an upgrade and revamp of a Sympa installation at a German university. Hope to publish that before/shortly after the 6.2.60 release. |
Beta Was this translation helpful? Give feedback.
-
Hey, that's cool! |
Beta Was this translation helpful? Give feedback.
-
I think that these are exactly the kind of things that should be done in a development branch only. When and admin has installed a Sympa, he does not want to change it. If a simple upgrade to a version of the same branch breaks your cutomizations, you'll stop trusting the software. And I really don't think that a lot of administrators are reviewing PR. so when they discover a change, it is often a bit late. |
Beta Was this translation helpful? Give feedback.
-
@dverdin, I repeat my statement, leave from this thread and continue working for Sympa:
|
Beta Was this translation helpful? Give feedback.
-
Yes, though it will only cover Sympa installation itself. So you would need roles for MTA, RDBMS and web server.
|
Beta Was this translation helpful? Give feedback.
-
And you're perfectly right to do it!
And I don't care how releases should be numbered. |
Beta Was this translation helpful? Give feedback.
-
But they are supposed to read the release notes. And I said we should do a better job on the PR reviews (with the exception of @ikedas who does that properly). |
Beta Was this translation helpful? Give feedback.
-
And that's exactly what I want to do! We all agree. Cool! |
Beta Was this translation helpful? Give feedback.
-
Oh, yes, sorry: "we" = the developers. |
Beta Was this translation helpful? Give feedback.
-
Good ! that will certainly be a good improvement of what we do now. Better maintainability by using galaxy roles. |
Beta Was this translation helpful? Give feedback.
-
@ikedas: Why would such an LTS, short of a better name, has to be in a fork in a different namespace while it could happen in the sympa-community namespace ? @racke: I'm reading the release notes and I usually know about the changes beforehand, but I've never seen any release notes mentioning regressions. I do also test the betas and I'm even providing Fedora/RHEL/CentOS RPMs for the betas to ease the life of anyone wanting to help test them. However, there's no way for me to test every special cases on my test rigs that I or other will encounter on a real life production server. And thus I and others did hit regressions, and reported them, but after suffering from them in production. @racke: is the ansible role building from source or using the RPMs ? Also Fedora 31 is EOL. |
Beta Was this translation helpful? Give feedback.
-
I think we need to help @ikedas when he is writing the release announcements. Usually I can determine which changes can bite users. This should be clearly marked.
From source, git repo and local folder (last one mostly for development). Package is in the works. What do I need to install the beta repos? I tried Fedora 32 but it coughed violently when it tried to install Perl modules with cpanm. |
Beta Was this translation helpful? Give feedback.
-
The regular releases are in Fedora and EPEL, respectively. The beta, built from the same specfile too but with the beta tarballs are at: |
Beta Was this translation helpful? Give feedback.
-
oh, and forgot to mention it, no need for CPAN, all perl modules are available as rpms. |
Beta Was this translation helpful? Give feedback.
-
Even the optional ones? For source installations it is needed to install with CPAN as it is hard to maintain list of module - package mapping. And a new Sympa version might require another module. |
Beta Was this translation helpful? Give feedback.
-
Even the optional ones. If any is missing, please let me know, I'll try and get them packaged and added to Fedora/EPEL. |
Beta Was this translation helpful? Give feedback.
-
Dear all,
I discussed this by mail with Soji but I'd like to propose it here: Would it be possible to split sable and development branches?
Currently, Soji maintains Sympa almost single-handedly and the last thing we want is to see him being crushed by work.
But on the other hand, maintaining a Sympa with mixed refactoring, improvements and bug fixes makes it difficult for user to follow the releases, because sometimes, a bug arise.
If we had two different versions, 6.2 as stable and 6.4 or 6.3 or whatever as the next stable, it would allow to make deep changes in the development code without fearing to break running instances, and we could still fix bugs and security problems in the stable branch.
Soji made it clear that he could not maintain both branches so somebody else should maintain the stable branch. If no one more competent wants to, I volunteer to do it.
Also, I would support the idea of Soji being release manager for the development branch, the future stable version.
What do you think?
Cheers!
David
Beta Was this translation helpful? Give feedback.
All reactions