feat: add Pulp upload scripts and pipeline integration#2570
Open
feat: add Pulp upload scripts and pipeline integration#2570
Conversation
djgalloway
reviewed
Apr 23, 2026
Comment on lines
+600
to
+608
| export PULP_URL="${PULP_URL}" | ||
| export PULP_PROJECT="${PULP_PROJECT}" | ||
| export OS_NAME="${os.name}" | ||
| export OS_VERSION="${os.version}" | ||
| export OS_VERSION_NAME="${os.version_name}" | ||
| export OS_PKG_TYPE="${os.pkg_type}" | ||
| export SHA1="${env.SHA1}" | ||
| export FLAVOR="${env.FLAVOR}" | ||
| if [ "$THROWAWAY" != "true" && "$PULP_UPLOAD" == "true" ]; then ./scripts/pulp_upload.sh; fi |
Contributor
There was a problem hiding this comment.
Can't all of the exports go inside the if statement at the end? The only reason we export CHACRA_URL and subsequent vars above is because we use chacra unconditionally.
So
if [ "$THROWAWAY" != "true" && "$PULP_UPLOAD" == "true" ]; then
export PULP_PROJECT="${PULP_PROJECT}"
export OS_NAME="${os.name}"
export OS_VERSION="${os.version}"
export OS_VERSION_NAME="${os.version_name}"
export OS_PKG_TYPE="${os.pkg_type}"
export SHA1="${env.SHA1}"
export FLAVOR="${env.FLAVOR}"
./scripts/pulp_upload.sh
else
echo "Skipping pulp upload because PULP_UPLOAD=$PULP_UPLOAD"
fi
Or similar
Contributor
|
jenkins retest |
Contributor
|
My comment is a nit. I'd like to push this to Jenkins to make sure we don't run over the character limit we saw a few months ago but otherwise okay with this. Exciting stuff! 👍 |
zmc
reviewed
Apr 23, 2026
Member
zmc
left a comment
There was a problem hiding this comment.
Generally looks great! I agree with David's suggestion. I think we should likely have PULP_URL be a parameter defaulting to the host we have in openshift.
Add an optional path to publish built RPM/DEB artifacts to Pulp alongside the
existing Chacra flow.
- Introduce a `PULP_UPLOAD` boolean parameter (default false) on the `ceph-dev` job.
- Add `scripts/setup_pulp.sh` to install `pulp-cli` (with pulp-cli-deb) via uv and
write client config from Jenkins credentials.
- Add `scripts/pulp_upload.sh` to upload discovered packages, attach them to the
target repository, create a publication, and publish a distribution with
project/version/ref/arch/sha labels.
- Update the Jenkinsfile to install/configure the Pulp client when forcing a
rebuild with Pulp upload while Chacra already has artifacts, and to invoke
`pulp_upload.sh` after `chacra_upload.sh` when `THROWAWAY` is not `true` and
`PULP_UPLOAD` is `true`.
Signed-off-by: Vaibhav Mahajan <vamahaja@redhat.com>
Signed-off-by: Vaibhav Mahajan <vamahaja@redhat.com>
bd1005e to
a1b9e8f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR will introduce an optional path to publish built RPM/DEB artifacts to Pulp alongside the existing Chacra flow.
PULP_UPLOADboolean parameter (default false) on theceph-devjob.scripts/setup_pulp.shto installpulp-cli(with pulp-cli-deb) via uv and write client config from Jenkins credentials.scripts/pulp_upload.shto upload discovered packages, attach them to the target repository, create a publication, and publish a distribution with project/version/ref/arch/sha labels.pulp_upload.shafterchacra_upload.shwhenTHROWAWAYis nottrueandPULP_UPLOADistrue.