Repository navigation
Fix project name parsing, release validation retries, and pax attributes - #1284
Merged
Merged
Conversation
For packages whose ZOPEN_NAME contains no '-' (e.g. check_python),
the build system appends '-DEV' to avoid colliding with installed
packages. getProjectName was then called on the resulting
'check_python-DEV' string; because 'DEV' does not match the version
regex ([vV]?[0-9].*), the function returned the full string instead
of the bare project name.
This caused two visible problems:
- ZOPEN_INSTALL_DIR parent dir became check_python-dev instead of
check_python (e.g. .../check_python-dev/check_python-DEV)
- mergeIntoSystem received 'check_python-DEV' as the package name,
so the canonical symlink was created as check_python-dev ->
check_python-DEV instead of check_python -> check_python-DEV
Fix: strip a trailing -DEV suffix inside getProjectName before any
further processing. The strip is a no-op for release builds where
the name already contains a real version (e.g. util-linux-2.5).
…sleep 5 github-release info was called once after a 5-second sleep, which is not always enough for GitHub's API to make a freshly created release visible. The result was a hard failure even though the release had been created successfully. Replace the single sleep+check with a retry loop (5s, 10s, 20s, 30s cumulative backoff, max ~65s total wait) that exits as soon as the release is confirmed visible, and only fails if none of the attempts succeed.
All pax invocations in the generated spec used -p p (permissions only). Since rpmbuild runs on z/OS, extended attributes such as the program control bit, APF authorization, and EBCDIC file tags must also be preserved. Change -p p to -p pe across all five pax calls: - %prep extraction (.pax.Z and .pax variants) - %install copies for FHS dirs, misc items, and doc files
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The expanded pax preservation flags need native z/OS validation of ownership, attributes, and privilege requirements.
No open issues 🎉
What changed in this PR
This PR updates project-name parsing, release validation, and archive handling in the zopen build and publishing pipeline.
Changes:
- Strip trailing
-DEVbefore fallback project-name parsing. - Retry GitHub release validation with increasing delays.
- Expand
paxpreservation flags during RPM extraction and staging.
| File | Description |
|---|---|
cicd/publish.groovy |
Replace one release-validation attempt with bounded retries. |
bin/zopen-pax2rpm |
Change archive extraction and copy operations from -p p to -p pe. |
bin/zopen-build |
Remove the development suffix before fallback name extraction. |
Review effort: Balanced
sachintu47
marked this pull request as ready for review
October 23, 2026 06:06
sachintu47
requested review from
DevonianTeuchter,
HarithaIBM,
IgorTodorovskiIBM,
MikeFultonDev and
v1gnesh
as code owners
October 23, 2026 06:06
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.
What type of PR is this? (check all applicable)
Category
Description
This PR updates project-name parsing, release validation, and archive handling in the zopen build and publishing pipeline.
Changes:
Related Issues
[optional] Are there any post-deployment tasks or follow-up actions required?