Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI/CD workflows for spec repositories #54

Closed
pmaria opened this issue Nov 15, 2022 · 1 comment
Closed

CI/CD workflows for spec repositories #54

pmaria opened this issue Nov 15, 2022 · 1 comment
Assignees

Comments

@pmaria
Copy link
Collaborator

pmaria commented Nov 15, 2022

Proposal sketched up with @DylanVanAssche for CI/CD workflows for the spec repositories, to keep specs and ontology/shapes in line, and also do some automatic validations / generation where applicable.

shapes coverage test

Create a GitHub action to be used by all spec repo's that contains generic CI/CD functionality.
As input the action 0 or more other spec-repositories can be specified on which this spec-repo is dependent.

The action then collects the necessary artefacts from the repo's and executes the following steps:

  1. Syntax-validation/parse ontologies (if error is encountered give clear msg with offending repo and file)
  2. Validate / Test shapes
  3. Validate examples

All spec repo's get the following directory structure

[spec-repo]
├── model/
│   ├── ontology/       # Ontology reflecting the spec ( this will be combined with rml-core and possibly other specs )
│   └── shapes/         # Shapes reflecting the spec
│       └── tests/      # Test cases which cover the shapes
└── examples/           # Examples used in the spec

Under model/shapes/tests we have test cases that cover the shapes reflecting the spec developed in the current repo.
This helps us ensure that our shapes and ontology are valid and stay up to date with the spec.

Under examples/ we have all examples that are used in the text of the spec. We place them in this standard location
so that they can also be validated against the shapes used in the previous step.

On each push to any branch, these tests will be run.

PR templates

We will introduce PR templates including a checklist which reminds us to:

  • make sure that the model is in sync with the spec.

Generate combined model

We can introduce a merge action which triggers a commit or PR to update the full model (in rml-core repo?)

@DylanVanAssche
Copy link
Collaborator

Update: CI/CD is merged with SHACL shapes and test-cases so we're almost there for all specs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants