jenkins-ci-rme — release pipeline for the Qt6 validation-scope branch
In-tree copy of the Jenkins CI flow, adapted so the release pipeline depends only on files inside this source tree:
| File | Purpose |
|---|---|
Jenkinsfile |
Jenkins entry point (job script path jenkins-ci-rme/Jenkinsfile): job properties/parameters, build node, checkout with submodules, then loads jenkins-ci-rme/jenkins/Jenkinsfile |
jenkins/Jenkinsfile |
Build body (per OS version, sequentially): install the prebuilt image from legatus-qt6_1.0.tar.gz when missing, run the builder inside the container, coverage, publish the DEBs to the artifact repo |
jenkins_builder_ubuntu26.sh |
Runs inside the build container: stages the workspace, runs the in-tree rpmbuild/make_rpm_ubuntu26.py, copies the DEBs to the packages-out mount |
jenkins_publisher_ubuntu26.sh |
Runs on the Jenkins agent: uploads the DEBs from ${WORKSPACE}/rpms/${PROJECT}/${OS_VERSION}/ to the internal artifact repository |
release-16-10-2026.sh |
Local driver: the same flow without Jenkins, through the in-tree new_docker_build.sh |
Not included (superseded)
jenkins_builder.sh/jenkins_publisher.sh— openSUSE/RPM flow, not used by this branch (DEB/Ubuntu 26.04 only)Dockerfile-15.1/Dockerfile-ubuntu26.04/Dockerfile-ubuntu26-qt6— old image recipes; the prebuilt build image is built from the in-treeDockerfile(one level up)jenkins_notifier.sh— Bitbucket build-status notification, not part of this project
Adaptations vs. the outer-repo copy
- Packaging uses the in-tree
rpmbuild/make_rpm_ubuntu26.py(was${WORKSPACE}/rpmbuildfrom the outer repo) - The prebuilt build image
legatus-qt6:1.0ships in the repo aslegatus-qt6_1.0.tar.gz(repo root); Jenkinsdocker loads it only when the image is not installed on the agent yet, and never builds it MIGRATE_PIPELINE_ROOTis no longer needed:new_docker_build.shderives it from its own location- DEB output path:
${WORKSPACE}/rpms/${PROJECT}/${OS_VERSION}/(Jenkins convention); the packages-out copy is skipped when that directory is the make_rpm output dir (same device:inode guard as innew_docker_build.sh) - Publisher uploads
${WORKSPACE}/rpms/${PROJECT}/${OS_VERSION}/directly —make_rpm_ubuntu26.pywrites the DEBs there without a TDS subfolder - The post-publish Cleanup stage was dropped: the DEBs are kept under
${WORKSPACE}/rpms/...(the documented output location)
Local run
cd "DLBO Qt6"
bash ./jenkins-ci-rme/release-16-10-2026.sh
# DEBs: <repo-root>/rpms/guez/26.04/
Jenkins setup
The job SCM is the DLBO Qt6 repository; the script path is
jenkins-ci-rme/Jenkinsfile, which loads jenkins-ci-rme/jenkins/Jenkinsfile.
Required Jenkins credential: internal-repo-uploader (username/password for
the artifact repository).