Merge branch 'Ida/ci-test' into 'master'

Add coverage and slither analysis

See merge request cicnet/eth-address-index!2
This commit is contained in:
Blair Vanderlugt 2022-02-20 19:47:03 +00:00
commit 0d2ec53b69
4 changed files with 67 additions and 0 deletions

2
.gitignore vendored
View File

@ -4,3 +4,5 @@ dist/
__pycache__ __pycache__
*.pyc *.pyc
gmon.out gmon.out
.idea
venv

58
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,58 @@
stages:
- test
- run-coverage
- slither-analyzer
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
cache:
paths:
- .cache/pip
- .venv/
before_script:
- python -V # Print out python version for debugging
- pip install virtualenv
- virtualenv venv
- source venv/bin/activate
test:
image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-python:latest
script:
# install test dependencies
- cd python
- export PYTHONPATH=.
- pip install --extra-index-url https://pip.grassrootseconomics.net
--extra-index-url https://gitlab.com/api/v4/projects/27624814/packages/pypi/simple
-r requirements.txt -r test_requirements.txt
# run tests
- bash run_tests.sh
run-coverage:
stage: test
image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-python:latest
script:
- cd python
- export PYTHONPATH=.
- pip install --extra-index-url https://pip.grassrootseconomics.net
--extra-index-url https://gitlab.com/api/v4/projects/27624814/packages/pypi/simple
-r requirements.txt -r test_requirements.txt
- pip install pytest pytest-cov
- coverage run -m pytest
- coverage html
- coverage report --fail-under=90
coverage: '/^TOTAL.+?(\d+\%)$/'
artifacts:
reports:
cobertura: python/htmlcov/index.html
slither-analyzer:
image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-python:latest
allow_failure: true
script:
- cd solidity
- slither AddressDeclarator.sol
- slither AddressDeclarator.sol --print human-summary

BIN
python/.coverage Normal file

Binary file not shown.

7
python/.coveragerc Normal file
View File

@ -0,0 +1,7 @@
[run]
branch = True
[report]
omit = .venv/*
**/runnable/*.py
[html]