Hi David, I don't follow the following:
* Require all changes to trunk to flow through a PR That's exactly the case Chia-Ping was asking about that you said is _not_ expected. Ismael On Thu, Mar 6, 2025 at 8:01 AM David Arthur <mum...@gmail.com> wrote: > Indeed, what I was trying to achieve is not possible with the legacy > branch protections that are configured via asf.yaml. I have reverted that > change. > > I filed https://issues.apache.org/jira/browse/INFRA-26603 which should > let us accomplish the following: > > * Protect trunk and release branches from force push and deletion > * Require all changes to trunk to flow through a PR > * Do not require that PRs are up-to-date > * Require passing status check "build / CI checks completed" for PRs > * Allow any committer to bypass the required check for a PR (for > emergencies) > > I think this strikes a good balance between safety and convenience, and is > a definite improvement over what we have now (which is no protections). > > -David > > > On Thu, Mar 6, 2025 at 9:06 AM David Arthur <mum...@gmail.com> wrote: > >> Hm, this wasn't my intention with this change. I was expected two things >> to change: >> >> 1) PRs could only be merged if a required check passed >> 2) Forced pushes were disabled >> >> I was not expecting regular push to be disabled since there is a separate >> config for that (Screenshot from a different repo) >> >> [image: image.png] >> >> >> I'll get clarification from Infra about how this all works within the >> context of asf.yaml. >> >> -David >> >> On Thu, Mar 6, 2025 at 3:48 AM Ismael Juma <m...@ismaeljuma.com> wrote: >> >>> Yes, that's the implication of this change. >>> >>> Ismael >>> >>> On Thu, Mar 6, 2025 at 12:38 AM Chia-Ping Tsai <chia7...@apache.org> >>> wrote: >>> >>> > hi David >>> > >>> > It appears we can't push reverted commits to trunk from our local >>> > repository. See the following error message. >>> > >>> > remote: Resolving deltas: 100% (15/15), completed with 11 local >>> objects. >>> > remote: error: GH006: Protected branch update failed for >>> refs/heads/trunk. >>> > remote: >>> > remote: - Changes must be made through a pull request. >>> > remote: >>> > remote: - Required status check "build / CI checks completed" is >>> expected. >>> > To github.com:apache/kafka.git >>> > ... >>> > >>> > Does this mean we must revert code via pull requests in the future? >>> > >>> > Best, >>> > Chia-Ping >>> > >>> > On 2025/03/06 04:30:22 David Arthur wrote: >>> > > Ok looks like Infra’s manual GitHub config change got undone. I see >>> that >>> > > this PR https://github.com/apache/kafka/pull/19120 is approved, but >>> > can't >>> > > be merged :( >>> > > >>> > > I filed https://issues.apache.org/jira/browse/INFRA-26601, hopefully >>> > > someone gets to it soon. >>> > > >>> > > >>> > > >>> > > >>> > > On Wed, Mar 5, 2025 at 23:19 David Arthur <mum...@gmail.com> wrote: >>> > > >>> > > > The up-to-date requirement should not be there (for the reasons you >>> > > > mentioned). There was a bug with the Infra asf.yaml parser, so >>> Infra >>> > > > manually removed the up-to-date requirement. >>> > > > >>> > > > If the checks all pass and the PR is approved, it should be >>> mergeable >>> > > > up-to-date or not. Let me know if this isn’t the case. >>> > > > >>> > > > Prior to the PR being approved, the UI looks like it will force >>> you to >>> > > > merge in trunk, but it shouldn’t. >>> > > > >>> > > > David A >>> > > > >>> > > > >>> > > > On Wed, Mar 5, 2025 at 21:58 Chia-Ping Tsai <chia7...@gmail.com> >>> > wrote: >>> > > > >>> > > >> hi David >>> > > >> >>> > > >> Thank you for this protection, and I fully agree that we need to >>> avoid >>> > > >> exceptional merges as much as possible. >>> > > >> >>> > > >> For another, It seems we also require PRs to be up-to-date, which >>> is >>> > good. >>> > > >> However, the side effect is cache misses. I recall you've done a >>> lot >>> > of >>> > > >> work on improving the cache, so I'm wondering if this protection >>> > conflicts >>> > > >> with cache usage. >>> > > >> >>> > > >> Best, >>> > > >> Chia-Ping >>> > > >> >>> > > >> David Arthur <mum...@gmail.com> 於 2025年3月6日 週四 上午4:07寫道: >>> > > >> >>> > > >> > We had a hiccup today where a PR was merged due to a false >>> positive >>> > "All >>> > > >> > checks have passed" message in the UI. This message was >>> displayed >>> > > >> because >>> > > >> > the labelling workflows had run and were successful. So, really >>> the >>> > > >> message >>> > > >> > was correct -- all checks that had been run were successful. The >>> > problem >>> > > >> > was, our CI was not among the checks that had run. >>> > > >> > >>> > > >> > This incident pointed out a deficiency in our PR workflow. >>> > Essentially, >>> > > >> we >>> > > >> > have to remember to set the "ci-approved" label and we need to >>> > ensure >>> > > >> that >>> > > >> > the CI checks are among the "passed" status checks before >>> merging. >>> > > >> > >>> > > >> > To remedy this, I've added a branch protection for trunk which >>> > defines a >>> > > >> > required status check "build / CI checks completed". This check >>> is >>> > set >>> > > >> by a >>> > > >> > job that runs at the end of our CI workflow. This means we >>> cannot >>> > merge >>> > > >> a >>> > > >> > PR unless the CI has run. >>> > > >> > >>> > > >> > Likely this means *all extant PRs need to merge in trunk* to run >>> > this >>> > > >> new >>> > > >> > "CI checks completed" job. Sorry for the noise, but I figured >>> it was >>> > > >> best >>> > > >> > to rip the bandaid off now... >>> > > >> > >>> > > >> > Thanks! >>> > > >> > David A >>> > > >> > >>> > > >> > P.S., I also added our release branches as protected branches, >>> but >>> > did >>> > > >> not >>> > > >> > add any branch protections rules. This was done to prevent >>> forced >>> > > >> pushing >>> > > >> > to these branches which we honestly should have done long ago. >>> > > >> > >>> > > >> > >>> > > >> > >>> > > >> > >>> > > >> > >>> > > >> > -- >>> > > >> > David Arthur >>> > > >> > >>> > > >> >>> > > > >>> > > >>> > >>> >> >> >> -- >> David Arthur >> > > > -- > David Arthur >