hs-relmon - Man Page
Release monitoring tool for CentOS Hyperscale SIG packages
Synopsis
Description
Release monitoring tool for CentOS Hyperscale SIG packages
Options
- -h, --help
Print help
- -V, --version
Print version
Commands
hs-relmon check-latest
hs-relmon check-latest [-d|--distros] [--repology-name] [--track] [--json] [--file-issue] [-h|--help] <PACKAGE>
Check the latest version of a package across distributions
- -d, --distros <DISTROS>
Comma-separated list of distros to check.
Valid names:
upstream Newest version across all repos
fedora Fedora Rawhide + latest stable
fedora-rawhide Fedora Rawhide only
fedora-stable Latest stable Fedora only
centos Latest CentOS Stream
centos-stream Latest CentOS Stream
hyperscale / hs Hyperscale EL9 + EL10
hs9 Hyperscale EL9 only
hs10 Hyperscale EL10 only- --repology-name <PROJECT>
Override Repology project name when it differs from the package (e.g. linux for perf).
- --track <TRACK> [default: upstream]
Distribution to compare Hyperscale builds against.
Valid names:
upstream Newest version across all repos (default)
fedora-rawhide Fedora Rawhide
fedora-stable Latest stable Fedora
centos Latest CentOS Stream
centos-stream Latest CentOS Stream- --json
Output as JSON instead of a table
- --file-issue [<URL>]
File or update a GitLab issue if the package is outdated. Searches for an open issue labeled rfe::new-version and updates its title, or creates a new one. Defaults to https://gitlab.com/CentOS/Hyperscale/rpms/PKG. Uses the token from 'hs-relmon config', or GITLAB_TOKEN env var as an override.
- -h, --help
Print help (see a summary with '-h')
- <PACKAGE>
Source package name (e.g. ethtool)
hs-relmon check-manifest
hs-relmon check-manifest [--json] [--issue-status] [--issue-assignee] [-h|--help] <MANIFEST>
Check all packages listed in a manifest file
- --json
Output as JSON instead of tables
- --issue-status <STATUS>
Only show packages whose GitLab issue matches this work-item status. Packages without an issue are excluded. Issues that do not match are not updated.
Default statuses:
To do Planned but not started
In progress Currently being worked on
Done Completed
Canceled Will not be done- --issue-assignee <USERNAME>
Only show packages whose GitLab issue is assigned to this username. Use "none" to match unassigned issues. Packages without an issue or without a matching assignee are excluded.
- -h, --help
Print help (see a summary with '-h')
- <MANIFEST>
Path to the TOML manifest file
hs-relmon dupe-subpkgs
hs-relmon dupe-subpkgs [--repositories] [--release] [--package] [--fix] [--json] [-v|--verbose] [-h|--help]
Find binary RPMs shipped by 2+ source packages in a tag
- --repositories <REPOSITORIES> [default: main]
Comma-separated Hyperscale repositories to scan. The repository is the segment between `-packages-` and the stage suffix, e.g. `main` in `hyperscale10s-packages-main-release`. Each repository's `-release` and `-testing` tags across EL9/EL10 (and the Stream variants) are scanned.
- --release <RELEASE>
Hyperscale release(s) to scan, repeatable or comma- separated. Each value is a short EL token (`9`, `9s`, `10`, `10s`) or the equivalent full release name (`hyperscale9s`, `hyperscale10s`, ...) — both forms mean the same release. Defaults to all four.
- --package <PACKAGE>
Source package name(s), repeatable or comma-separated. Only collisions that involve one of these sources are reported (the whole tag is still scanned to find what they collide with). Defaults to all packages.
- --fix
For each collision, show the candidate builds and the binaries only each one provides (which would vanish from the tag if it were untagged), then prompt for which build to untag. Defaults to skipping. Requires CBS write authentication. In --json mode or without a terminal the plan is printed and nothing is untagged.
- --json
Output as JSON instead of a table
- -v, --verbose
Print progress to stderr
- -h, --help
Print help (see a summary with '-h')
hs-relmon file-conflicts
hs-relmon file-conflicts [--repositories] [--release] [--package] [--json] [-v|--verbose] [-h|--help]
Find files shipped by 2+ sources across enabled repos
- --repositories <REPOSITORIES>
Comma-separated repositories that are enabled together on a host, compared per EL version. Overrides the per-EL defaults (main + kernel on EL10/10s; main only on EL9/9s, which has no kernel repo). The `-release` tag of each is combined and files owned by two or more distinct source packages are flagged.
- --release <RELEASE>
Hyperscale release(s) to scan, repeatable or comma- separated. Each value is a short EL token (`9`, `9s`, `10`, `10s`) or the equivalent full release name (`hyperscale9s`, `hyperscale10s`, ...) — both forms mean the same release. Defaults to all four.
- --package <PACKAGE>
Source package name(s), repeatable or comma-separated. Only conflicts that involve one of these sources are reported (the whole repo set is still scanned to find what they conflict with). Defaults to all packages.
- --json
Output as JSON instead of a table
- -v, --verbose
Print progress to stderr
- -h, --help
Print help (see a summary with '-h')
hs-relmon list-issues
hs-relmon list-issues [--group] [--issue-status] [--issue-assignee] [--json] [--manifest] [--add-missing] [-h|--help]
List GitLab issues labeled rfe::new-version
- --group <GROUP> [default: https://gitlab.com/CentOS/Hyperscale/rpms]
GitLab group URL to search
- --issue-status <STATUS>
Only show issues matching this work-item status.
Default statuses:
To do Planned but not started
In progress Currently being worked on
Done Completed
Canceled Will not be done- --issue-assignee <USERNAME>
Only show issues assigned to this username. Use "none" to match unassigned issues.
- --json
Output as JSON instead of a table
- --manifest <PATH>
Path to a TOML manifest file. When provided, the output shows which packages with rfe::new-version issues are missing from the manifest.
- --add-missing
Add packages that have rfe::new-version issues but are missing from the manifest. Requires --manifest. Packages are inserted in sorted order.
- -h, --help
Print help (see a summary with '-h')
hs-relmon prune-archived
hs-relmon prune-archived [--repositories] [--skip] [--dry-run] [-y|--yes] [-v|--verbose] [-h|--help] <MANIFEST>
Untag CBS builds for archived-upstream packages stock caught up to
- --repositories <REPOSITORIES> [default: main]
Comma-separated Hyperscale repositories to manage. The repository is the segment between `-packages-` and the stage suffix, e.g. `main` in `hyperscale10s-packages-main-release`. Tags whose repository is not in this list are not touched.
- --skip <LIST>
Comma-separated packages to skip
- --dry-run
Preview operations without applying them
- -y, --yes
Untag at/behind-stock without prompting; skip ahead-of-stock
- -v, --verbose
Print progress to stderr
- -h, --help
Print help (see a summary with '-h')
- <MANIFEST>
Path to the TOML manifest file
hs-relmon prune-manifest
hs-relmon prune-manifest [--release-keep] [--testing-keep] [--repositories] [--skip] [--dry-run] [-y|--yes] [-v|--verbose] [-h|--help] <MANIFEST>
Untag old hyperscale builds for every package in a manifest, keeping N newest in each `-release`/`-testing` tag
- --release-keep <RELEASE_KEEP> [default: 2]
Builds to keep per `-release` tag
- --testing-keep <TESTING_KEEP> [default: 1]
Builds to keep per `-testing` tag
- --repositories <REPOSITORIES> [default: main]
Comma-separated Hyperscale repositories to manage. The repository is the segment between `-packages-` and the stage suffix, e.g. `main` in `hyperscale10s-packages-main-release`. Tags whose repository is not in this list are not touched.
- --skip <LIST>
Comma-separated package names to skip during the batch run. Useful when one package manages its own tag cleanup (e.g. systemd) and you don't want this tool to touch it.
- --dry-run
Preview operations without applying them
- -y, --yes
Skip the per-package confirmation prompt
- -v, --verbose
Print progress to stderr
- -h, --help
Print help (see a summary with '-h')
- <MANIFEST>
Path to the TOML manifest file
hs-relmon review
hs-relmon review [--repositories] [--skip] [--changelog-lines] [--dry-run] [-v|--verbose] [-h|--help] [TARGET]
Interactively review builds in hyperscale `-testing` tags and promote (+1), reject (-1), or skip (0) each one
- --repositories <REPOSITORIES> [default: main]
Comma-separated Hyperscale repositories to scan. The repository is the segment between `-packages-` and the stage suffix, e.g. `main` in `hyperscale10s-packages-main-testing`.
- --skip <SKIP>
Package name(s) to exclude from review, repeatable or comma-separated. Use for packages with their own release pipeline (e.g. systemd) that should never be promoted through this tool.
- --changelog-lines <CHANGELOG_LINES> [default: 20]
For a package with nothing yet in release, show at most this many lines of its changelog (a new package has no prior version to diff against). Packages that are already in release always show just the entries newer than the released build.
- --dry-run
List the builds that would be reviewed, then exit
- -v, --verbose
Print progress to stderr
- -h, --help
Print help (see a summary with '-h')
- [TARGET]
Optional package name or build NVR. With a package name, reviews its latest build in each testing tag; with an NVR, reviews that specific build; omitted, reviews everything in testing
hs-relmon config
Configure GitLab authentication
- -h, --help
Print help