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

When pushing to an r+'d PR, bors does not update the labels #9

Open
RalfJung opened this issue Oct 29, 2018 · 10 comments
Open

When pushing to an r+'d PR, bors does not update the labels #9

RalfJung opened this issue Oct 29, 2018 · 10 comments

Comments

@RalfJung
Copy link
Member

When I push to a PR that was r+'d, bors immediately removes it from the queue (looking at https://buildbot2.rust-lang.org/homu/queue/rust). However, the label in the respective PR still says "waiting-on-bors". It should get updated as well.

@jyn514
Copy link
Member

jyn514 commented Aug 29, 2020

Just ran into this as well - it's very confusing, I had a PR marked as 'S-waiting-on-bors' for 6 days because I didn't know I needed to r+ again.

@kellda
Copy link
Contributor

kellda commented Nov 27, 2020

It seems it is set up in rust and cargo, see

homu/cfg.production.toml

Lines 71 to 74 in 6ff2d7f

[repo.rust.labels.pushed] # user pushed a commit after `r+`/`try`
remove = ['S-waiting-on-bors', 'S-waiting-on-author']
add = ['S-waiting-on-review']
unless = ['S-blocked', 'S-waiting-on-crater', 'S-waiting-on-team']

However libc does only relabel on approved and failed:

homu/cfg.production.toml

Lines 159 to 164 in 6ff2d7f

[repo.libc.labels.approved] # after homu received `r+`
remove = ['S-blocked', 'S-waiting-on-author', 'S-waiting-on-bors', 'S-waiting-on-review']
add = ['S-waiting-on-bors']
[repo.libc.labels.failed] # test failed (maybe spurious, so fall back to -on-review)
remove = ['S-blocked', 'S-waiting-on-author', 'S-waiting-on-bors', 'S-waiting-on-review']
add = ['S-waiting-on-review']

In which repo was you experiencing this ?

@jyn514
Copy link
Member

jyn514 commented Nov 27, 2020

This was in rust-lang/rust.

@kellda
Copy link
Contributor

kellda commented Nov 27, 2020

I can't understand why it didn't relabeled. Is there any log that could help ?
@jyn514 thanks, could you find the PR on which it happened ?

@jyn514
Copy link
Member

jyn514 commented Nov 27, 2020

Here's a recent example (more info on Zulip): rust-lang/rust#79000 (comment)

I remember one earlier that didn't have complicated commands (r- retry) but I can't seem to find it.

@pietroalbini
Copy link
Member

I looked in the logs for that timeframe and saw no error.

@RalfJung
Copy link
Member Author

Does bors even have code that is attempting to update the labels when an r+'d PR is pushed to? Setting labels seems to work fine for the cases that are actually implemented, after all.

@kellda
Copy link
Contributor

kellda commented Dec 22, 2020

It should be this code:

homu/homu/server.py

Lines 559 to 574 in 68db8f6

elif event_type == 'push':
ref = info['ref'][len('refs/heads/'):]
for state in list(g.states[repo_label].values()):
if state.base_ref == ref:
state.set_mergeable(None, cause={
'sha': info['head_commit']['id'],
'title': info['head_commit']['message'].splitlines()[0],
})
if state.head_sha == info['before']:
if state.status:
state.change_labels(LabelEvent.PUSHED)
state.head_advanced(info['after'])
state.save()

@klensy
Copy link
Contributor

klensy commented Aug 24, 2022

example: rust-lang/rust#100811 (comment)
And looks like it didn't removed from queue.

@matthiaskrgr
Copy link
Member

matthiaskrgr commented Aug 24, 2022

Its removed from the r+ queue now. The queue does not update in realtime apparently 🙃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants