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

WIP: ci: Land a new upstream release in Fedora with Packit #995

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

henrywang
Copy link
Contributor

@henrywang henrywang commented Dec 27, 2024

Trigger the build in Fedora Koji build system as a reaction to a new dist-git commit. Create a new update in Fedora Bodhi for successful Koji build.

I can't send PR in https://src.fedoraproject.org/rpms/bootc. According to https://fedoraproject.org/wiki/Infrastructure/fedorapeople.org#Accessing_your_fedorapeople.org_space, my fedora account should be in one group. Anyone can help to add my fedora account (@xiaofwan) into group? Thanks.

Trigger the build in Fedora Koji build system as a reaction to a
new dist-git commit.
Create a new update in Fedora Bodhi for successful Koji build.

Signed-off-by: Xiaofeng Wang <henrywangxf@me.com>
@cgwalters
Copy link
Collaborator

I don't know much about this but: why would this require your personal credentials? Can't it be a service/robot account? What do other people do?

@cgwalters
Copy link
Collaborator

We were chatting about the packaging overhead, right now it's super high for the team. What projects/teams are successfully using this flow?

cc @lsm5 who may know more

@lsm5
Copy link
Member

lsm5 commented Jan 16, 2025

You'll need to add downstream jobs to your .packit.yaml like so: https://github.com/containers/container-selinux/blob/main/.packit.yaml#L108-L129 . (skip the centos job).

With that setup, packit will create dist-git PRs on every upstream release event. Once the dist-git PR is merged by a human, packit will also handle koji builds and bodhi updates.

lsm5 added a commit to lsm5/bootc that referenced this pull request Jan 16, 2025
Fixes: containers#995

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
@lsm5
Copy link
Member

lsm5 commented Jan 16, 2025

You'll need to add downstream jobs to your .packit.yaml like so: https://github.com/containers/container-selinux/blob/main/.packit.yaml#L108-L129 . (skip the centos job).

With that setup, packit will create dist-git PRs on every upstream release event. Once the dist-git PR is merged by a human, packit will also handle koji builds and bodhi updates.

ugh lol, I thought it was an issue and not a PR. My bad.

PR LGTM. Once you cut a new release with this change, Packit will react to the github release event and create dist-git PRs and handle the rest as in my previous comment. I think that would be the best way to verify this change too.

@lsm5
Copy link
Member

lsm5 commented Jan 16, 2025

I can't send PR in https://src.fedoraproject.org/rpms/bootc. According to https://fedoraproject.org/wiki/Infrastructure/fedorapeople.org#Accessing_your_fedorapeople.org_space, my fedora account should be in one group. Anyone can help to add my fedora account (@xiaofwan) into group? Thanks.

@henrywang There's no need to create a PR in dist-git btw. Packit will sync the spec file and packit config file in the dist-git PR that it creates. HTH.

@lsm5
Copy link
Member

lsm5 commented Jan 16, 2025

I don't know much about this but: why would this require your personal credentials? Can't it be a service/robot account? What do other people do?

The dist-git PRs created by Packit service will need to be merged by a human as Packit ultimately wants the maintainers to own all the changes. See podman update PR created by packit: https://src.fedoraproject.org/rpms/podman/pull-request/214

We were chatting about the packaging overhead, right now it's super high for the team. What projects/teams are successfully using this flow?

podman, buildah, skopeo etc have been using it for quite sometime now. ramalama is another recent addition.

Copy link
Collaborator

@cgwalters cgwalters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know much about this but I'm happy to try it out, it seems like if something fails here we can fix it up as a post-merge operation?

@lsm5
Copy link
Member

lsm5 commented Jan 17, 2025

I don't know much about this but I'm happy to try it out, it seems like if something fails here we can fix it up as a post-merge operation?

To be clear, if you cut a vX.Y.Z with some packit-related issues and you fix them after, you'll need to cut a new vX.Y.Z+1 in order for packit service to act on those fixes. Packit's downstream operations will use whatever's in the release itself. If you absolutely don't want to cut a new release, then AFAIK, the downstream update for vX.Y.Z will have to be manual. Hope that helps.

@lsm5
Copy link
Member

lsm5 commented Jan 17, 2025

btw, this change won't have any noticeable effect upstream. Only exception, if Packit service has any issues creating Fedora dist-git PRs for a new release, it'll file an upstream issue automatically like containers/podman#22841

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

Successfully merging this pull request may close these issues.

3 participants