|
|
|
version: 2.1
|
|
|
|
|
|
|
|
orbs:
|
|
|
|
win: circleci/windows@2.2.0
|
|
|
|
|
|
|
|
# Necessary for running in machine mode,
|
|
|
|
# which is necessary to execute the E2E scripts
|
|
|
|
step_install_nvm: &step_install_nvm
|
|
|
|
run:
|
|
|
|
name: "Install nvm for machine"
|
|
|
|
command: |
|
|
|
|
set +e
|
|
|
|
export NVM_DIR="/opt/circleci/.nvm"
|
|
|
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
|
|
|
nvm install v18
|
|
|
|
echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV
|
|
|
|
echo "[ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"" >> $BASH_ENV
|
|
|
|
jobs:
|
|
|
|
unit-test:
|
|
|
|
docker:
|
|
|
|
- image: cimg/node:20.11.0
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- run:
|
|
|
|
name: Delete any old node_modules
|
|
|
|
command: |
|
|
|
|
rm -rf node_modules/
|
|
|
|
- run:
|
|
|
|
name: Install dependencies
|
|
|
|
command: |
|
|
|
|
yarn
|
|
|
|
- run:
|
|
|
|
name: Tests ( optimizer.enabled=false )
|
|
|
|
command: |
|
|
|
|
npm run test:ci
|
|
|
|
- run:
|
|
|
|
name: Tests ( viaIR=true )
|
|
|
|
command: |
|
|
|
|
npm run test:ci:viaIR
|
|
|
|
- run:
|
|
|
|
name: Upload coverage
|
|
|
|
command: |
|
|
|
|
bash <(curl -s https://codecov.io/bash)
|
|
|
|
e2e-zeppelin:
|
|
|
|
machine: true
|
|
|
|
environment:
|
|
|
|
NODE_OPTIONS: --max_old_space_size=8192
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- <<: *step_install_nvm
|
|
|
|
- run:
|
|
|
|
name: Zeppelin E2E
|
|
|
|
command: |
|
|
|
|
./scripts/zeppelin.sh
|
|
|
|
e2e-nomiclabs:
|
|
|
|
machine: true
|
|
|
|
steps:
|
|
|
|
- checkout
|
|
|
|
- <<: *step_install_nvm
|
|
|
|
- run:
|
|
|
|
name: Hardhat E2E
|
|
|
|
command: |
|
|
|
|
./scripts/nomiclabs.sh
|
|
|
|
workflows:
|
|
|
|
version: 2
|
|
|
|
build:
|
|
|
|
jobs:
|
|
|
|
# - unit-test
|
|
|
|
- e2e-zeppelin
|
|
|
|
# - e2e-nomiclabs
|