Test CLI startup time with CI/CD job #706
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a GitHub Actions job with a shell script for measuring the CLI startup time to prevent its unnoticed deterioration.
The startup time was optimized in #696, and now it is good make sure the startup remains fast. For example, I noticed that adding type hints (planned in #690) can slow the startup, but this can be avoided by postponing the evaluation of annotations.
The timing script executes
annif --help
four times and measures user + sys time. If the average of the user + sys time is over a threshold, the job fails. The threshold is set to 0.300 s.In the five previous runs the measured time was 0.245 s, 0.240 s, 0.252 s, 0.242 s and 0.245 s, but in some earlier runs the measured time was over 0.300 s. So failures can be expected, however I think it does not matter if they are reasonably rare (say ~10% of runs).
Failure of this job does not make the other jobs fail, so unit testing, linting and publishing are run in any case.