stages: - checks - prepare - publish variables: IMAGE: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA} lint: stage: checks tags: - aave-build-runner before_script: - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml build script: - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml run contracts-env npm run prettier:check after_script: - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml run contracts-env npm run ci:clean - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml down test: stage: checks tags: - aave-build-runner before_script: - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml build script: - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml run contracts-env npm run ci:test after_script: - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml run contracts-env npm run ci:clean - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml down only: - master - merge_requests deploy-mainnet-fork: tags: - aave-build-runner stage: checks before_script: - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml build script: - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml run contracts-env npm run aave:fork:main after_script: - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml run contracts-env npm run ci:clean - docker-compose -p ${CI_JOB_ID} -f docker-compose.test.yml down only: - master - merge_requests certora-test: stage: checks image: python:latest before_script: - apt-get update || apt-get update - apt-get install -y software-properties-common - pip3 install certora-cli - wget https://github.com/ethereum/solidity/releases/download/v0.6.12/solc-static-linux - chmod +x solc-static-linux - mv solc-static-linux /usr/bin/solc - export PATH=$PATH:/usr/bin/solc/solc-static-linux script: - certoraRun specs/harness/StableDebtTokenHarness.sol:StableDebtTokenHarness --solc_args "['--optimize']" --verify StableDebtTokenHarness:specs/StableDebtToken.spec --settings -assumeUnwindCond,-b=4 --cache StableDebtToken --cloud - certoraRun specs/harness/UserConfigurationHarness.sol --verify UserConfigurationHarness:specs/UserConfiguration.spec --solc_args "['--optimize']" --settings -useBitVectorTheory --cache UserConfiguration --cloud - certoraRun contracts/protocol/tokenization/VariableDebtToken.sol:VariableDebtToken specs/harness/LendingPoolHarnessForVariableDebtToken.sol --solc_args "['--optimize']" --link VariableDebtToken:POOL=LendingPoolHarnessForVariableDebtToken --verify VariableDebtToken:specs/VariableDebtToken.spec --settings -assumeUnwindCond,-useNonLinearArithmetic,-b=4 --cache VariableDebtToken --cloud only: - master - merge_requests prepare: stage: prepare tags: - docker-builder script: - docker build -t ${IMAGE} . - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY - docker push ${IMAGE} only: - master publish: image: ${IMAGE} tags: - docker stage: publish script: - npm ci - echo //registry.npmjs.org/:_authToken=${NPM_V2_PACKAGES_TOKEN} > .npmrc - npm run compile - ${VERSION} - npm publish --access public only: - master