Skip to content

Nothing checks the Schematron rules automatically when the schemas change #344

Description

@dragosprisaca

Abstract

When someone opens a pull request or pushes a change to the schemas, nothing runs automatically to check that the Schematron rules embedded in the XSD files still work. The repository has no pull-request checks at all; the only automation builds release files after a release is published.

This is how 176 broken or missing rules built up over time without anyone noticing (see #338 through #343). The new make check-schematron command finds these problems in about two seconds, but only if someone remembers to run it.

Proposal: add a GitHub Actions workflow that runs make check-schematron on every pull request and on every push to the development branches, and run the same check before release files are built. If the check fails, the pull request shows a red X and cannot be merged until the rules are fixed.

Additional context

Cost: about 15 seconds per run on GitHub's free runners. Needs Python 3 and lxml, installed from tools/requirements.txt. The check itself runs python3 -m unittest discover -s tests/schematron, which audits all 52 applicable schemas and validates about 1,700 synthesized documents.

Activity

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

Metadata

Metadata

Assignees

Labels

DiscussionGeneral discussion threads.

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions