> It's been mentioned "always shippable trunk according to circleci". That's > not true: we are always shippable according to *either* CI. There are folk > just using ci-cassandra for our pre-commit gateway. It is important that you > don't trash the other CI system, particularly when it comes to parity of the > tests that we run. If you introduce new tests in one CI it is on you to > introduce it to the other CI, and therefore run both CI pre-merge. This does > not imply a merge is blocked on green ci-cassandra.a.o
I had no intention to “trash” Jenkins, my reaction was to the statements that a lack of Jenkins means we are not following the process. I am fully aware that there is a lot of work here, and know many of us (including myself) want to migrate away from Circle Ci. > On Feb 1, 2023, at 3:24 PM, Mick Semb Wever <m...@apache.org> wrote: > > > >> Hi Everyone, I hope you all had a lovely holiday period. > > > Thank you David and Caleb for your continuous work dealing with the > practicalities involved in getting the merge to happen! And thank you > Benedict for starting the thread – it is an important topic for us to > continue as CEPs and feature branches become a thing! > > Reading the thread I see some quite distinct perspectives, and it's making it > difficult to have as constructive a dialogue as we should wish for. As is > usual we see this balanced by the productive collaboration happening but > hidden in the jira tickets. > > I want to raise the following points, not as things to solve necessarily but > to help us appreciate just how different our PoVs are and how easy it is for > us to be talking past each other. If you immediately disagree with any of > them I suggest you read below how my PoV gets me there. > > 1. Work based on a notion of meritocracy. If you do the work, or have done > the work, your input weighs more. > 2. Promote teamwork and value an inclusive culture. > 3. Where the work is, or has been committed to, can be considered irrelevant > (in the context of this thread). > 4. There are different types of reviews. We want to embrace them all. > 5. We gate on either CI (not only circleci). Do not trash or reduce parity in > the other. > 6. A feature branch != release branch/trunk. > 7. The cep-15-accord was not ready to merge, this thread helped smoke out a > number of minor things. > 8. Merging of feature branches should be quick and light team-work. > > > Going into these in more detail… > > 1+3) > If a patch from a pmc engineer has been reviewed by two other pmc engineers, > CI has been run, and they are about to merge, a new reviewer interjecting > late can expect very little to happen pre-merge. If there's something > serious it needs to be explained quickly. We value people's time, > productiveness, and expertise. > > This applies everywhere in the project: from tickets with patch files to CEP > work and feature branches. > > 2) > The more eyes the better. Everything we do is transparent, and we should > always be receptive and by default open to new input regardless of where in > the process we are and where it comes from. First be receptive and hear > people out, afterwards make the "now, or later" decision. Take the time to > explain why a "we'll do it later" decision – it might not be obvious to > everyone, it helps newcomers understand the project dynamics, and it sets > project precedence. Use (1) as needed. > > 4) > A lot of the thread has focused on reviews of Accord and its technical > components. There are other types of reviews. Examples are docs (internal > and external), the build system, our CIs and integrations, releases and ASF > policies. Henrik pointed out that it is wasteful for these reviews to happen > early in the review window. In addition, they are quite small in comparison > to initial technical reviews and equally quick to address. The larger the > patch the more we can expect others stepping in with these types of tail-end > reviews. > > If we think of the review process as promoting teamwork and an inclusive > culture, we can also think of reviews akin to pair-programming that help > mentor those less knowledgeable in an area of the code. This needs to be > time-boxed ofc, but IMHO we should keep an open mind to it – these types of > reviews do surprisingly lead to bug fixes and improvements with the reviewer > acting as a rubber-duck. This type of review we would want early, not late. > > There's also another type of review here. If the author of another CEP has > another feature branch about to merge, they may want to review the branch to > get ahead of possible incoming conflicts. This is a review that cares > nothing about Accord itself. Their evaluation is if there's any project-wide > ROI if some changes happen before the merge. Again, teamwork. > > 5) > It's been mentioned "always shippable trunk according to circleci". That's > not true: we are always shippable according to *either* CI. There are folk > just using ci-cassandra for our pre-commit gateway. It is important that you > don't trash the other CI system, particularly when it comes to parity of the > tests that we run. If you introduce new tests in one CI it is on you to > introduce it to the other CI, and therefore run both CI pre-merge. This does > not imply a merge is blocked on green ci-cassandra.a.o > > 6) > It's been mentioned that code committed to a feature branch can be considered > finalised, i.e. the review window is closed. I don't buy this. We don't cut > releases off feature branches and don't have a policy of "always stable > feature-branch". Both (4) and (5) help illustrate this. Thinking about the > different types of reviews and concerns we have on trunk was my background to > presuming the review window is open until the final atomic commits to our > release branches. And our stable trunk agreement and efforts is my > presumption that trunk is to be treated like a release branch. This supports > (3), it makes no difference if the work could be in a patch or in a feature > branch, if we honour (2) and practice (1). > > 7+8) > This would not have happened without Benedict starting this thread, or > without Caleb and David. Work is happening in tickets, I'm very grateful for > it. We want the final phase to be quick and light team-work. The thread > demonstrates the need to have a better process/precedent around this for > feature branches. What we have as a bar for committing patches should be > re-used, appreciating that the size of the work correlates to the benefits of > more eyes and the number of concerns it touches. IMHO we should also keep > this discussion evolving over a few feature branch merges, as each may shed > light on different challenges. > > I am keen and will have more time to help next week. It looks like it's down > to only a few topics we can solve quickly: docs, CI, submodules, > build+release, and whether they are done pre-merge or post-merge we can leave > to those doing it. > > I hope that we can focus on fostering an inclusive culture, balancing it with > meritocracy and pragmatism. I'm also up to organising a zoom/meet for folk > that want to discuss this further, to help us connect together so many > distinct PoVs. In a call together it is much easier. > > cheers. > > >