Test CLI startup time with CI/CD job#706
Merged
Merged
Conversation
|
Kudos, SonarCloud Quality Gate passed! |
Codecov ReportPatch and project coverage have no change.
Additional details and impacted files@@ Coverage Diff @@
## main #706 +/- ##
=======================================
Coverage 99.66% 99.66%
=======================================
Files 89 89
Lines 6295 6295
=======================================
Hits 6274 6274
Misses 21 21 ☔ View full report in Codecov by Sentry. |
osma
approved these changes
May 22, 2023
osma
left a comment
Member
There was a problem hiding this comment.
LGTM, very nice guard against slow imports creeping in!
I gave a minor suggestion as a comment.
| average_startup_time=$(echo "scale=3; ($startup_time1 + $startup_time2 + $startup_time3 + $startup_time4) / 4" | bc) | ||
|
|
||
| # Print the average startup time | ||
| echo "Average Startup time: $average_startup_time seconds" |
Member
There was a problem hiding this comment.
Maybe print the threshold here as well?
Member
Author
There was a problem hiding this comment.
I think it is enough to print the threshold only if it is exceeded, so I'll let this be as is.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 --helpfour 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.