Skip to content

Update foundry-forge-tests.yaml #320

Update foundry-forge-tests.yaml

Update foundry-forge-tests.yaml #320

name: Foundry Tests
on:
workflow_dispatch:
push:
branches: [main, develop]
paths:
- "**.sol"
- ".github/workflows/foundry-forge-tests.yaml"
pull_request:
types: [opened, reopened, synchronize, ready_for_review]
env:
FOUNDRY_PROFILE: ci
RPC_MAINNET: ${{ secrets.RPC_MAINNET }}
MULTISIG_SAFE: ${{ secrets.MULTISIG_SAFE }}
ETHERSCAN_API_KEY: ${{ secrets.ETHERSCAN_API_KEY }}
ETH_MAINNET_RPC_URL: ${{ secrets.ETH_MAINNET_RPC_URL }}
POLYGON_MAINNET_RPC_URL: ${{ secrets.POLYGON_MAINNET_RPC_URL }}
ARBITRUM_MAINNET_RPC_URL: ${{ secrets.ARBITRUM_MAINNET_RPC_URL }}
BSC_MAINNET_RPC_URL: ${{ secrets.BSC_MAINNET_RPC_URL }}
OPTIMISM_RPC_URL: ${{ secrets.OPTIMISM_RPC_URL }}
AVALANCHE_RPC_URL: ${{ secrets.AVALANCHE_RPC_URL }}
jobs:
tests:
name: Forge Tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: Run Forge build
run: |
forge --version
forge build
id: build
- name: Run Forge tests
run: |
forge test --deny-warnings -vvv
id: test
- name: Create code coverage status for the current commit
run: |
forge coverage --report lcov
curl "https://{GIT_USER}:${GIT_TOKEN}@api.github.com/repos/${ORG_NAME}/${PROJECT_NAME}/statuses/${COMMIT_SHA}" -d "{\"state\": \"pending\",\"target_url\": \"https://github.com/${ORG_NAME}/${PROJECT_NAME}/pull/${PULL_NUMBER}/checks?check_run_id=${RUN_ID}\",\"description\": \"in progress — This check has started... \",\"context\": \"code cov\"}"
env:
GIT_TOKEN: ${{ secrets.GIT_TOKEN }}
GIT_USER: ${{ secrets.GIT_USER }}
ORG_NAME: ${{ secrets.ORG_NAME }}
PROJECT_NAME: ${{ secrets.PROJECT_NAME }}
COMMIT_SHA: ${{ github.event.pull_request.head.sha }}
RUN_ID: ${{ github.run_id }}
PULL_NUMBER: ${{ github.event.pull_request.number }}