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

Add coverage and slither analysis

See merge request cicnet/eth-accounts-index!3
This commit is contained in:
Blair Vanderlugt 2022-02-20 19:47:16 +00:00
commit 4f4d7c0650
4 changed files with 70 additions and 0 deletions

6
.gitignore vendored
View File

@ -1,2 +1,8 @@
__pycache__ __pycache__
*.pyc *.pyc
dist/
build/
gmon.out
*.egg-info
venv
.idea

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 AccountsIndex.sol
- slither AccountsIndex.sol --print human-summary

BIN
python/.coverage Normal file

Binary file not shown.

6
python/.coveragerc Normal file
View File

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