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

[L] API users should be able to merge side tags #2319

Closed
bowlofeggs opened this issue Apr 26, 2018 · 10 comments
Closed

[L] API users should be able to merge side tags #2319

bowlofeggs opened this issue Apr 26, 2018 · 10 comments
Assignees
Labels
API Issues related to Bodhi's REST API High priority These issues are higher priority than normal RFE Requests for Enhancement
Projects

Comments

@bowlofeggs
Copy link
Contributor

bowlofeggs commented Apr 26, 2018

We need to add the ability for Bodhi to merge side tags. Bodhi should make sure the tests pass before merging, and it should also ensure there will be no conflicts due to the merge. Once the side tag update is merged, the update should either progress to stable (for Rawhide), or should go to updates-testing (for other releases).

If the merge fails, Bodhi should ensure that the packager has the information they need to resolve the conflict and try again. We will need to watch their side tag for new or removed builds and update the update accordingly by using a fedora-messaging consumer.

@bowlofeggs bowlofeggs added RFE Requests for Enhancement API Issues related to Bodhi's REST API High priority These issues are higher priority than normal labels Apr 26, 2018
@bowlofeggs bowlofeggs added this to To do in CI Gating via automation Apr 26, 2018
@bowlofeggs bowlofeggs moved this from To do to Minimum Viable Product in CI Gating Feb 15, 2019
@bowlofeggs bowlofeggs changed the title Bodhi should be able to merge side tags API users should be able to merge side tags Feb 15, 2019
@bowlofeggs bowlofeggs moved this from Minimum Viable Product to To do in CI Gating Mar 5, 2019
@bowlofeggs bowlofeggs changed the title API users should be able to merge side tags [L] API users should be able to merge side tags Apr 25, 2019
@nphilipp
Copy link
Member

@bowlofeggs:

Bodhi should make sure the tests pass before merging, and it should also ensure there will be no conflicts due to the merge.

Is this functionality in Bodhi already, or are there issues/cards for tests passing and no merge conflicts?

We will need to watch their side tag for new or removed builds and update the update accordingly by using a fedora-messaging consumer.

This sounds like it could be its own task, what do you think?

@bowlofeggs
Copy link
Contributor Author

bowlofeggs commented May 29, 2019 via email

@cverna
Copy link
Contributor

cverna commented Jun 5, 2019

As a general note merging tag sounds like something we want to do in a celery tasks, so this ticket really depends on #2851

@cverna
Copy link
Contributor

cverna commented Jun 5, 2019

The script used by releng to merge side tags is (https://pagure.io/releng/blob/master/f/scripts/mass-tag.py)

@nphilipp nphilipp moved this from To do to In progress in CI Gating Jun 24, 2019
@nphilipp nphilipp self-assigned this Jun 24, 2019
@mohanboddu
Copy link

mohanboddu commented Jun 24, 2019

I want to bring up a use case here:

If there is package foo and maintainer A requests a side tag and builds the foo-1.1 in the side tag. Then maintainer B builds the same package foo-1.2 and sends it as a single update or multiple update before maintainer A. But when maintainer A tries to merge the side tag, there might be a conflict of which build to trust or both might be bad because both might be solving different issues.

What I would like to suggest is:
When maintainer A requests a side tag, bodhi should record the time when the tag is created. And when maintainer A pushes the update, bodhi should know that there is a foo-1.2 build which is in rawhide after the side tag is created, then bodhi should give the maintainer A an option to pick which one is the best one. If he picks foo-1.1 then it will get tagged and becomes the latest, if he picks foo-1.2 bodhi should not do anything about foo-1.1 build. Or he might rebuild it again foo-1.3 and bodhi will now give two options foo-1.2 or foo-1.3 and he can pick foo-1.3 which has fixes from both 1.1 and 1.2

@nphilipp nphilipp removed their assignment Jun 25, 2019
@nphilipp nphilipp moved this from In progress to Ready in CI Gating Jun 26, 2019
@nphilipp nphilipp moved this from Ready to To do in CI Gating Jun 26, 2019
@pypingou pypingou moved this from To do to Ready in CI Gating Jul 29, 2019
@nphilipp nphilipp moved this from Ready to In progress in CI Gating Jul 30, 2019
@nphilipp nphilipp self-assigned this Jul 30, 2019
@nphilipp
Copy link
Member

For reference, here's pypingou's multi-build update workflow diagram [download]:

Multi-builds - Rawhide Package Gating Flow.png

I'm taking this card to be the overarching one for the whole workflow, not just the last step in the diagram. 😃

@nphilipp
Copy link
Member

In Robosignatory's PR#27 I added tests around its "signing a tagged build" workflow, which I wanted to get in in order not to screw things up (too much).

@nphilipp
Copy link
Member

Here are the "sub-cards" covering individual bits and pieces in Bodhi and robosig:

@nphilipp
Copy link
Member

nphilipp commented Aug 28, 2019

@cverna cverna self-assigned this Sep 10, 2019
@cverna
Copy link
Contributor

cverna commented Oct 4, 2019

I think we can close this since all the related tasks have been done.

@cverna cverna closed this as completed Oct 4, 2019
CI Gating automation moved this from In progress to Merged to develop Oct 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API Issues related to Bodhi's REST API High priority These issues are higher priority than normal RFE Requests for Enhancement
Projects
CI Gating
  
Merged to develop
Development

No branches or pull requests

4 participants