-
Notifications
You must be signed in to change notification settings - Fork 38
129 lines (100 loc) · 3.09 KB
/
test.yml
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: test
on: [pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Runs linter, tests, and inspection checker in parallel
jobs:
lint:
name: Run Linters
runs-on: ubuntu-latest
steps:
- name: "Check out the repo"
uses: "actions/checkout@v3"
with:
submodules: "recursive"
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: "Install Pnpm"
uses: "pnpm/action-setup@v2"
with:
version: "8"
- name: "Install Node.js"
uses: "actions/setup-node@v3"
with:
cache: "pnpm"
node-version: "lts/*"
- name: "Install Node.js dependencies"
run: "pnpm install"
- run: forge fmt --check
- name: "Lint the contracts"
run: "pnpm lint"
# check-inspect:
# name: Verify Inspections
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: Install Foundry
# uses: foundry-rs/foundry-toolchain@v1
# with:
# version: nightly
# - run: forge install
# - run: bash ./utils/inspect.sh
# - run: git status --untracked-files=no --porcelain
# - run: git --no-pager diff
# - name: Check Inspections
# run: if [[ -n "$(git status --untracked-files=no --porcelain)" ]]; then echo "Inspection difference detected, verify tests are passing and run \`bash ./utils/inspect.sh\` to fix." && exit 1; fi
test:
name: Run Forge Tests
runs-on: ubuntu-latest
steps:
- name: "Check out the repo"
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Install forge dependencies
run: forge install
- name: "Install Pnpm"
uses: "pnpm/action-setup@v2"
with:
version: "8"
# - name: "Install Node.js"
# uses: "actions/setup-node@v3"
# with:
# cache: "pnpm"
# node-version: "lts/*"
- name: "Install Node.js dependencies"
run: "pnpm install"
- name: Build project
run: forge build --sizes
- name: Run tests
run: FOUNDRY_PROFILE=deep forge test -vvv
test-lite:
name: Run Forge Tests [lite build]
runs-on: ubuntu-latest
steps:
- name: "Check out the repo"
uses: actions/checkout@v3
with:
submodules: recursive
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
- name: Install forge dependencies
run: forge install
- name: "Install Pnpm"
uses: "pnpm/action-setup@v2"
with:
version: "8"
# - name: "Install Node.js"
# uses: "actions/setup-node@v3"
# with:
# cache: "pnpm"
# node-version: "lts/*"
- name: "Install Node.js dependencies"
run: "pnpm install"
- name: Build project
run: FOUNDRY_PROFILE=lite forge build
- name: Run tests
run: FOUNDRY_PROFILE=lite forge test -vvv