Replies: 19 comments 26 replies
-
Apart of simplifying how labels are currently used, this should capture the entire process we discussed and refined for the stage initiative in the last weeks. Here is an example on how an automated stage->main PR would look mokimo#32 If there are no concerns, I'll be opening a first round-1 PR to automate opening the stage PRs. |
Beta Was this translation helpful? Give feedback.
-
First of all: great job on this, no one is excited to be MPoC, as it's almost a full time job, so automating this is a big resource/time victory and should be more predictable than humans :) I'm all in favor of trying it out, with a few mentions:
Again, awesome job, I really hope we can get this going! |
Beta Was this translation helpful? Give feedback.
-
This is a fact!
Thank you Okan 🙏 |
Beta Was this translation helpful? Give feedback.
-
Fantastic work Okan! I think this change will relieve some of the pressure we all feel. Question about this:
Do we have a minimum code coverage goal for the automated test suite before it can be run to apply the label? Also, should we start to include QE automation tests as part of our requirements in new features? I would love to see the same automation for the SOTs, wondering how we can help to get them there. |
Beta Was this translation helpful? Give feedback.
-
Agree with what everyone else is saying . This is great Okan 🙌 What's also not clear to me is how zero-impact PRs are treated. Will they be insta merged without a Also , to kick off this process. I think we should start with the automatic PR to stage merging, and once that's working well then automate the stage to main, but I'm sure you were also thinking about starting with slower baby steps too. :) |
Beta Was this translation helpful? Give feedback.
-
Great stuff @mokimo 👍 One remark regarding this:
I think we need to change the wording slightly so it becomes clear that a |
Beta Was this translation helpful? Give feedback.
-
First PR: #2224
Next up after this works:
|
Beta Was this translation helpful? Give feedback.
-
Hi, I went over the docu and got a few questions:
I am afraid this added responsibility might prevent people from reporting issues.
Should we make it clear in the docu that in the case of a CSO, devs shouldn't wait for 4 SOTs to approve? |
Beta Was this translation helpful? Give feedback.
-
and yes, huge kudos on this work! |
Beta Was this translation helpful? Give feedback.
-
CSO procedure, wdyt? CSO
|
Beta Was this translation helpful? Give feedback.
-
Progess done
Progress todo |
Beta Was this translation helpful? Give feedback.
-
@mokimo - We should have a deep dive session on |
Beta Was this translation helpful? Give feedback.
-
PRs with failing checks aren't merged automatically, would be great to brainstorm on how we can fix this and ensure the check is ALWAYS green... |
Beta Was this translation helpful? Give feedback.
-
PRs with failing checks aren't merged automatically, would be great to brainstorm on how we can fix this and ensure the check is ALWAYS green... |
Beta Was this translation helpful? Give feedback.
-
PRs with failing checks aren't merged automatically, would be great to brainstorm on how we can fix this and ensure the check is ALWAYS green... |
Beta Was this translation helpful? Give feedback.
-
PRs with failing checks aren't merged automatically, would be great to brainstorm on how we can fix this and ensure the check is ALWAYS green...
Do we want to allow to ignore certain files/folders? https://docs.codecov.com/docs/ignoring-paths |
Beta Was this translation helpful? Give feedback.
-
I'm not a fan of labels at all, but I wonder if we should just have a catch-it-all solution such as a label to merge PRs despite failing checks There are overall valid reasons for a PR to get merged.
This would provide developers the freedom to get their code into stage despite failing checks, in a self-serve manner. |
Beta Was this translation helpful? Give feedback.
-
I'd recommend starting out not whitelisting everything and just having labels be more specific. E.g. A Furthermore, if we have changes that can affect customers/end users, we can remove that label and still leverage the built in PSI checks/Unit test coverage/etc. in Milo without causing you guys too much overhead in the merging process.
|
Beta Was this translation helpful? Give feedback.
-
Great work! 👍 |
Beta Was this translation helpful? Give feedback.
-
Stage initiative: Automation with GitHub workflows
Foreword
The long-term goal is to completely get rid of the stage initiative and replace the SOT sign offs with e2e tests. Due to a lot of confusion on how the process works, it still makes sense to automate all the MPoC duties.
The automated version of the stage initiative is designed to streamline our development process, reducing manual interventions, confusion with the process and provide a predictable pipeline to get your PRs to production.
Merges done by the process will be posted in #milo-changelog
Redesign of existing milo core GitHub Labels
We use the following labels to manage the workflow:
Two notable changes:
needs-verification
is there for a redundant label, as no label indicates it needs testing.verified
is the same thing asReady for Stage
These changes also mean, that QEs would apply 'Ready for Stage' instead of developers.
Testing should not start before all checks are passing.
Testing should also not start before 2 approvals are not given.
Conditions to merge PRs from branch->stage:
Pre-conditions: All checks pass, 2 approvals, has the ready for stage label and not in an RCP
Conditions to merge PRs stage->main
- Request changes if any bugs are found on stage
Notifications
A Slack message is sent when PRs are merged into stage and main on #milo-changelog
Handling Issues
If there is an issue after merging stage to main:
Handling Conflicts
If two PRs modify the same file, either high priority OR the older PR will be merged first. Once stage and main are synchronised, the other PR will go into stage.
Failing after the
Ready for Stage
label has been appliedAutomation does not make a difference, so make sure your PR passes all checks (we can still manually intervene, but your PR can easily get overlooked.)
CSO
TL:DR (actionable advice to get ur code to prod):
Beta Was this translation helpful? Give feedback.
All reactions