-
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
[NoQA] Attempt to fix the checklists including already released PRs #28742
Conversation
@rushatgabhane Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
||
# Verify PR list for the new checklist | ||
assert_prs_merged_between '1.0.1-4' '1.0.2-0' "[ 10, 8 ]" | ||
assert_prs_merged_between '1.0.1-4' '1.0.2-0' "[ 10, 9, 8 ]" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is because the PR 9 has been CPed here
@@ -389,10 +390,10 @@ update_staging_from_main | |||
tag_staging | |||
|
|||
# Verify production release list | |||
assert_prs_merged_between '1.0.0-2' '1.0.1-4' "[ 9, 7, 6, 5, 2 ]" | |||
assert_prs_merged_between '1.0.0-2' '1.0.1-4' "[ 9, 7, 6, 5, 3, 2 ]" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All the places the PR 3 has been added is because this PR was CPed to 1.0.1 here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mountiny this change doesn't make sense to me ... if it was a flaw with the git logic, why would it only happen some of the time?
I agree this is not ideal, I have been under assumption it was failing consistently as the bunch of checklists I saw then were aall wrong, but its flakey This change however seems to fix it reliably and adds the CPs so I think that is bigger timesave for QA and deployer than to de-dupe the huge checklists potentially missing some pr which might get to prod not QAed. Then we could find a follow up fix to remove the CPs |
Details
I believe using
...
is incorrect in this case, using the three dot operator, we also get the ancestor commits of the commits made in the range meaning that if some of the PRs has merge commits from the past before the left range, the git log includes them too and then as we parse the PRs from the git log output, we also include PRs which already been deployed.Using the two dot operator however only includes the commits which are in between the tags, which is what we want in this case.
I have tested this manually on the latest tags and the output seems to be correct to me based on manually checking the repo.
I had to update the tests to include the cherry picked PRs in the output of the method. This is not the outcome we want eventually, as we would like to omit the Cherry picked prs from the list, but this is a bug we already had before and its better than what we have currently.
See the tests section for more details
Fixed Issues
$ #27123
Tests
I have tested the flow by simulating the methods locally, run
to get the commits between the 1.3.76-6 and 1.3.77-0.
This is the output: commit_history.txt
Then I have used this code which is used in the createOrGetStagingChecklist to parse this output in same way as we do when creating checklist officially
The chain is:
getPullRequestsMergedBetween
getcommitHistoryAsJSON
which calls the important git log here
Sanitizes and parses the output here
getValidMergePRs
which matches for specific text of the merge commit message
Verify that no errors appear in the JS console
Offline tests
N/A
QA Steps
N/A
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodWaiting for Copy
label for a copy review on the original GH to get the correct copy.STYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)/** comment above it */
this
properly so there are no scoping issues (i.e. foronClick={this.submit}
the methodthis.submit
should be bound tothis
in the constructor)this
are necessary to be bound (i.e. avoidthis.submit = this.submit.bind(this);
ifthis.submit
is never passed to a component event handler likeonClick
)StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Web
Mobile Web - Chrome
Mobile Web - Safari
Desktop
iOS
Android