-
Notifications
You must be signed in to change notification settings - Fork 0
50 lines (40 loc) · 1.39 KB
/
Copy pathtest.yml
File metadata and controls
50 lines (40 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
name: CI
permissions: {}
on:
push:
pull_request:
workflow_dispatch:
env:
FOUNDRY_PROFILE: ci
jobs:
check:
name: Foundry project
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Show Forge version
run: forge --version
- name: Run Forge fmt
run: forge fmt --check
- name: Run Forge build
run: forge build --sizes
# Deterministic, RPC-free layers: unit, adversarial, fuzz, invariant, and
# the non-fork integration lifecycle. These must always pass.
- name: Run Forge tests (local)
run: forge test -vvv --no-match-path 'test/integration/*.fork.t.sol'
# Fork layer (Aave / Morpho / Compound / Pendle on Arbitrum). Each test
# self-skips when ARBITRUM_RPC_URL is unset, so this step stays green on
# forks/PRs without the secret and exercises the real protocols when it is
# provided. Set the ARBITRUM_RPC_URL repository secret to enable.
- name: Run Forge fork tests
env:
ARBITRUM_RPC_URL: ${{ secrets.ARBITRUM_RPC_URL }}
ARBITRUM_FORK_BLOCK: ${{ vars.ARBITRUM_FORK_BLOCK }}
run: forge test -vvv --match-path 'test/integration/*.fork.t.sol'