Skip to content

Cleanup scripts + additional fixes from gateway release candidate 2 #4660

Cleanup scripts + additional fixes from gateway release candidate 2

Cleanup scripts + additional fixes from gateway release candidate 2 #4660

name: System contracts CI
on:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install foundry-zksync
run: |
mkdir ./foundry-zksync
curl -LO https://github.com/matter-labs/foundry-zksync/releases/download/nightly-27360d4c8d12beddbb730dae07ad33a206b38f4b/foundry_nightly_linux_amd64.tar.gz
tar zxf foundry_nightly_linux_amd64.tar.gz -C ./foundry-zksync
chmod +x ./foundry-zksync/forge ./foundry-zksync/cast
echo "$PWD/foundry-zksync" >> $GITHUB_PATH
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.18.0
cache: yarn
- name: Build artifacts
working-directory: system-contracts
run: |
yarn install
yarn build:foundry
yarn build
- name: Create cache
uses: actions/cache/save@v3
with:
key: artifacts-system-${{ github.sha }}
path: |
system-contracts/zkout
system-contracts/cache-forge
system-contracts/bootloader/build
system-contracts/artifacts-zk
system-contracts/cache-zk
system-contracts/typechain
system-contracts/contracts-preprocessed
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.18.0
cache: yarn
- name: Install dependencies
run: yarn
- name: Run lint
run: yarn lint:check
# FIXME: recover when used multivm is updated
# test-bootloader:
# needs: [build, lint]
# runs-on: ubuntu-latest
# steps:
# - name: Checkout the repository
# uses: actions/checkout@v4
# - name: Install rust
# uses: actions-rust-lang/setup-rust-toolchain@v1
# with:
# toolchain: nightly-2023-04-17
# - name: Restore artifacts cache
# uses: actions/cache/restore@v3
# with:
# fail-on-cache-miss: true
# key: artifacts-system-${{ github.sha }}
# path: |
# system-contracts/zkout
# system-contracts/cache-forge
# system-contracts/bootloader/build
# system-contracts/artifacts-zk
# system-contracts/cache-zk
# system-contracts/typechain
# system-contracts/contracts-preprocessed
# - name: Run bootloader tests
# run: |
# cd system-contracts/bootloader/test_infra
# cargo run
test-contracts:
needs: [build, lint]
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: 18.18.0
cache: yarn
- name: Use era-test-node for testing
uses: dutterbutter/[email protected]
with:
releaseTag: v0.0.1-vm1.5.0
- name: Install dependencies
run: yarn
- name: Restore artifacts cache
uses: actions/cache/restore@v3
with:
fail-on-cache-miss: true
key: artifacts-system-${{ github.sha }}
path: |
system-contracts/zkout
system-contracts/cache-forge
system-contracts/bootloader/build
system-contracts/artifacts-zk
system-contracts/cache-zk
system-contracts/typechain
system-contracts/contracts-preprocessed
- name: Run tests
run: yarn sc test
- name: Print output logs of era_test_node
if: always()
run: cat era_test_node.log
# FIXME: restore check hashes as it does not
# work in the base branch as well
# check-hashes:
# needs: [build]
# runs-on: ubuntu-latest
# steps:
# - name: Checkout the repository
# uses: actions/checkout@v4
# - name: Use Node.js
# uses: actions/setup-node@v3
# with:
# node-version: 18.18.0
# cache: yarn
# - name: Install dependencies
# run: yarn
# - name: Restore artifacts cache
# uses: actions/cache/restore@v3
# with:
# fail-on-cache-miss: true
# key: artifacts-system-${{ github.sha }}
# path: |
# system-contracts/artifacts-zk
# system-contracts/cache-zk
# system-contracts/typechain
# system-contracts/contracts-preprocessed
# system-contracts/bootloader/build
# - name: Check hashes
# run: yarn sc calculate-hashes:check