-
Notifications
You must be signed in to change notification settings - Fork 2
Workflows
Aanmaken/updaten van een pull request en bij een push naar main of develop wanneer er wijzigingen zijn in de map doc/.
-
Run tests
Valideert dat
doc/NLCSValidatieRegels.xmlvoldoet aan de eisen vandoc/NLCSValidatieRegels.xsd. -
Install dependencies
Installeert de benodigde Saxon-HE (en SchXslt2) afhankelijkheden.
-
Generate and compare HTMLs
Genereert
NLCSValidatieRegels.htmlen controleert of deze overeenkomt met de huidige inhoud van het bestand. -
Generate and compare SVGs
Genereert visualisaties van de testdata in
assets/en controleert of deze overeenkomt met de huidige inhoud van het bestand.
Aanmaken/updaten van een pull request en bij een push naar main of develop.
-
Check rule coverage
Controleert of alle regels uit
doc/NLCSValidatieRegels.xmlgedekt zijn invalidation_schemas/base/v12.sch. Workflow faalt indien regels niet geïmplementeerd zijn en/of niet bestaande regels in het Schematron bestand aanwezig zijn.
Aanmaken/updaten van een pull request en bij een push naar main of develop.
-
Install dependencies
Installeert de benodigde Saxon-HE en SchXslt2 afhankelijkheden.
-
Validate rule test data XSD compliance
Controlleert of de testbestanden in
test/rule_validation_data/voldoen aan de NLCS++ XSD. -
Transpile phases to XSL
Transpileert de Schematron bestanden naar een apart XSL bestand per fase (regel). Hierdoor is het mogelijk om elke regel geïsoleerd te testen.
-
Validate rules
Voert de validatie van de regel-specifieke testdata uit. Hierbij wordt voor elke regel zowel de slagende als falende testdata gebruikt en wordt er voor elke test een validatierapport gegenereerd.
-
Upload validation reports
Uploadt de validatierapporten als een artifact, wat nuttig kan zijn bij het debuggen van de tests of workflow.
-
Validate test reports
Controlleert of elk validatierapport van de slagende testdata geslaagd is (geen falende asserts bevat), en elk validatierapport van de falende testdata gefaald is (op zijn minst één falende assert bevat).
-
Check rule object coverage
Controlleert per regel of elk validatieobject dat verwacht wordt op zijn minst in één falend validatierapport voorkomt.
Aanmaken/updaten van een pull request en bij een push naar main of develop.
-
Install dependencies
Installeert de benodigde Saxon-HE en SchXslt2 afhankelijkheden.
-
Add scope checks
Maakt kopieën van de bestanden in
validation_schemas/abstract_patternswaarbij aan elke context (bijvoorbeeldnlcs:MSkabel) een filter wordt toegevoegd dat controleert of de validatie van de regel uitgevoerd moet worden afhankelijk van de scope van de context. Deze kopieën worden invalidation_schemas/abstract_patterns_scope_checksopgeslagen.Vervolgens wordt er een kopie gemaakt van het Schematron basisbestand
validation_schemas/base/v12.schdie gebruikt maakt van de zojuist gekopieërdeabstract_patterns_scope_checkbestanden. Deze kopie wordt invalidation_schemas/base_scope_checks/v12.schopgeslagen. -
Transpile Schematron to XSL
Transpileer de Schematron bestanden met scope checks naar XSL.
-
Validate scopes
Voor elke scope worden kopieën gemaakt van het
test/scope_validation_data/v12/scope_template.xmlmet alle mogelijk combinaties van tekening type, status en bedrijfstoestand. Dit template bestand bevat elk NLCS++ objecttype dat gevalideerd wordt.Vervolgens wordt er met elke kopie een validatie uitgevoerd. Het validatierapport wordt uitgelezen om vast te leggen welke validatieregels uitgevoerd zijn (slagend dan wel falend). Deze worden vervolgens vastgelegd, samen met de regels die verwacht waren, de regels die missen en de regels die niet verwacht waren met wel uitgevoerd zijn. Als er missende of onbedoelde validatieregels aanwezig zijn wordt de dit gerapporteerd en zal de workflow falen.
Pushen van een tag, startend met v (bijvoorbeeld v1.0.0).
-
Install dependencies
Installeert de benodigde Saxon-HE en SchXslt2 afhankelijkheden.
-
Add scope checks:
Maakt kopieën van de bestanden in
validation_schemas/abstract_patterns/waarbij aan elke context (bijvoorbeeldnlcs:MSkabel) een filter wordt toegevoegd dat controleert of de validatie van de regel uitgevoerd moet worden afhankelijk van de scope van de context. Deze kopieën worden invalidation_schemas/abstract_patterns_scope_checks/opgeslagen.Vervolgens wordt er een kopie gemaakt van het Schematron basisbestand
validation_schemas/base/v12.schdie gebruikt maakt van de zojuist gekopieërdeabstract_patterns_scope_checkbestanden. Deze kopie wordt invalidation_schemas/base_scope_checks/v12.schopgeslagen. -
Transpile Schematron to XSL
Transpileer de Schematron bestanden met scope checks naar XSL.
-
Bundle deliverables
Kopieert en verpakt de benodigde bestanden voor de release in
dist.zip:- De zojuist getranspileerde XSL-representatie van de Schematron bestanden
- De benodigde XSL functies voor o.a. geometrie en configuratie
- Configuratiebestanden uit
doc/enconfiguration/ - Lokalisaties (Nederlands en Engels) van de berichten voor falende asserts
-
Upload deliverables
Upload de deliverables als een artifact, wat nuttig zijn bij het debuggen van de release of workflow.
-
Upload release
Upload de deliverables (naast de source code) als een release op GitHub.