Contribution Date
Contribution Project
Contribution Details
Run the signing-parity check in CI
The vectors and the PHP suite were only a guard if something ran them, and
nothing did: CI has no PHP job, so a change to the delivery token's canonical
form would have passed every check and broken image rendering on every site
using the connector — discovered by a customer, which is the outcome the
fixture exists to prevent. A fixture nothing runs is decoration.
The job does two things. It regenerates the vectors and diffs them against the
committed file, so a Rust-side format change fails with a visible diff rather
than quietly rewriting the file it is supposed to be checked against. Then it
runs the PHP suite against those vectors.
PHPUnit comes from the phar and there is no composer install. The module
requires drupal/core, and pulling that in to assert a byte comparison would
make the job guarding the wire format the slowest in CI — and a slow guard is
one somebody eventually marks continue-on-error. The signer needs nothing from
Drupal, which is the same property that lets it run in the render path, so
tests/bootstrap.php autoloads the two classes directly.
Both halves verified locally with the exact CI commands: the staleness check
was confirmed to fail when the Rust output drifts, and the suite passes on a
bare php:8.3-cli with no Drupal present.
Contribution Issue Link
Files count
0
Patches count
1