@@ -19,6 +19,58 @@ concurrency:
1919 cancel-in-progress : true
2020
2121jobs :
22+ test :
23+ runs-on : ${{ matrix.config.os }}
24+ strategy :
25+ matrix :
26+ # Note: GitHub does not host Alpine runners, so we skip testing there for now.
27+ config :
28+ - { os: ubuntu-latest, arch: x64 } # foundry_v[ersion]_linux_amd64.tar.gz
29+ - { os: ubuntu-24.04-arm, arch: arm64 } # foundry_v[ersion]_linux_arm64.tar.gz
30+ - { os: macos-latest, arch: arm64 } # foundry_v[ersion]_darwin_arm64.tar.gz
31+ - { os: macos-15-intel, arch: x64 } # foundry_v[ersion]_darwin_amd64.tar.gz
32+ - { os: windows-latest, arch: x64 } # foundry_v[ersion]_windows_amd64.zip
33+ version : [stable, nightly]
34+ permissions :
35+ contents : read
36+ steps :
37+ - uses : actions/checkout@v5
38+ with :
39+ persist-credentials : false
40+
41+ - name : Use Node.js 24.x
42+ uses : actions/setup-node@v5
43+ with :
44+ node-version : 24.x
45+
46+ - name : Install dependencies
47+ run : npm ci --ignore-scripts
48+
49+ - name : Rebuild dist/
50+ run : npm run build
51+
52+ - name : Test action installation (${{ matrix.version }})
53+ uses : ./
54+ with :
55+ version : ${{ matrix.version }}
56+ cache : false
57+
58+ - name : Verify Foundry installation
59+ shell : bash
60+ run : |
61+ forge --version
62+ cast --version
63+ anvil --version
64+ chisel --version
65+
66+ - name : Test basic Foundry functionality
67+ shell : bash
68+ run : |
69+ forge init test-project --force
70+ cd test-project
71+ forge build
72+ forge test -vvv
73+
2274 match :
2375 runs-on : ubuntu-latest
2476 permissions :
2779 - uses : actions/checkout@v5
2880 with :
2981 persist-credentials : false
82+
3083 - name : Use Node.js 24.x
3184 uses : actions/setup-node@v5
3285 with :
@@ -106,6 +159,7 @@ jobs:
106159 runs-on : ubuntu-latest
107160 if : always()
108161 needs :
162+ - test
109163 - match
110164 - codeql
111165 timeout-minutes : 30
0 commit comments