Continuous Integration
This document describes the CI pipeline for MIECO.
Overview
MIECO uses GitHub Actions for continuous integration. The CI pipeline runs automatically on:
- Every push to the master branch
- Every pull request targeting the master branch
Workflows
QC Workflow (.github/workflows/qc.yml)
Runs ontology quality control checks using the ODK Docker container:
- Reasoning test: Validates the ontology is consistent using the ELK reasoner
- SPARQL validation: Runs SPARQL queries to check for common errors
- ROBOT report: Generates a quality report
The CI runs with:
make test IMP=false PAT=false MIR=false
The IMP=false, PAT=false, and MIR=false flags skip import refreshing, pattern processing, and mirror refreshing for faster CI runs.
Docs Workflow (.github/workflows/docs.yml)
Automatically rebuilds the MkDocs site and commits the generated HTML to docs/
on every push to master. GitHub Pages is then configured to serve from that
docs/ folder — no separate gh-pages branch required.
This is intentionally simpler than using a third-party action such as
mhausenblas/mkdocs-deploy-gh-pages because:
- It has no external action dependency (the
mhausenblasaction is unpinned and could change or disappear). - There is no
gh-pagesbranch to manage — everything lives onmaster. - GitHub Pages setup is a single repository setting: serve from
/docson master. - The generated HTML is visible directly in the repository.
- Documentation can also be updated entirely without CI: run
mkdocs buildlocally and commit thedocs/output.
Viewing CI Results
Check the Actions tab to see CI results.
For more information, see: https://oboacademy.github.io/obook/howto/odk-workflows/