Skip to content

Adding automata verifier to Celestia Contracts branch #116

Adding automata verifier to Celestia Contracts branch

Adding automata verifier to Celestia Contracts branch #116

Workflow file for this run

name: CI
on:
workflow_dispatch:
pull_request:
merge_group:
push:
branches:
- master
- develop
jobs:
test-unit:
name: Test unit
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Prepare Environment Variables
run: |
cp .env.sample.goerli .env
export $(grep -v '^#' .env | xargs) # Load variables
for var in $(grep -v '^#' .env | cut -d= -f1); do
echo "$var=${!var}" >> $GITHUB_ENV
done
- name: Setup node/yarn
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- name: Install packages
run: yarn
- name: Build
run: forge test
tests:
name: Contract tests
runs-on: ubuntu-8
defaults:
run:
shell: bash
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Prepare Environment Variables
run: |
cp .env.sample.goerli .env
export $(grep -v '^#' .env | xargs) # Load variables
for var in $(grep -v '^#' .env | cut -d= -f1); do
echo "$var=${!var}" >> $GITHUB_ENV
done
- name: Run unused Solidity errors checker
uses: OffchainLabs/actions/check-unused-errors@main
with:
directory: './src'
exceptions_file: './test/unused-errors/exceptions.txt'
- name: Setup nodejs
uses: actions/setup-node@v2
with:
node-version: '18'
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Install dependencies
run: yarn install
- name: Lint Contracts
run: yarn solhint
- name: Lint Test Scripts
run: yarn lint:test
- name: Build
run: yarn build:all
- name: Run tests
run: yarn hardhat --network hardhat test test/contract/*.spec.ts
- name: Interface compatibility
run: yarn run test:compatibility
- name: Forge build
run: forge build
- name: Test size
run: yarn contract:size
- name: Test Storage Layouts
run: yarn run test:storage
- name: Test function signatures
run: yarn run test:signatures
- name: Run coverage
run: yarn hardhat coverage --testfiles "test/contract/*.spec.ts"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
fail_ci_if_error: false
files: ./contracts/coverage.json
verbose: false
token: ${{ secrets.CODECOV_TOKEN }}
test-4844:
name: 4844 tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Prepare Environment Variables
run: |
cp .env.sample.goerli .env
export $(grep -v '^#' .env | xargs) # Load variables
for var in $(grep -v '^#' .env | cut -d= -f1); do
echo "$var=${!var}" >> $GITHUB_ENV
done
- uses: OffchainLabs/actions/run-nitro-test-node@test-node-args
with:
nitro-testnode-ref: deneb-integration
args: --pos
no-token-bridge: true
- name: Setup nodejs
uses: actions/setup-node@v2
with:
node-version: 18
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- name: Install dependencies
run: yarn install
- name: Build
run: yarn build:all
- name: Test 4844
run: yarn test:4844
test-e2e:
name: Test e2e
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: EspressoSystems/offchainlabs-actions/run-nitro-test-node@specify-checkout-repo
with:
l3-node: true
args: --espresso --latest-espresso-image
no-token-bridge: true
no-l3-token-bridge: true
nitro-contracts-branch: '${{ github.event.pull_request.head.sha || github.sha }}'
nitro-testnode-ref: integration
nitro-testnode-repo: EspressoSystems/nitro-testnode
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Setup node/yarn
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- name: Prepare Environment Variables
run: |
cp .env.sample.goerli .env
export $(grep -v '^#' .env | xargs) # Load variables
for var in $(grep -v '^#' .env | cut -d= -f1); do
echo "$var=${!var}" >> $GITHUB_ENV
done
- name: Install packages
run: yarn
- name: Compile contracts
run: yarn build
- name: Run e2e tests
run: yarn test:e2e
test-e2e-custom-fee-token:
name: Test e2e custom fee token
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: EspressoSystems/offchainlabs-actions/run-nitro-test-node@specify-checkout-repo
with:
l3-node: true
args: --l3-fee-token --espresso --latest-espresso-image
no-token-bridge: true
no-l3-token-bridge: true
nitro-contracts-branch: '${{ github.event.pull_request.head.sha || github.sha }}'
nitro-testnode-ref: integration
nitro-testnode-repo: EspressoSystems/nitro-testnode
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Setup node/yarn
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- name: Prepare Environment Variables
run: |
cp .env.sample.goerli .env
export $(grep -v '^#' .env | xargs) # Load variables
for var in $(grep -v '^#' .env | cut -d= -f1); do
echo "$var=${!var}" >> $GITHUB_ENV
done
- name: Install packages
run: yarn
- name: Compile contracts
run: yarn build
- name: Run e2e tests
run: yarn test:e2e
test-e2e-fee-token-6-decimals:
name: Test e2e fee token with 6 decimals
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: EspressoSystems/offchainlabs-actions/run-nitro-test-node@specify-checkout-repo
with:
l3-node: true
args: --espresso --latest-espresso-image --l3-fee-token --l3-fee-token-decimals 6
no-token-bridge: true
no-l3-token-bridge: true
nitro-contracts-branch: '${{ github.event.pull_request.head.sha || github.sha }}'
nitro-testnode-ref: 'integration'
nitro-testnode-repo: EspressoSystems/nitro-testnode
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Setup node/yarn
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'yarn'
cache-dependency-path: '**/yarn.lock'
- name: Prepare Environment Variables
run: |
cp .env.sample.goerli .env
export $(grep -v '^#' .env | xargs) # Load variables
for var in $(grep -v '^#' .env | cut -d= -f1); do
echo "$var=${!var}" >> $GITHUB_ENV
done
- name: Install packages
run: yarn
- name: Compile contracts
run: yarn build
- name: Run e2e tests
run: yarn test:e2e