Merge pull request #299 from hyperledger-labs/improve-code-docs #1192
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
env: | |
MINIMAL_SOLC_VERSION: 0.8.20 | |
jobs: | |
contract-test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Show forge version | |
run: forge --version | |
- name: Resolve dependencies | |
run: npm install | |
- name: Build and Check sizes | |
run: make build | |
- name: Run tests | |
run: make test | |
- name: Run upgradeable tests | |
run: make TEST_UPGRADEABLE=true clean test | |
- name: Run coverage | |
run: make coverage | |
- name: Linting | |
run: make lint | |
- name: Build and Check sizes with minimal solidity version | |
run: make SOLC_VERSION=${{ env.MINIMAL_SOLC_VERSION }} build | |
- name: Run tests with minimal solidity version | |
run: make SOLC_VERSION=${{ env.MINIMAL_SOLC_VERSION }} test | |
- name: Build via IR-pipeline | |
run: make FOUNDRY_PROFILE=ir build | |
- name: Run snapshot tests via IR-pipeline | |
run: make FOUNDRY_PROFILE=ir snapshot | |
slither: | |
name: Slither analysis | |
needs: contract-test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: crytic/[email protected] | |
with: | |
node-version: 20.13 | |
slither-version: 0.10.1 | |
e2e-test: | |
name: E2E test | |
needs: contract-test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/setup-go@v5 | |
with: | |
go-version-file: go.mod | |
cache: true | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '20' | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: nightly | |
- name: Resolve dependencies | |
run: npm install | |
- name: Setup chains for E2E test (IBFT2) | |
run: make network-ibft2 | |
- name: E2E test (IBFT2) | |
run: make e2e-test network-down | |
- name: Setup chains for E2E test (QBFT) | |
run: make network-qbft | |
- name: E2E test (QBFT) | |
run: make e2e-test network-down | |
- name: E2E test with upgredable IBCHandler (QBFT) | |
run: make TEST_UPGRADEABLE=true clean network-qbft e2e-test network-down |