🚦 iBrowe Merge Policy & CI Gatekeeping Guidelines
To maintain build stability and minimize disruptions, follow these strict rules before merging any changes into the ibrowe-core or ibrowe-browser repositories.
✅ CI Checks Before Merge
Only merge if the Jenkins CI pipeline reports success on the pull request.
- If you’re unsure how to read Jenkins CI results, ask a lead engineer or seek onboarding from
@mihaiplesa - Pull requests from forks must be cherry-picked into a local branch on
ibrowe-coreoribrowe-browserto trigger CI jobs - No visible CI? ➜ It’s likely the branch is still on a fork
❌ Immediate Reverts
If something lands and breaks CI or test results, revert it immediately:
- Do not wait to discuss with the author
- Re-open the original issue tied to the breaking PR
- If you accidentally break the build: own it, apologize, and help others when they break something
🔁 Merge Readiness Checklist
- CI pipeline passes (
ibrowe_unit_tests,ibrowe_browser_tests,audit-deps,test-security) - Your branch is not closed — check the topic of
#ibrowe-coreSlack channel - Jenkins CI status is green for your PR
🔧 Common Tree Breakage Scenarios
🔹 Outdated Dependencies
- If you fix something like
npm audit, don’t forget to update theDEPSfile accordingly - Each release channel requires its own DEPS bump
🔹 Out-of-date Local Tree
- Before reverting, run:
npm run sync
npm run apply-patches
- Check if the latest PR already fixed the issue
🔹 Updated 3rd-party Components
-
Upstream changes may introduce:
- Broken URLs
- Test failures (especially
test-security)
-
Create an issue and consider adding a proxy if a remote resource has changed unexpectedly
🚨 What Triggers a Tree Closure?
Tree is considered closed when any of the following fails:
ibrowe_unit_testsibrowe_browser_testsnpm run audit-depsnpm run test-security- Jenkins CI pipeline failures
🤯 Why So Strict?
- If the main tree is broken, every CI job on every PR fails
- It causes wasted engineering time across the team
- Blocks QA and release cycles
- Reverts become much harder once broken code has more commits layered on top
📎 Source: Reworked from Brave’s internal CI/merge policy documentation — adapted and branded for iBrowe’s development process
You must log in or # to comment.

