2021-11-24 22:03:14 +01:00
|
|
|
stages:
|
|
|
|
- test
|
2022-02-11 13:50:54 +01:00
|
|
|
- run-coverage
|
2021-11-24 22:03:14 +01:00
|
|
|
- slither-analyzer
|
|
|
|
|
2022-02-11 13:50:54 +01:00
|
|
|
|
2022-01-25 16:36:22 +01:00
|
|
|
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
|
|
|
|
|
2021-11-24 22:03:14 +01:00
|
|
|
test:
|
2022-01-25 16:36:22 +01:00
|
|
|
image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-python:latest
|
2021-11-24 22:03:14 +01:00
|
|
|
script:
|
2022-01-25 16:36:22 +01:00
|
|
|
# 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
|
2021-11-24 22:03:14 +01:00
|
|
|
|
2022-02-11 13:50:54 +01:00
|
|
|
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:
|
2022-01-25 16:36:22 +01:00
|
|
|
image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-python:latest
|
|
|
|
allow_failure: true
|
2021-11-24 22:03:14 +01:00
|
|
|
script:
|
2022-02-11 13:50:54 +01:00
|
|
|
- cd solidity
|
|
|
|
- slither GiftableToken.sol
|
|
|
|
- slither GiftableToken.sol --print human-summary
|
|
|
|
|
|
|
|
|