Skip to content

document packaging infrastructure#2418

Merged
evgeni merged 4 commits into
masterfrom
docs
May 21, 2026
Merged

document packaging infrastructure#2418
evgeni merged 4 commits into
masterfrom
docs

Conversation

@evgeni

@evgeni evgeni commented May 19, 2026

Copy link
Copy Markdown
Member

No description provided.

@ekohl ekohl left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This is a good base. I never know how detailed it needs to be so feel free to ignore my suggestions.

Comment thread docs/packaging.md
Comment thread docs/packaging.md

The packages are built by [Jenkins](jenkins.md) on a Jenkins node configured using the [`jenkins_node::packaging::rpm`](https://github.com/theforeman/foreman-infra/blob/master/puppet/modules/jenkins_node/manifests/packaging/rpm.pp) Puppet class.

Jenkins prepares an SRPM and submits the build to [COPR](https://copr.fedorainfracloud.org/), which performs the actual build.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Would it help to mention we have https://ci.theforeman.org/job/foreman-packaging-rpm-copr-nightly-release/ for regular packages (and foreman-packaging-rpm-${release}-release for stable branches) together with ${package}-${branch}-package-release for nightly packages? Those are the actual jobs that prepare the SRPM and submit.

And then we have a similar setup for pulpcore-packaging, but candlepin-packaging is special.

Comment thread docs/packaging.md
COPR publishes the built packages in own repositories, but doesn't support neither filtering nor gating of the built packages.
Instead we use a process where a staging repository is built based on the COPR content, published to `stagingyum.theforeman.org`, tests are executed and once the tests pass the repository is published to `yum.theforeman.org`.

For nightly, the process can be seen in [`foreman-rpm.groovy`](https://github.com/theforeman/jenkins-jobs/blob/master/theforeman.org/pipelines/release/pipelines/foreman-rpm.groovy).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Should we also mention the concrete pipelines? Like https://ci.theforeman.org/job/foreman-nightly-rpm-pipeline/

@evgeni

evgeni commented May 19, 2026

Copy link
Copy Markdown
Member Author

Mhh, maybe calling the PR "packaging workflows" was not the best idea 😅
My intent was to point out what infra is there for packaging and how it is tied together.

Not arguing that better docs on the various jenkins jobs would be cool, just not what I wanted to work on here ;)

@evgeni evgeni changed the title document packaging workflows document packaging infrastructure May 19, 2026
@evgeni

evgeni commented May 20, 2026

Copy link
Copy Markdown
Member Author

@theforeman/packaging anyone has any objections to merging this?

@evgeni

evgeni commented May 21, 2026

Copy link
Copy Markdown
Member Author

🤷‍♀️

@evgeni
evgeni merged commit e822bbb into master May 21, 2026
2 checks passed
@evgeni
evgeni deleted the docs branch May 21, 2026 15:41
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

Successfully merging this pull request may close these issues.

2 participants