11name : Checks
22on : [push, pull_request]
3+ env :
4+ NODE_VERSION : 20
35jobs :
46 # Multiple jobs depend on having EVM and SVM artifacts available, so we upload them first in separate jobs.
57 upload-svm-artifacts :
1113 target/types
1214 src/svm/assets
1315 src/svm/clients
14- strategy :
15- matrix :
16- node :
17- - 20
1816 steps :
1917 - name : Checkout repo
2018 uses : actions/checkout@v3
@@ -24,16 +22,16 @@ jobs:
2422 with :
2523 type : artifacts
2624 path : ${{ env.ARTIFACTS_PATHS }}
27- node_version : ${{ matrix.node }}
25+ node_version : ${{ env.NODE_VERSION }}
2826 - name : Generate SVM artifacts
2927 if : steps.svm-artifacts-cache.outputs.cache-hit != 'true'
3028 uses : ./.github/actions/generate-svm-artifacts
3129 with :
32- node_version : ${{ matrix.node }}
30+ node_version : ${{ env.NODE_VERSION }}
3331 - name : Upload SVM artifacts
3432 uses : actions/upload-artifact@v4
3533 with :
36- name : svm-artifacts-${{ runner.os }}-node-${{ matrix.node }}
34+ name : svm-artifacts-${{ runner.os }}-node-${{ env.NODE_VERSION }}
3735 path : ${{ env.ARTIFACTS_PATHS }}
3836 if-no-files-found : error
3937 upload-evm-artifacts :
4442 artifacts
4543 cache
4644 typechain
47- strategy :
48- matrix :
49- node :
50- - 20
5145 steps :
5246 - name : Checkout repo
5347 uses : actions/checkout@v3
@@ -56,32 +50,28 @@ jobs:
5650 uses : ./.github/actions/cache-evm-artifacts
5751 with :
5852 path : ${{ env.ARTIFACTS_PATHS }}
59- node_version : ${{ matrix.node }}
53+ node_version : ${{ env.NODE_VERSION }}
6054 - name : Generate EVM artifacts
6155 if : steps.evm-artifacts-cache.outputs.cache-hit != 'true'
6256 uses : ./.github/actions/generate-evm-artifacts
6357 with :
64- node_version : ${{ matrix.node }}
58+ node_version : ${{ env.NODE_VERSION }}
6559 - name : Upload EVM artifacts
6660 uses : actions/upload-artifact@v4
6761 with :
68- name : evm-artifacts-${{ runner.os }}-node-${{ matrix.node }}
62+ name : evm-artifacts-${{ runner.os }}-node-${{ env.NODE_VERSION }}
6963 path : ${{ env.ARTIFACTS_PATHS }}
7064 if-no-files-found : error
7165 lint :
7266 name : Lint
7367 runs-on : ubuntu-latest
74- strategy :
75- matrix :
76- node :
77- - 20
7868 steps :
7969 - name : Checkout repo
8070 uses : actions/checkout@v3
81- - name : " Use Node ${{ matrix.node }}"
71+ - name : " Use Node ${{ env.NODE_VERSION }}"
8272 uses : actions/setup-node@v3
8373 with :
84- node-version : " ${{ matrix.node }}"
74+ node-version : " ${{ env.NODE_VERSION }}"
8575 cache : yarn
8676 - name : Install Cargo toolchain
8777 uses : actions-rs/toolchain@v1
@@ -109,58 +99,50 @@ jobs:
10999 - upload-svm-artifacts
110100 - upload-evm-artifacts
111101 runs-on : ubuntu-latest
112- strategy :
113- matrix :
114- node :
115- - 20
116102 steps :
117103 - name : Checkout repo
118104 uses : actions/checkout@v3
119- - name : " Use Node ${{ matrix.node }}"
105+ - name : " Use Node ${{ env.NODE_VERSION }}"
120106 uses : actions/setup-node@v3
121107 with :
122- node-version : " ${{ matrix.node }}"
108+ node-version : " ${{ env.NODE_VERSION }}"
123109 cache : yarn
124110 - name : Install packages
125111 run : yarn install --frozen-lockfile --ignore-optional
126112 - name : Download SVM artifacts
127113 uses : actions/download-artifact@v4
128114 with :
129- name : svm-artifacts-${{ runner.os }}-node-${{ matrix.node }}
115+ name : svm-artifacts-${{ runner.os }}-node-${{ env.NODE_VERSION }}
130116 - name : Download EVM artifacts
131117 uses : actions/download-artifact@v4
132118 with :
133- name : evm-artifacts-${{ runner.os }}-node-${{ matrix.node }}
119+ name : evm-artifacts-${{ runner.os }}-node-${{ env.NODE_VERSION }}
134120 - name : Test evm-hardhat
135121 shell : bash
136122 run : yarn test-evm
137123 test-svm-verified :
138124 name : Test verified SVM build
139125 needs : upload-svm-artifacts
140126 runs-on : ubuntu-latest
141- strategy :
142- matrix :
143- node :
144- - 20
145127 steps :
146128 - name : Checkout repo
147129 uses : actions/checkout@v3
148- - name : " Use Node ${{ matrix.node }}"
130+ - name : " Use Node ${{ env.NODE_VERSION }}"
149131 uses : actions/setup-node@v3
150132 with :
151- node-version : " ${{ matrix.node }}"
133+ node-version : " ${{ env.NODE_VERSION }}"
152134 cache : yarn
153135 - name : Install packages
154136 run : yarn install --frozen-lockfile --ignore-optional
155137 - name : Setup Anchor & Solana
156138 uses : ./.github/actions/setup-solana-anchor
157139 with :
158140 verify_version : 0.4.3
159- node_version : ${{ matrix.node }}
141+ node_version : ${{ env.NODE_VERSION }}
160142 - name : Download SVM artifacts
161143 uses : actions/download-artifact@v4
162144 with :
163- name : svm-artifacts-${{ runner.os }}-node-${{ matrix.node }}
145+ name : svm-artifacts-${{ runner.os }}-node-${{ env.NODE_VERSION }}
164146 # Cargo cache would only apply to dependencies that are not reused in the verified docker build, hence we need to
165147 # manually cache the verified build binaries if the program source code has not changed.
166148 - name : Cache verified test build binaries
@@ -169,7 +151,7 @@ jobs:
169151 with :
170152 type : verified-test-binaries
171153 path : target/deploy
172- node_version : ${{ matrix.node }}
154+ node_version : ${{ env.NODE_VERSION }}
173155 - name : Create verified build
174156 if : steps.verified-test-build-cache.outputs.cache-hit != 'true'
175157 env :
@@ -183,44 +165,36 @@ jobs:
183165 - upload-svm-artifacts
184166 - upload-evm-artifacts
185167 runs-on : ubuntu-latest
186- strategy :
187- matrix :
188- node :
189- - 20
190168 steps :
191169 - name : Checkout repo
192170 uses : actions/checkout@v3
193- - name : " Use Node ${{ matrix.node }}"
171+ - name : " Use Node ${{ env.NODE_VERSION }}"
194172 uses : actions/setup-node@v3
195173 with :
196- node-version : " ${{ matrix.node }}"
174+ node-version : " ${{ env.NODE_VERSION }}"
197175 cache : yarn
198176 - name : Install packages
199177 run : yarn install --frozen-lockfile --ignore-optional
200178 - name : Download SVM artifacts
201179 uses : actions/download-artifact@v4
202180 with :
203- name : svm-artifacts-${{ runner.os }}-node-${{ matrix.node }}
181+ name : svm-artifacts-${{ runner.os }}-node-${{ env.NODE_VERSION }}
204182 - name : Download EVM artifacts
205183 uses : actions/download-artifact@v4
206184 with :
207- name : evm-artifacts-${{ runner.os }}-node-${{ matrix.node }}
185+ name : evm-artifacts-${{ runner.os }}-node-${{ env.NODE_VERSION }}
208186 - name : Build TypeScript
209187 run : yarn build-ts
210188 forge :
211189 name : Forge
212190 runs-on : ubuntu-latest
213- strategy :
214- matrix :
215- node :
216- - 20
217191 steps :
218192 - name : Checkout repo
219193 uses : actions/checkout@v3
220- - name : " Use Node ${{ matrix.node }}"
194+ - name : " Use Node ${{ env.NODE_VERSION }}"
221195 uses : actions/setup-node@v3
222196 with :
223- node-version : " ${{ matrix.node }}"
197+ node-version : " ${{ env.NODE_VERSION }}"
224198 cache : yarn
225199 - name : Install packages
226200 run : yarn install --frozen-lockfile --ignore-optional
0 commit comments