PerseusDL / lexica

Repo for the text files of lexica
Creative Commons Attribution Share Alike 4.0 International
52 stars 23 forks source link

Proposal: Automatic XML Validation #74

Open nkprasad12 opened 1 year ago

nkprasad12 commented 1 year ago

I noticed that one of my recent PRs had a missing tag that wasn't caught until after it was merged, and needed to be fixed manually by lcerrato (https://github.com/PerseusDL/lexica/pull/71).

GitHub offers (for free, to public repos such as this one) the ability to run a suite of tests based on certain trigger criteria, reducing the burden on repo maintainers.

If this seems useful, I can send a PR to automatically check that the lat.ls.perseus-eng2.xml file can be parsed as valid XML before any pull request can be merged. This check is non-binding, repo admins would still have the discretion to merge a PR that failed the checks if desired.

lcerrato commented 1 year ago

@nkprasad12 We have this for other repos. We haven't implemented it here as this is not a part of our release packages and the text is not compliant with our other testing schemes.

nkprasad12 commented 1 year ago

Thanks for the context!

As a final quick comment - even if not compliant with other testing schemes or part of the release packages, for internal consistency it looks to me like the repo would benefit from adding a basic XML validation test, and with with not so much overall cost (as the check can be easily removed if needed).

However, I of course understand the hesitance to add extra complication / potentially untrusted code to the repo.

Please feel free to close if no further discussion / action is desired here.

lcerrato commented 1 year ago

@nkprasad12 You are right. We had testing via an external provider in the pre-GitHub action setup. It's just been orphaned since then as nothing in this repo has any impact on any current releases.

Obviously, we want to keep the xml well-formed for distribution purposes. I should be able to spot anything in the course of my work (since I'm the main editor), but ideally there would be testing.