-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pull requests CP'd in the previous checklist show up in the next one #4977
Comments
No update here |
No update here |
Again no update here. And still don't really have a plan for how to fix this. |
No update from last week 😬 |
Again no update. Removing N6 hold |
I stumbled upon this issue the other day and was intrigued by it so started to investigate. What do you think of this as a App/.github/actions/createOrUpdateStagingDeploy/createOrUpdateStagingDeploy.js Lines 53 to 73 in c247f82
Here, this is where we get data for the new deploy checklist. Since In the previous one, they are included, because the refs we use for the existing one is new ref, which does not give the set upper boundary. App/.github/actions/createOrUpdateStagingDeploy/createOrUpdateStagingDeploy.js Lines 85 to 92 in c247f82
What do you think of this? 👀 Honestly, I am not sure if I completely understand, when the new tags are created, but if it works as I imagine then what I described could be the problem. I would like to learn more about the Github Actions and I am not sure how these can be tested. |
Sorry, I had difficulty following these sentences ^ |
Sorry, it was kind of clumsy indeed. What I am trying to say is that when we are creating new checklist, the previous tag is pointing to a moment in time (some commit) before those Then for the existing checklists, on this line:
When is the I am not sure if I understand how we create and maintain the tags. I think we need to make sure that once the Staging deploy checklist is closed, its tag will point to the last cherry-picked merge commit, so then the new checklist will start searching for PRs from that moment in time. |
That might be true, but it might not. After all, the actual thing that triggers a staging deploy is:
So the last tag on a deploy checklist should be the last PR that was CP'd (I think). But clearly it's not working correctly so I must be wrong somehow 🤷 One question I have ... does the commit history between two tags (i.e: the output of
Search for |
New theory on the problem here, which stems from the duplicate PR issue you have resolved and the problem mentioned by Matt today. Essentially, I believe this is caused because when we cherry-pick there is a new For instance, take this compare and look up this #5812 As a solution, could we change the cherry pick merge commit message to be slightly different so it is not caught by the regex for the other merge commits? I assume we do not have any regex to look for Cherry pick commits as they are same as the normal merge commits. |
If you're right, then I think the line we'll need to edit is right here, and we'll want to edit the commit message. It looks like the |
@roryabraham Seems like the |
I looked into this and I think we will need to make more changes. The command we are currently using has the If we would have the entire commit (ie subject + body) we would probably need to strap the new lines out. |
I would do following: use This returns following format:
Inside of these brackets we can more easily check for the CP commit. |
Seems like a clever approach. If you wanted to you could create some even more explicit format for each commit that would never conflict with an actual commit message, such as <commit>Update version to 1.1.11-6</commit>
<commit>Merge pull request #5745 from parasharrajat/fix-back
Fix: back handler for Drawer</commit>
<commit>Merge pull request #6114 from Expensify/chirag-pronoun-fix
(cherry picked from commit 17b4b052a68678a4b05b376b0b04c1b52fa4c52f)
</commit> Then again, |
This issue has not been updated in over 15 days. @mountiny, @roryabraham 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! |
Excuse us Melvin, we just merged 😡 |
@mountiny I believe I was able to confirm that the fix for this unfortunately did not work. |
@roryabraham are the actions supposed to work from main? I will try to explore once my coursework is over after this week. We added some more logs if I remember correctly. |
Interesting how this turned out, the doubled messages about the deploy for PRs have stopped, but the messages are for the original commits and not for the cherry pick commits. Thus on the CP'ed PR, we get some delay since the actual effect has already been deployed in the CP commits. Here is such a PR for example: #6741 I guess the problem is that now, we are filtering out the CP'ed commits and interact with those from original PR (for the purposes of the deploy checklist). I think what we might have to do is to approach the problem from the other direction. Consider the CP'ed commits and then ignore the original PR commits. At least if I am understanding correctly what is going on here. |
Okay, I'm going to attempt to summarize all the cases we have here, state the expected behavior, and try to trace the git logs. Following along with a simplified/minimal example:
|
So one thing I'm noticing is that, after all this is done, on And on But the diff between the two tags in question includes only the original PR (which at this point has already been CP'd to So maybe the logic we want is something like this:
|
Got a draft PR up here, but I'm still working on testing it. |
PR is ready for review. |
Completed QA of #6906, and with that I declare this issue officially solved 😄 |
Problem
When a new deploy checklist is created, PRs that were cherry-picked in the previous deploy cycle are included in the new checklist. For example, the last two PRs in this deploy checklist were CP'd in the previous checklist:
Solution
Not sure, fix it!
The text was updated successfully, but these errors were encountered: