-
Notifications
You must be signed in to change notification settings - Fork 21
71 lines (63 loc) · 2 KB
/
weekly-validation.yml
File metadata and controls
71 lines (63 loc) · 2 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
name: Weekly Chain Validation
on:
schedule:
# Run every Monday at 6:00 AM UTC (7:00 AM CET)
- cron: "0 6 * * 1"
workflow_dispatch:
# Allow manual triggering for testing
jobs:
validate-chains:
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
matrix:
chain:
- name: "Ethereum"
test: "test_validateEthereum"
emoji: "🌐"
# rpc_secret: "ETH_RPC_URL"
- name: "Base"
test: "test_validateBase"
emoji: "🔵"
# rpc_secret: "BASE_RPC_URL"
- name: "Arbitrum"
test: "test_validateArbitrum"
emoji: "🔶"
# rpc_secret: "ARBITRUM_RPC_URL"
- name: "Avalanche"
test: "test_validateAvalanche"
emoji: "🏔️"
# rpc_secret: "AVAX_RPC_URL"
- name: "BNB"
test: "test_validateBNB"
emoji: "🟡"
# rpc_secret: "BNB_RPC_URL"
- name: "Plume"
test: "test_validatePlume"
emoji: "🟣"
# rpc_secret: "PLUME_RPC_URL"
name: "Validate ${{ matrix.chain.name }}"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: v1.4.1
- name: Create build cache
uses: actions/cache@v4
with:
path: |
cache
out
key: ${{ runner.os }}-foundry-${{ hashFiles('lib/**', 'src/**', 'test/**') }}
restore-keys: |
${{ runner.os }}-foundry-
- name: Install dependencies
run: forge install --no-commit
- name: Validate ${{ matrix.chain.name }} deployment
# env:
# ${{ matrix.chain.rpc_secret }}: ${{ secrets[matrix.chain.rpc_secret] }}
run: |
echo "${{ matrix.chain.emoji }} Validating ${{ matrix.chain.name }} deployment..."
forge test --match-test ${{ matrix.chain.test }} -vv