-
Notifications
You must be signed in to change notification settings - Fork 41
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
Check models compatibility in Docker rebuild GH Actions workflow #719
base: main
Are you sure you want to change the base?
Check models compatibility in Docker rebuild GH Actions workflow #719
Conversation
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## main #719 +/- ##
=======================================
Coverage 99.67% 99.67%
=======================================
Files 89 89
Lines 6380 6380
=======================================
Hits 6359 6359
Misses 21 21 ☔ View full report in Codecov by Sentry. |
…ackends" This reverts commit 831e5a0.
Kudos, SonarCloud Quality Gate passed! |
When #762 is merged, the upload/download functionality could be utilized for the models compatibility check. By downloading models (maybe from GitHub Actions cache?) to check this first step could be omitted:
|
The recently added GH Actions workflow for rebuilding Docker images (#715) could also verify that the models trained on the previous image build work (results-wise) identically in the new image. It is quite undesirable that the models would work even slightly differently in different Docker image builds of the same Annif version.
These are the steps in the workflow that aim to verify the compatibility and results identicality of models:
eval.prev.out
file using old imageeval.out
file using new imageeval.prev.out
andeval.out
withdiff
, and fail the workflow in the case of difference, unless the box for allowing this is checked when triggering the workflowFor both training and evaluation the
tests/corpora/archaeology/fulltext/
corpus is used, which is fine for all algorithms I think. Although there could be some dedicated corpora for this.Also, there could be a similar workflow for checking models compatibility when preparing an Annif release, instead of doing compatibility checks manually, so the compatibility-check steps could be moved to a separate action for reusability, like the prepare action of CI/CD workflow.
Note: I've been working on this in my own fork, to avoid accidental image pushes to quay.io.
TODO before merge:
quay.io/natlibfi/annif
fromjinkinen/annif