Repository navigation
refactor(coverage): migrate publishing scripts and tests to PHP - #18
Merged
Merged
Conversation
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.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.
Why
The LibreSign PHP application and its tests already use PHP. The Coverage publisher had accumulated Python and Bash implementation/test code even though those languages are not technically required for JSON, HTML, provenance, historical aggregation or GitHub Releases archiving. Consolidate the publisher's backend logic and tests in PHP 8.3+, without rerunning application tests or inventing data.
Changes
scripts/with a single PHP CLI entry point,scripts/coverage.php, backed by focused PHP classes insrc/.composer.json, lockedcomposer.lock, and PHPUnit tests, replacing the Python unittest suite. Use PHP 8.3 with PHPUnit 12, both on CI and for the publisher job.repository_dispatchtrust boundary, separation of previews from officialmain, immutable-by-policy SHA/run/attempt Releases, and checksum verification.templates/and adjust README,AGENTS.md, and the maintainer guide to match the PHP architecture.Evidence
Real archived data parity: Compared the old Python and new PHP output using the existing verified GitHub Release archives:
gzip -n -9memory_limit=128M, matching the reference report index hashAutomated verification:
actionlintpassed for all publisher workflows; JavaScriptnode --checkpassed.Review / rollout
This is a major implementation migration. Please inspect the source-run verification, Releases idempotency, and generated site parity before merging. The PR validation CI is expected to run PHP on GitHub Actions. The Pages deployment, real dispatch, and live website need a production smoke test after a separately authorized merge.
No PHP application code in
LibreSign/libresignis modified. No automatic merge requested.