I am working on the foreman-infra cleanup story that revolves around moving our Jenkins job definitions out of the puppet module and to a more obvious place and such that Jenkins itself can manage updates to jobs. The original proposal was to move this to jenkins-jobs/ directory at the top of the foreman-infra directory. This keeps everything together, however, it does conflate concepts with having CI jobs and underlying infrastructure management together.
Proposal
Move Jenkins job definitions, those currently at puppet/modules/jenkins_job_builder/files, to a brand new repository either:
for the move to a separate repo but naming is still one of the hardest problems.
This has the benefit of making it clear that it’s job definitions. I assume that within this we would still have 2 directories (theforeman.org and centos.org) as we have today.
While this sounds attractive, it can open up the discussion if we should include Github Actions here as well. IMHO those have separate “release” cycles and separating projects is why we want to extract it out of foreman-infra.
This work has been completed. All jobs now exist at jenkins-jobs and are automatically updated when updates are merged to the repository. All jobs have been removed from foreman-infra.