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: # build abi - 'echo "Running Solc Version: $(solc --version)"' - cd solidity - solc --evm-version=byzantium GiftableToken.sol --abi | awk 'NR>3' > GiftableToken.abi.json # build bin - solc GiftableToken.sol --bin | awk 'NR>3' > GiftableToken.bin && truncate -s "$((`stat -t -c "%s" GiftableToken.bin`-1))" GiftableToken.bin # 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 GiftableToken.sol - slither GiftableToken.sol --print human-summary