Skip to content

feat: deploy to tron, bsc, arbitrum, tea #102

feat: deploy to tron, bsc, arbitrum, tea

feat: deploy to tron, bsc, arbitrum, tea #102

Workflow file for this run

name: test
on:
pull_request:
workflow_dispatch:
env:
FOUNDRY_PROFILE: ci
jobs:
check:
strategy:
fail-fast: true
name: Foundry test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-node@v4
with:
node-version: 24
- id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v4
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
yarn-
- name: Install dependencies
run: yarn install --frozen-lockfile
# Runs a single command using the runners shell
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Install deps
run: forge install
- name: Run Forge tests
run: |
forge test -vvv
id: test
env:
OPTIMISM_RPC_URL: ${{ secrets.OPTIMISM_RPC_URL }}
BOB_RPC_URL: ${{ secrets.BOB_RPC_URL }}
MODE_RPC_URL: ${{ secrets.MODE_RPC_URL }}
PRIVATE_KEY_DEPLOY: ${{ secrets.PRIVATE_KEY_DEPLOY }}
- name: Run tests with coverage
run: |
forge coverage \
--report lcov \
--report summary \
--no-match-coverage "(test|mock|node_modules|script)"
- name: Upload coverage reports to Codecov with GitHub Action
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
static-analysis:
name: Slither
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/setup-node@v4
with:
node-version: 24
- id: yarn-cache
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v4
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
yarn-
- name: Install dependencies
run: yarn install --frozen-lockfile
# Runs a single command using the runners shell
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Install deps
run: forge install
- name: forge build
run: forge build --build-info
- name: Static analysis
uses: crytic/slither-action@v0.4.0
id: slither
with:
slither-config: 'slither.config.json'
sarif: results.sarif
fail-on: none
ignore-compile: true
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ${{ steps.slither.outputs.sarif }}
category: "slither"