Skip to content

feat: Package validator-keys inside rippled - #7905

Open
mathbunnyru wants to merge 10 commits into
XRPLF:staging/3.3.xfrom
mathbunnyru:package_validator_keys
Open

feat: Package validator-keys inside rippled#7905
mathbunnyru wants to merge 10 commits into
XRPLF:staging/3.3.xfrom
mathbunnyru:package_validator_keys

Conversation

@mathbunnyru

Copy link
Copy Markdown
Contributor

High Level Overview of Change

Trying to package validator-keys binary as part of rippled packaging process

Context of Change

API Impact

  • Public API: New feature (new methods and/or new fields)
  • Public API: Breaking change (in general, breaking changes should only impact the next api_version)
  • libxrpl change (any change that may affect libxrpl or dependents of libxrpl)
  • Peer protocol change (must be backward compatible or bump the peer protocol version)

@mathbunnyru mathbunnyru added the Full CI build Run all CI configurations, no matter what label Jul 29, 2026
@mathbunnyru
mathbunnyru requested a review from bthomee July 29, 2026 19:23
@mathbunnyru mathbunnyru reopened this Jul 29, 2026
@bthomee
bthomee requested a review from Copilot July 29, 2026 19:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Packages validator-keys alongside xrpld by updating CMake, packaging scripts (RPM/DEB), and CI strategy/workflows so the validator-keys binary is built, uploaded, downloaded, and installed into /usr/bin as part of the Linux packaging pipeline.

Changes:

  • Include validator-keys in RPM and Debian packages and update package metadata/docs accordingly.
  • Pin validator-keys-tool via FetchContent to an exact commit and ensure it’s built in CI when enabled.
  • Extend CI matrix + workflows to upload/download a separate validator-keys-* artifact and make packaging depend on both binaries.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
package/rpm/xrpld.spec Installs and lists validator-keys in RPM payload and description.
package/README.md Documents that packaging now includes validator-keys and requires -Dvalidator_keys=ON.
package/debian/rules Installs validator-keys into the Debian package.
package/debian/control Updates Debian long description to mention validator-keys.
package/build_pkg.sh Requires/stages validator-keys alongside xrpld during packaging.
CMakeLists.txt Reorders includes so validator-keys exists before packaging logic is evaluated.
cmake/XrplValidatorKeys.cmake Pins validator-keys-tool commit; ensures target is built and patched for non-Nix runtimes.
cmake/XrplPackaging.cmake Makes package target depend on both xrpld and validator-keys.
cmake/PatchNixBinary.cmake Generalizes patching so it can handle targets defined in subprojects.
.github/workflows/reusable-package.yml Downloads both artifacts (xrpld + validator-keys) before packaging.
.github/workflows/reusable-build-test-config.yml Optionally runs validator-keys unit tests and uploads the validator-keys artifact when present.
.github/scripts/strategy-matrix/linux.json Enables -Dvalidator_keys=ON for the debian/rhel build configs that feed packaging.
.github/scripts/strategy-matrix/generate.py Extends packaging matrix entries to include validator_keys_artifact_name.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CMakeLists.txt Outdated
Comment thread package/build_pkg.sh
@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@bthomee bthomee left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looking very good - almost there.

Comment thread .github/scripts/strategy-matrix/generate.py Outdated
Comment thread .github/workflows/reusable-build-test-config.yml Outdated
Comment thread cmake/XrplValidatorKeys.cmake
Comment thread cmake/XrplValidatorKeys.cmake
Comment thread package/build_pkg.sh Outdated
Comment thread package/debian/control Outdated
bthomee
bthomee previously approved these changes Jul 30, 2026

@godexsoft godexsoft left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:rage1:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Full CI build Run all CI configurations, no matter what

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants