Skip to content
This repository was archived by the owner on Apr 3, 2026. It is now read-only.

Commit 425b90e

Browse files
committed
ci: isolate for each repo
1 parent cb214ed commit 425b90e

7 files changed

Lines changed: 233 additions & 277 deletions

File tree

.github/workflows/ci-airdrops.yml

Lines changed: 47 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,62 +3,77 @@ run-name: "CI Airdrops :: ${{ github.event.head_commit.message || github.event.p
33

44
concurrency:
55
cancel-in-progress: true
6-
group: ${{ github.workflow }}-${{ github.ref }}
6+
group: ${{github.workflow}}-${{github.ref}}
77

88
on:
9+
workflow_dispatch:
10+
pull_request:
11+
paths:
12+
- ".github/workflows/ci-airdrops.yml"
13+
- "airdrops/**"
14+
- "foundry.base.toml"
15+
- "package.json"
916
push:
1017
branches:
1118
- "main"
1219
- "staging"
13-
paths: &on_paths
20+
paths:
1421
- ".github/workflows/ci-airdrops.yml"
15-
- ".github/workflows/shared-*.yml"
1622
- "airdrops/**"
17-
- "foundry.toml"
18-
- "justfile"
23+
- "foundry.base.toml"
1924
- "package.json"
20-
# pull_request:
21-
# paths: *on_paths
2225

2326
jobs:
27+
check:
28+
uses: "sablier-labs/gha-utils/.github/workflows/full-check.yml@main"
29+
with:
30+
foundry-version: "stable"
31+
2432
build:
25-
secrets: inherit
26-
uses: ./.github/workflows/shared-build.yml
33+
uses: "sablier-labs/gha-utils/.github/workflows/forge-build.yml@main"
2734
with:
28-
workspace: airdrops
35+
foundry-version: "stable"
2936

30-
test-unit:
31-
needs: build
37+
test-bulloak:
38+
needs: ["check", "build"]
3239
if: needs.build.outputs.cache-status != 'primary'
33-
secrets: inherit
34-
uses: ./.github/workflows/shared-test.yml
40+
uses: "sablier-labs/gha-utils/.github/workflows/bulloak-check.yml@main"
3541
with:
36-
workspace: airdrops
37-
test-type: unit
42+
skip-modifiers: true
43+
test-dir: "tests"
3844

3945
test-integration:
40-
needs: build
46+
needs: ["check", "build"]
4147
if: needs.build.outputs.cache-status != 'primary'
42-
secrets: inherit
43-
uses: ./.github/workflows/shared-test.yml
48+
uses: "sablier-labs/gha-utils/.github/workflows/forge-test.yml@main"
4449
with:
45-
workspace: airdrops
46-
test-type: integration
50+
foundry-fuzz-runs: 2000
51+
foundry-profile: "test-optimized"
52+
foundry-version: "stable"
53+
match-path: "airdrops/tests/integration/**/*.sol"
54+
name: "Integration tests"
4755

4856
test-fork:
49-
needs: build
57+
needs: ["check", "build"]
5058
if: needs.build.outputs.cache-status != 'primary'
51-
secrets: inherit
52-
uses: ./.github/workflows/shared-test.yml
59+
secrets:
60+
MAINNET_RPC_URL: ${{ secrets.MAINNET_RPC_URL }}
61+
ROUTEMESH_API_KEY: ${{ secrets.ROUTEMESH_API_KEY }}
62+
uses: "sablier-labs/gha-utils/.github/workflows/forge-test.yml@main"
5363
with:
54-
workspace: airdrops
55-
test-type: fork
64+
foundry-fuzz-runs: 20
65+
foundry-profile: "test-optimized"
66+
foundry-version: "stable"
67+
match-path: "airdrops/tests/fork/**/*.sol"
68+
name: "Fork tests"
5669

57-
test-coverage:
58-
needs: build
70+
coverage:
71+
needs: ["check", "build"]
5972
if: needs.build.outputs.cache-status != 'primary'
60-
secrets: inherit
61-
uses: ./.github/workflows/shared-test.yml
73+
secrets:
74+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
75+
uses: "sablier-labs/gha-utils/.github/workflows/forge-coverage.yml@main"
6276
with:
63-
workspace: airdrops
64-
test-type: coverage
77+
foundry-version: "stable"
78+
match-path: "airdrops/tests/integration/**/*.sol"
79+
via-ir-minimum: true

.github/workflows/ci-flow.yml

Lines changed: 56 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,62 +3,86 @@ run-name: "CI Flow :: ${{ github.event.head_commit.message || github.event.pull_
33

44
concurrency:
55
cancel-in-progress: true
6-
group: ${{ github.workflow }}-${{ github.ref }}
6+
group: ${{github.workflow}}-${{github.ref}}
77

88
on:
9+
workflow_dispatch:
10+
pull_request:
11+
paths:
12+
- ".github/workflows/ci-flow.yml"
13+
- "flow/**"
14+
- "foundry.base.toml"
15+
- "package.json"
916
push:
1017
branches:
1118
- "main"
1219
- "staging"
13-
paths: &on_paths
20+
paths:
1421
- ".github/workflows/ci-flow.yml"
15-
- ".github/workflows/shared-*.yml"
1622
- "flow/**"
17-
- "foundry.toml"
18-
- "justfile"
23+
- "foundry.base.toml"
1924
- "package.json"
20-
# pull_request:
21-
# paths: *on_paths
2225

2326
jobs:
24-
build:
25-
secrets: inherit
26-
uses: ./.github/workflows/shared-build.yml
27+
check:
28+
uses: "sablier-labs/gha-utils/.github/workflows/full-check.yml@main"
2729
with:
28-
workspace: flow
30+
foundry-version: "stable"
2931

32+
build:
33+
uses: "sablier-labs/gha-utils/.github/workflows/forge-build.yml@main"
34+
with:
35+
foundry-version: "stable"
36+
test-bulloak:
37+
needs: ["check", "build"]
38+
if: needs.build.outputs.cache-status != 'primary'
39+
uses: "sablier-labs/gha-utils/.github/workflows/bulloak-check.yml@main"
40+
with:
41+
skip-modifiers: true
42+
test-dir: "tests/integration"
3043
test-integration:
31-
needs: build
44+
needs: ["check", "build"]
3245
if: needs.build.outputs.cache-status != 'primary'
33-
secrets: inherit
34-
uses: ./.github/workflows/shared-test.yml
46+
uses: "sablier-labs/gha-utils/.github/workflows/forge-test.yml@main"
3547
with:
36-
workspace: flow
37-
test-type: integration
48+
foundry-fuzz-runs: 10000
49+
foundry-profile: "test-optimized"
50+
foundry-version: "stable"
51+
match-path: "flow/tests/integration/**/*.sol"
52+
name: "Integration tests"
3853

3954
test-invariant:
40-
needs: build
55+
needs: ["check", "build"]
4156
if: needs.build.outputs.cache-status != 'primary'
42-
secrets: inherit
43-
uses: ./.github/workflows/shared-test.yml
57+
uses: "sablier-labs/gha-utils/.github/workflows/forge-test.yml@main"
4458
with:
45-
workspace: flow
46-
test-type: invariant
59+
foundry-invariant-depth: 100
60+
foundry-invariant-runs: 1000
61+
foundry-profile: "test-optimized"
62+
foundry-version: "stable"
63+
match-path: "flow/tests/invariant/**/*.sol"
64+
name: "Invariant tests"
4765

4866
test-fork:
49-
needs: build
67+
needs: ["check", "build"]
5068
if: needs.build.outputs.cache-status != 'primary'
51-
secrets: inherit
52-
uses: ./.github/workflows/shared-test.yml
69+
secrets:
70+
MAINNET_RPC_URL: ${{ secrets.MAINNET_RPC_URL }}
71+
ROUTEMESH_API_KEY: ${{ secrets.ROUTEMESH_API_KEY }}
72+
uses: "sablier-labs/gha-utils/.github/workflows/forge-test.yml@main"
5373
with:
54-
workspace: flow
55-
test-type: fork
74+
foundry-fuzz-runs: 20
75+
foundry-profile: "test-optimized"
76+
foundry-version: "stable"
77+
match-path: "flow/tests/fork/**/*.sol"
78+
name: "Fork tests"
5679

57-
test-coverage:
58-
needs: build
80+
coverage:
81+
needs: ["check", "build"]
5982
if: needs.build.outputs.cache-status != 'primary'
60-
secrets: inherit
61-
uses: ./.github/workflows/shared-test.yml
83+
secrets:
84+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
85+
uses: "sablier-labs/gha-utils/.github/workflows/forge-coverage.yml@main"
6286
with:
63-
workspace: flow
64-
test-type: coverage
87+
foundry-version: "stable"
88+
match-path: "flow/tests/{integration}/**/*.sol"

.github/workflows/ci-lockup.yml

Lines changed: 63 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -3,71 +3,98 @@ run-name: "CI Lockup :: ${{ github.event.head_commit.message || github.event.pul
33

44
concurrency:
55
cancel-in-progress: true
6-
group: ${{ github.workflow }}-${{ github.ref }}
6+
group: ${{github.workflow}}-${{github.ref}}
77

88
on:
9+
workflow_dispatch:
10+
pull_request:
11+
paths:
12+
- ".github/workflows/ci-lockup.yml"
13+
- "lockup/**"
14+
- "foundry.base.toml"
15+
- "package.json"
916
push:
1017
branches:
1118
- "main"
1219
- "staging"
13-
paths: &on_paths
20+
paths:
1421
- ".github/workflows/ci-lockup.yml"
15-
- ".github/workflows/shared-*.yml"
1622
- "lockup/**"
17-
- "foundry.toml"
18-
- "justfile"
23+
- "foundry.base.toml"
1924
- "package.json"
20-
# pull_request:
21-
# paths: *on_paths
2225

2326
jobs:
27+
check:
28+
uses: "sablier-labs/gha-utils/.github/workflows/full-check.yml@main"
29+
with:
30+
foundry-version: "stable"
31+
2432
build:
25-
secrets: inherit
26-
uses: ./.github/workflows/shared-build.yml
33+
uses: "sablier-labs/gha-utils/.github/workflows/forge-build.yml@main"
34+
with:
35+
foundry-version: "stable"
36+
37+
test-bulloak:
38+
needs: ["check", "build"]
39+
if: needs.build.outputs.cache-status != 'primary'
40+
uses: "sablier-labs/gha-utils/.github/workflows/bulloak-check.yml@main"
2741
with:
28-
workspace: lockup
42+
skip-modifiers: true
43+
test-dir: "tests"
2944

3045
test-unit:
31-
needs: build
46+
needs: ["check", "build"]
3247
if: needs.build.outputs.cache-status != 'primary'
33-
secrets: inherit
34-
uses: ./.github/workflows/shared-test.yml
48+
uses: "sablier-labs/gha-utils/.github/workflows/forge-test.yml@main"
3549
with:
36-
workspace: lockup
37-
test-type: unit
50+
foundry-fuzz-runs: 2000
51+
foundry-profile: "test-optimized"
52+
foundry-version: "stable"
53+
match-path: "lockup/tests/unit/**/*.sol"
54+
name: "Unit tests"
3855

3956
test-integration:
40-
needs: build
57+
needs: ["check", "build"]
4158
if: needs.build.outputs.cache-status != 'primary'
42-
secrets: inherit
43-
uses: ./.github/workflows/shared-test.yml
59+
uses: "sablier-labs/gha-utils/.github/workflows/forge-test.yml@main"
4460
with:
45-
workspace: lockup
46-
test-type: integration
61+
foundry-fuzz-runs: 2000
62+
foundry-profile: "test-optimized"
63+
foundry-version: "stable"
64+
match-path: "lockup/tests/integration/**/*.sol"
65+
name: "Integration tests"
4766

4867
test-invariant:
49-
needs: build
68+
needs: ["check", "build"]
5069
if: needs.build.outputs.cache-status != 'primary'
51-
secrets: inherit
52-
uses: ./.github/workflows/shared-test.yml
70+
uses: "sablier-labs/gha-utils/.github/workflows/forge-test.yml@main"
5371
with:
54-
workspace: lockup
55-
test-type: invariant
72+
foundry-profile: "test-optimized"
73+
foundry-version: "stable"
74+
match-path: "lockup/tests/invariant/**/*.sol"
75+
name: "Invariant tests"
5676

5777
test-fork:
58-
needs: build
78+
needs: ["check", "build"]
5979
if: needs.build.outputs.cache-status != 'primary'
60-
secrets: inherit
61-
uses: ./.github/workflows/shared-test.yml
80+
secrets:
81+
MAINNET_RPC_URL: ${{ secrets.MAINNET_RPC_URL }}
82+
ROUTEMESH_API_KEY: ${{ secrets.ROUTEMESH_API_KEY }}
83+
uses: "sablier-labs/gha-utils/.github/workflows/forge-test.yml@main"
6284
with:
63-
workspace: lockup
64-
test-type: fork
85+
foundry-fuzz-runs: 20
86+
foundry-profile: "test-optimized"
87+
foundry-version: "stable"
88+
match-path: "lockup/tests/fork/**/*.sol"
89+
name: "Fork tests"
6590

66-
test-coverage:
67-
needs: build
91+
coverage:
92+
needs: ["check", "build"]
6893
if: needs.build.outputs.cache-status != 'primary'
69-
secrets: inherit
70-
uses: ./.github/workflows/shared-test.yml
94+
secrets:
95+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
96+
MAINNET_RPC_URL: ${{ secrets.MAINNET_RPC_URL }}
97+
uses: "sablier-labs/gha-utils/.github/workflows/forge-coverage.yml@main"
7198
with:
72-
workspace: flow
73-
test-type: coverage
99+
foundry-version: "stable"
100+
match-path: "lockup/tests/{integration,unit}/**/*.sol"

0 commit comments

Comments
 (0)