Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.5k stars 2.85k forks source link

Improve manual CP workflow #44177

Open roryabraham opened 4 months ago

roryabraham commented 4 months ago

Problem

When we cherry-pick PRs, we have OSBotify attempt to automatically cherry-pick the code (and resolve certain conflicts automatically). When he can successfully do that, it works great because he can push that code straight to staging without the need for a pull request.

However, in cases where we need to manually resolve conflicts, OSBotify will commit the conflict markers (weird, right?) then open a PR, and assign it to the person who triggered the CP to resolve the conflicts and get the PR reviewed and merged.

However, PRs created by OSBotify, imgbot, and other bots have tests and lint skipped, so we lose that bit of security on manual CPs.

Solution

Two parts:

  1. First, update the cherry pick workflow such that, if there are conflicts, the PR is automatically opened not by OSBotify but by the Expensify employee who triggered the CP. That way, tests and lint run as normal.
  2. if possible, find a way to open the PR without committing conflict markers, such that the PR appears with the conflicts as a normal PR would if it was created normally and then conflicts occurred after-the-fact.
melvin-bot[bot] commented 3 months ago

This issue has not been updated in over 15 days. eroding to Monthly issue.

P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

melvin-bot[bot] commented 2 months ago

This issue has not been updated in over 15 days. eroding to Monthly issue.

P.S. Is everyone reading this sure this is really a near-term priority? Be brave: if you disagree, go ahead and close it out. If someone disagrees, they'll reopen it, and if they don't: one less thing to do!

roryabraham commented 2 months ago

cc @francoisl since we talked about this yesterday

johnmlee101 commented 1 month ago

the PR is automatically opened not by OSBotify but by the Expensify employee who triggered the CP. That way, tests and lint run as normal.

I dealt with this on GH Actions, basically if you create a PR in a GH Action, it will not run tests.