Skip to content

Add a ROBOT report over ENVO with its full import closure to CI - #1702

Closed
turbomam wants to merge 3 commits into
masterfrom
closure-report
Closed

turbomam wants to merge 3 commits into
masterfrom
closure-report

Conversation

@turbomam

@turbomam turbomam commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

The src and base ROBOT reports run without imports, so problems that come in through imports never appear in CI. This adds a Makefile target reports/envo-closure-robot-report.tsv, which runs robot merge --collapse-import-closure true then report --fail-on NONE, and a closure_report target that prints counts by level. qc.yml runs make closure_report after the existing checks. It records the counts and leaves the build result as it was. The report stays out of all_reports, so releases are unchanged. Once the ERROR count reaches 0 the step can switch to failing on ERROR. The PR below makes the src and base reports fail on ERROR for ENVO's own terms.

In obolibrary/odkfull:v1.6 on master on 2026-11-02, make closure_report exits 0 and prints 60 ERROR, 1736 WARN and 401 INFO.

Related:

Part of:

Copilot AI balanced review requested due to automatic review settings November 2, 2026 15:04

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The closure report can show stale counts after imported ontologies or modules change because its Make target depends only on envo-edit.owl.

1 open issue
What changed in this PR

Adds import-closure reporting to ENVO’s CI, complementing the existing reports by exposing problems introduced through imported ontologies.

Changes:

  • Adds a ROBOT report that merges the full import closure without failing on reported violations.
  • Adds closure_report to print counts by severity and runs it after existing CI checks.
  • Keeps the new report outside all_reports, leaving release reporting unchanged.
File Description
src/​envo/​Makefile Adds the import-closure report and severity-count target.
.github/​workflows/​qc.yml Runs the closure report after the existing ontology checks.

Review effort: Balanced

Comment thread src/envo/Makefile Resolved

@pbuttigieg pbuttigieg left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get the direction, but shouldn't the fail be during the actual build rather than the reporting phase? I would rather that the reporting doesn't fail on error, so we can look them up.

For sure, there should be a build error if the merge doesn't work

@matentzn matentzn left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont think this is needed. No other ontology does this: QC on imported ontologies is a tar pit, and your test is not even failing - no one will read the CI log ever, so there is no point to add it there. The makefile additions are harmless by themselves, but, as I said - not sure if this is really required

@turbomam

turbomam commented Nov 2, 2026

Copy link
Copy Markdown
Contributor Author

@pbuttigieg I see you still have eyeballs. I am taking @matentzn 's guidance but that doesn't mean you shouldn't open new more isolated issues. That doesn't mean that I would necessarily be the one developing them :-)

@turbomam turbomam closed this Nov 2, 2026
@pbuttigieg

Copy link
Copy Markdown
Member

@pbuttigieg I see you still have eyeballs. I am taking @matentzn 's guidance but that doesn't mean you shouldn't open new more isolated issues. That doesn't mean that I would necessarily be the one developing them :-)

Just to indicate I saw @matentzn's input

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

Successfully merging this pull request may close these issues.

4 participants