operator-framework / community-operators

The canonical source for Kubernetes Operators that appear on OperatorHub.io, OpenShift Container Platform and OKD.
Apache License 2.0
418 stars 562 forks source link

Self merging service - question #3848

Closed J0zi closed 3 years ago

J0zi commented 3 years ago

Hi contributors,

we are going to introduce self merging service and are happy to ask you if you need some flag to disable it by default. Let me explain it in more details.

When your PR meets all conditions, it will be merged. By conditions, I mean that contributor is on reviewer list, all tests have passed, PR was not put to /hold state ... This feature is not in place today, but I would like to ask you if you need some flag in ci.yaml to disable automerge feature on your operator. Bear in mind, that putting your operator to hold state by /hold command will prevent automatic merging anyway. But my question is, if it is needed to disable self merge feature by some flag in your code also, for exmple ci.yaml entry.

mentions: @2uasimojo, @AdheipSingh, @ArangoGutierrez, @AstroProfundis, @Avni-Sharma, @Carrefour-Group, @CohenAviad, @DTMad, @DhritiShikhar, @EmilyM1, @EnterpriseDB, @Flagsmith, @Fryguy, @HubertStefanski, @J0zi, @JohnStarich, @Kaitou786, @Kong, @LCaparelli, @LaVLaS, @Listson, @LorbusChris, @LouisPlisso, @OchiengEd, @Rajpratik71, @RakhithaRR, @SDBrett, @Simonzhaohui, @SteveMattar, @Tatsinnit, @TheWeatherCompany, @aavarghese, @abaiken, @aceeric, @akhil-rane, @akoserwal, @akram, @alien-ike, @aliok, @andreaskaris, @aneeshkp, @antonlisovenko, @anyasabo, @apahim, @apeschel, @aravindhp, @ashenoy-hedvig, @aslakknutsen, @astefanutti, @atef23, @avalluri, @bart0sh, @bcrochet, @bigkevmcd, @blaqkube, @blublinsky, @brian-avery, @cap1984, @chanwit, @charith-elastic, @chatton, @chbatey, @che-bot, @che-incubator, @che-incubator-bot, @cheesiong-lee, @chetan-rns, @christophd, @clamoriniere, @cliveseldon, @cloudant, @containers-ai, @couchbase-partners, @cschwede, @ctron, @dabeeeenster, @dagrayvid, @danielpacak, @dannyzaken, @darkowlzz, @david-kow, @deeghuge, @deekshahegde86, @devOpsHelm, @dgoodwin, @dinhxuanvu, @djzager, @dlbock, @dmatch01, @dmesser, @dragonly, @dtrawins, @dvropsmx, @dymurray, @ecordell, @eguzki, @eresende-nuodb, @erikerlandson, @esara, @evan-hataishi, @f41gh7, @fbladilo, @fcanovai, @flaper87, @frant-hartm, @gallettilance, @gautambaghel, @gee4vee, @gregsheremeta, @gunjan5, @gurushantj, @guyyakir, @gyliu513, @haibinxie, @hasancelik, @hco-bot, @houshengbo, @husky-parul, @iamabhishek-dubey, @ibuziuk, @ingvagabund, @instana, @irajdeep, @ivanstanev, @jeesmon, @jfchevrette, @jitendar-singh, @jkatz, @jkhelil, @jmazzitelli, @jmeis, @jmesnil, @jmontleon, @joeschram, @jogetworkflow, @jomkz, @jonathanvila, @jpkrohling, @jsenko, @juljog, @k-wall, @kerenlahav, @kerrygunn, @knrc, @ksatchit, @kubemod, @kubemq, @kubemq-io, @kubernetes-projects, @kulkarnicr, @kyguy, @lbroudoux, @leifmadsen, @leochr, @little-guy-lxr, @liuruiyiyang, @lrgar, @lumjjb, @madhukirans, @madorn, @maistra, @maskarb, @matzew, @max3903, @mdonkers, @mflendrich, @microcks, @miguelsorianod, @mkuznyetsov, @mrethers, @mrizzi, @mtyazici, @mvalahtv, @mvalarh, @n1r1, @nickboldt, @nicolaferraro, @nikhil-thomas, @olukas, @open-cluster-management, @operator-framework, @oranichu, @orenc1, @oriyarde, @pavelmaliy, @pb82, @pebrc, @pedjak, @phantomjinx, @piyush-nimbalkar, @portworx, @prft-rh, @pweil-, @radtriste, @raffaelespazzoli, @rainest, @rajivnathan, @rareddy, @raunakkumar, @rayfordj, @redhat-cop, @rensyct, @renuka-fernando, @rgolangh, @rhm-samples, @ricardozanini, @rigazilla, @rodrigovalin, @rohanjayaraj, @rojkov, @rrati, @rubenvp8510, @rvansa, @ryanemerson, @saada, @sabre1041, @sbose78, @scholzj, @seanmalloy, @sebsoto, @secondsun, @selvamt94, @shivanshs9, @shubham-pampattiwar, @slaskawi, @slopezz, @snyk, @snyksec, @spolti, @squids-io, @sunsingerus, @svallala, @sxd, @tahmmee, @tanalam2411, @thbkrkr, @tmckayus, @tolusha, @tomashibm, @tomgeorge, @tphee, @tplavcic, @tumido, @turbonomic, @twiest, @ursais, @vaibhavjainwiz, @vassilvk, @vboulineau, @vkvamsiopsmx, @vmuzikar, @waveywaves, @waynesun09, @weii666, @welshDoug, @wiggzz, @willholley, @windup, @wmellouli, @wtam2018, @wtrocki, @xiangjingli, @yaacov, @zhiweiyin318, @zregvart, @zroubalik

hubeadmin commented 3 years ago

I have one question, and this is perhaps more to the community than it is to @J0zi : What is the use case whereby someone would submit a new PR updating their operator without being ready to merge that change and release a new version? My thinking is that if a PR is submitted by a reviewer listed in ci.yaml then they must be pretty aware of what they're doing. The one use case that I can think of is when a release is being postponed due to image building or is planned for a certain time etc. Then would default behaviour be better if the PR still had to be made /ready by the ci.yaml specified reviewer? which would make it semi-auto-merged, but would give the project owners an option to deploy precisely when they want to.

Fryguy commented 3 years ago

GitHub has draft PRs, so I could see that being a possibility...I could also see a wip label and/or [WIP] in the PR title as something preventing auto-merge

JohnStarich commented 3 years ago

Draft PRs should make it pretty clear a PR shouldn’t be merged 👍 If I remember correctly, automation can’t even merge Drafts — only close them?

mvalarh commented 3 years ago

PR will not be automerged when is in draft mode. One can use /hold command also to hold PR to be merged. More info here

J0zi commented 3 years ago

Thank you all for feedback.