Repository navigation
project release: merge CHANGELOG inputs across OBS instances (--also-profile) - #146
Merged
Merged
Conversation
…stances Production spans two OBS instances with disjoint slices (build.opensuse.org holds most packages, labs the UBI repos and container images). Building the CHANGELOG from one instance reported labs-only packages as removed and dropped all container image diffs. Extract the per-instance OBS fetch into _collect_release_obs_data, query every --also-profile instance too and union the results with _merge_release_obs_data (first wins, no cross-instance image clash). As a safety net, a package whose directory is still in the source tree is never reported as removed. Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
…merge The release version (and image list) of a key now comes from the instance that supplied its source value, so labs' h3 source is not diffed against boo's stale release copy; keys with no source anywhere fall back to first-wins. --also-profile now fails when the profile's staging project is not visible (OBS helpers swallow errors). Drop the unused source_path parameter of _collect_release_obs_data. Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
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.
Summary
project releasebuilt its CHANGELOG from one OBS instance. With theproduction slices split across build.opensuse.org and labs (UBI repos,
container images), a cut run against boo reported
h3 (extras): removed(boo's staging never had h3; its release project still holds an old copy)
and emitted no container-image diffs at all.
--also-profile NAME: the package versions and containerimage package lists are fetched from every listed instance and merged.
Each package's release version is paired with the instance that supplies
its source version, so a stale copy on another instance cannot produce a
spurious "update"; keys with no source on any instance (removal
candidates) fall back to the first instance's value. Container image
lists follow the same pairing.
--also-profilewhose instance cannot see the staging project failsloudly (the OBS helpers otherwise swallow errors and contribute nothing).
never reported as removed (a warning is printed instead). This also
changes single-instance runs: a package with no binaries on that instance
is warned about rather than listed as removed.
_collect_release_obs_data/_merge_release_obs_data(pure, tested); per-instance behaviour isunchanged.
Usage for the current train:
project release ppg:staging:18 --also-profile labsmain.Testing
655 tests, black, pyright 0 errors. Live check follows on the 17.11-2 /
18.6-2 cuts (refresh in place after merge).