From 2565c393bf3e14552ab843c491913665e97b48b3 Mon Sep 17 00:00:00 2001 From: Blair V Date: Mon, 22 Nov 2021 15:30:03 -0800 Subject: [PATCH] feat: add slither and unit test run --- .gitignore | 1 + .gitlab-ci.yml | 26 ++++++++++++++++++++++++++ Dockerfile | 7 ++++++- 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 .gitlab-ci.yml diff --git a/.gitignore b/.gitignore index 7d32112..28fbdb6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ dist/ build/ gmon.out *.egg-info +.venv/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..e02d361 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,26 @@ +stages: + - test + - slither-analyzer + +test: + image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-py-alpine:latest + cache: + - key: + files: + - requirements.txt + - test_requirements.txt + paths: + - /root/.cache/pip + script: + - cd python + - pip install --extra-index-url https://pip.grassrootseconomics.net:8433 -r test_requirements.txt + - pip install --extra-index-url https://pip.grassrootseconomics.net:8433 -r test_requirements.txt + - bash run_tests.sh + + +slither-analize: + image: registry.gitlab.com/grassrootseconomics/cic-base-images/ci-solc-py-alpine:latest + script: + - pip install slither-analyzer + - slither solidity/ + diff --git a/Dockerfile b/Dockerfile index 5de2c39..d27678e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,8 @@ FROM python:3.8.6-alpine COPY --from=0 /usr/bin/solc /usr/bin/solc RUN apk update &&\ - apk add gcc bash musl-dev + apk add gcc bash musl-dev libffi-dev openssl-dev autoconf automake build-base \ + libtool pkgconfig python3-dev cargo WORKDIR /usr/src @@ -14,6 +15,8 @@ WORKDIR /usr/src COPY ./solidity/ /usr/src/giftable_erc20_token/solidity/ COPY ./python/ /usr/src/giftable_erc20_token/python/ +RUN chmod +x ./python/run_tests.sh + RUN cd giftable_erc20_token/solidity && \ solc GiftableToken.sol --abi | awk 'NR>3' > GiftableToken.abi.json @@ -24,5 +27,7 @@ RUN cd giftable_erc20_token/solidity && \ RUN cd giftable_erc20_token/python && \ pip install --extra-index-url https://pip.grassrootseconomics.net:8433 . +RUN pip install slither-analyzer + # To deploy: # giftable-token-deploy --contracts-dir giftable_erc20_token/solidity/