-
Notifications
You must be signed in to change notification settings - Fork 8
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
Improve time of verification checks in CI #332
Comments
The currently used caching seems to work only partially. Here is a small excerpt of the proof results analyzed by SPAT. Lines with "0.0 s/0.0 s/0.0 s" indicate parts which were not verified again.
|
The reason for the partial caching is that GitHub´s cache action does not update the cache on a cache hit. It seems to be intended for caching dependencies only. As workaround we could use a custom cache action which adds this feature: https://github.com/Componolit/github-action-cache. |
With the custom cache action we are at 18 min for a successful verification if no changes have been made before. I think that is good enough for the moment. We can look into replacing the current verification tests by a smaller set in #208, where we intend to test features in a more structured way. |
This issue is still not resolved. Often the verification test checks need more than one hour even if there were no changes on the SPARK code. |
Checking in shape files ( Disabling |
Add shape files and update proof session files. Ref. #332
Add shape files and update proof session files. Ref. #332
Add shape files and update proof session files. Ref. #332
Add shape files and update proof session files. Ref. #332
Add shape files and update proof session files. Ref. #332
Caching the proof results by adding session files and shape files works well with GNAT Community 2021. All verification tests are executed in less than 25 min in our GitHub workflows. |
Even with the introduced caching (#122) the verification checks take too much time. All of the last successful CI runs took more then one hour. (Does the caching even work at the moment?)
Currently we run the verification on a set of real-world protocol messages and some artificial test cases. An better approach could be to replace the current tests by a smaller subset which ideally still covers most of all potential cases. I think one (or a small number of) artificial message(s) could be enough to get a good coverage and reduce the needed verification time significantly. All currently used test cases could be still run in the nightly tests.
The text was updated successfully, but these errors were encountered: