Skip to content
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

fix #579 Auto-merge between branches #582

Merged
merged 9 commits into from
Aug 26, 2020
Merged

Conversation

pxLi
Copy link
Collaborator

@pxLi pxLi commented Aug 19, 2020

Signed-off-by: Peixin Li pxli@nyu.edu

ref: #579

@pxLi
Copy link
Collaborator Author

pxLi commented Aug 19, 2020

build

@pxLi
Copy link
Collaborator Author

pxLi commented Aug 19, 2020

build

.github/workflows/auto-merge.yml Outdated Show resolved Hide resolved
.github/workflows/auto-merge.yml Outdated Show resolved Hide resolved
.github/workflows/auto-merge.yml Outdated Show resolved Hide resolved
@tgravescs
Copy link
Collaborator

How do we know if auto merge failed? Does it send to slack or anything?

@jlowe
Copy link
Member

jlowe commented Aug 19, 2020

How do we know if auto merge failed?

The auto-merge PR remains open instead of being closed, and a comment is posted to the PR stating it needs manual intervention to be merged.

@jlowe
Copy link
Member

jlowe commented Aug 19, 2020

I took a look at the script that does the merge, and there's an important part missing. The PR posted to do the automatic merge does not have CI run on it. Even if there are no merge conflicts, the PR should not be automatically merged unless CI passes on the merged result.

@sameerz sameerz added the build Related to CI / CD or cleanly building label Aug 19, 2020
@pxLi
Copy link
Collaborator Author

pxLi commented Aug 19, 2020

How do we know if auto merge failed? Does it send to slack or anything?

There will be an email sent to maintainers.

sth like,

Run failed for branch-0.2 (5e0d70b)
Repository: pxLi/spark-rapids
Workflow: auto-merge
Duration: 30.0 seconds
Finished: 2020-08-19 05:08:32 UTC

View results

Jobs:
automerge failed (0 annotations)

@pxLi
Copy link
Collaborator Author

pxLi commented Aug 19, 2020

I took a look at the script that does the merge, and there's an important part missing. The PR posted to do the automatic merge does not have CI run on it. Even if there are no merge conflicts, the PR should not be automatically merged unless CI passes on the merged result.

I think we add the auto-merge here is because we haven't set branch-0.3 as out default branch. So I am assuming we won't do active development on that branch until we switch that as default, and we can terminate this auto-merge workflow at that moment. But I agree that we can setup probably an independent nightly jenkins job to do the CI thing.

FYI cuDf does the same thing w/o CI pipeline rapidsai/cudf#6047.

Let me know if you have any other concern :)

@pxLi pxLi closed this Aug 20, 2020
@pxLi pxLi deleted the fea-579-automerge branch August 20, 2020 00:26
@pxLi pxLi reopened this Aug 20, 2020
@pxLi
Copy link
Collaborator Author

pxLi commented Aug 20, 2020

build

@jlowe
Copy link
Member

jlowe commented Aug 20, 2020

I think we add the auto-merge here is because we haven't set branch-0.3 as out default branch.

Which branch is default is not relevant. The point of the auto-merge is to cover the time when we are moving from one development branch to another as part of making a release. That migration is not an instantaneous, hard cutover. Bug fixes continue to pour into the older branch, while new features need to go into the new branch to avoid destabilizing the older branch just before the release. It will often be days or even weeks where we will need CI on both branches. The point of the auto-merge is to automatically pull in bugfixes checked in on the older branch into the newer branch so they aren't lost when moving to the later releases.

I'd really like pre-merge CI to run on the auto-merge branch if possible, but a nightly CI on the newer branch is the next best thing. We need something to detect in a timely manner when the auto-merge breaks an existing test (or even the build!).

@pxLi
Copy link
Collaborator Author

pxLi commented Aug 20, 2020

I think we add the auto-merge here is because we haven't set branch-0.3 as out default branch.

Which branch is default is not relevant. The point of the auto-merge is to cover the time when we are moving from one development branch to another as part of making a release. That migration is not an instantaneous, hard cutover. Bug fixes continue to pour into the older branch, while new features need to go into the new branch to avoid destabilizing the older branch just before the release. It will often be days or even weeks where we will need CI on both branches. The point of the auto-merge is to automatically pull in bugfixes checked in on the older branch into the newer branch so they aren't lost when moving to the later releases.

I'd really like pre-merge CI to run on the auto-merge branch if possible, but a nightly CI on the newer branch is the next best thing. We need something to detect in a timely manner when the auto-merge breaks an existing test (or even the build!).

yep, I totally agree that we should have some detection for auto-merge stuff on the newer branch.

pre-merge checks will make the process less 'auto', since the new commits on older branch could get merged at the same time. Then it could cost multiple pre-merge CI runs to get that auto-merge PR passed checks, which could block forever in the worst case 🤦 (we could checkout a tmp branch from older branch every time to avoid that, but could bring more problems, sounds janky though)

I can set up a nightly pipeline for branch-03 later, and people will get notifications from slack just like our other CI jobs. Let me know if that sound reasonable to you 😸

@pxLi
Copy link
Collaborator Author

pxLi commented Aug 20, 2020

build

@pxLi
Copy link
Collaborator Author

pxLi commented Aug 24, 2020

build

jlowe
jlowe previously approved these changes Aug 24, 2020
@pxLi
Copy link
Collaborator Author

pxLi commented Aug 25, 2020

build

2 similar comments
@pxLi
Copy link
Collaborator Author

pxLi commented Aug 25, 2020

build

@pxLi
Copy link
Collaborator Author

pxLi commented Aug 25, 2020

build

@pxLi
Copy link
Collaborator Author

pxLi commented Aug 25, 2020

build

jlowe
jlowe previously approved these changes Aug 25, 2020
@pxLi
Copy link
Collaborator Author

pxLi commented Aug 26, 2020

build

@pxLi pxLi merged commit f8927d8 into NVIDIA:branch-0.2 Aug 26, 2020
nartal1 pushed a commit to nartal1/spark-rapids that referenced this pull request Jun 9, 2021
* fix NVIDIA#579 Auto-merge between branches

Signed-off-by: Peixin Li <pxli@nyu.edu>
nartal1 pushed a commit to nartal1/spark-rapids that referenced this pull request Jun 9, 2021
* fix NVIDIA#579 Auto-merge between branches

Signed-off-by: Peixin Li <pxli@nyu.edu>
tgravescs pushed a commit to tgravescs/spark-rapids that referenced this pull request Nov 30, 2023
[auto-merge] bot-auto-merge-branch-22.10 to branch-22.12 [skip ci] [bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Related to CI / CD or cleanly building
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants