continuous integration - nortikin/sverchok GitHub Wiki
We use Github actions to trigger a set of tests of the sverchok code base after a commit to any Sverchok branch. The actions are described in https://github.com/nortikin/sverchok/blob/master/.github/workflows/test-sverchok.yml and involve
test-sverchok.yml
- getting a harddrive in the cloud
- (re)storing an image of a drive that has
- Blender
- Sverchok
any branch
- Python and libraries
- running tests found in
./run_tests.sh
in the Sverchok main directory. - two things can happen:
- ✔️if these tests run smoothly generally this means that the test suite has been able to cover all parts of sverchok where we have tests.
- this does not mean that there are no bugs.
- in some cases the test suite itself ends early due to a previously unencountered bug. Therefore it is a good idea to frequently look at the output of the tests to see if indeed all tests have completed. A green tick is not a guarantee for a bugfree sverchok.
- ❌if the tests fail, one ore more tests didn't complete as expected and we'll look into it.
- ✔️if these tests run smoothly generally this means that the test suite has been able to cover all parts of sverchok where we have tests.
- if this was the first run, the image of the drive is stored (cached, section '2') and can be reused after the next commit to Master.
run_tests.sh
(or the equivalent windows command run_tests_win.bat
)
roughly looks like this
$BLENDER -b --addons sverchok --python utils/testing.py
- start blender in background mode
- enable sverchok
- execute
sverchok/utils/testing.py
testing.py
This is where we define all tests:
- testing if each node has documentation, and displaying the list of nodes that do not have manual entires.
- geometry functions
- socket caching
- utility functions (list matching, repeating, spreading..)
- import, export, loading .blends
- etc,.