-
Notifications
You must be signed in to change notification settings - Fork 48
77 lines (69 loc) · 2.42 KB
/
ci-deep.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
name: "CI Deep"
env:
API_KEY_INFURA: ${{ secrets.API_KEY_INFURA }}
RPC_URL_MAINNET: ${{ secrets.RPC_URL_MAINNET }}
on:
schedule:
- cron: "0 3 * * 0" # at 3:00am UTC every Sunday
workflow_dispatch:
inputs:
unitFuzzRuns:
default: "50000"
description: "Unit: number of fuzz runs."
required: false
integrationFuzzRuns:
default: "50000"
description: "Integration: number of fuzz runs."
required: false
invariantRuns:
default: "100"
description: "Invariant runs: number of sequences of function calls generated and run."
required: false
invariantDepth:
default: "100"
description: "Invariant depth: number of function calls made in a given run."
required: false
forkFuzzRuns:
default: "1000"
description: "Fork: number of fuzz runs."
required: false
jobs:
lint:
uses: "sablier-labs/reusable-workflows/.github/workflows/forge-lint.yml@main"
build:
uses: "sablier-labs/reusable-workflows/.github/workflows/forge-build.yml@main"
test-unit:
needs: ["lint", "build"]
uses: "sablier-labs/reusable-workflows/.github/workflows/forge-test.yml@main"
with:
foundry-fuzz-runs: ${{ inputs.unitFuzzRuns || 50000 }}
foundry-profile: "test-optimized"
match-path: "test/unit/**/*.sol"
name: "Unit tests"
test-integration:
needs: ["lint", "build"]
uses: "sablier-labs/reusable-workflows/.github/workflows/forge-test.yml@main"
with:
foundry-fuzz-runs: ${{ inputs.integrationFuzzRuns || 50000 }}
foundry-profile: "test-optimized"
match-path: "test/integration/**/*.sol"
name: "Integration tests"
test-invariant:
needs: ["lint", "build"]
uses: "sablier-labs/reusable-workflows/.github/workflows/forge-test.yml@main"
with:
foundry-invariant-depth: ${{ inputs.invariantDepth || 100 }}
foundry-invariant-runs: ${{ inputs.invariantRuns || 100 }}
foundry-profile: "test-optimized"
match-path: "test/invariant/**/*.sol"
name: "Invariant tests"
test-fork:
needs: ["lint", "build"]
secrets:
RPC_URL_MAINNET: ${{ secrets.RPC_URL_MAINNET }}
uses: "sablier-labs/reusable-workflows/.github/workflows/forge-test.yml@main"
with:
foundry-fuzz-runs: ${{ inputs.forkFuzzRuns || 1000 }}
foundry-profile: "test-optimized"
match-path: "test/fork/**/*.sol"
name: "Fork tests"