@@ -143,57 +143,93 @@ jobs:
143
143
uses : step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1
144
144
with :
145
145
egress-policy : audit
146
-
147
- - name : " Setup: Docker"
148
- uses : docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 # v3.4.0
149
- id : buildx
150
- with :
151
- install : true
152
146
- name : " Setup: Checkout"
153
147
uses : actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
154
- - name : " Setup: GraalVM (Java 20)"
148
+ - name : " Setup: Rust"
149
+ uses : actions-rust-lang/setup-rust-toolchain@1fbea72663f6d4c03efaab13560c8a24cfd2a7cc # v1.9.0
150
+ with :
151
+ toolchain : nightly
152
+ components : clippy,rustfmt
153
+ rustflags : " "
154
+ - name : " Setup: SCCache"
155
+ uses : mozilla-actions/sccache-action@89e9040de88b577a072e3760aaf59f585da083af # v0.0.5
156
+ - name : " Setup: Rust Caching"
157
+ run : |
158
+ echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
159
+ echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
160
+ - name : " Setup: GraalVM (Java 22)"
155
161
uses : graalvm/setup-graalvm@2911b2304bee2c2f59b9a67bf45f025a6b6de4b1 # v1.2.2
156
162
with :
157
163
distribution : " graalvm"
158
- java-version : 22
159
- check-for-updates : ${{ matrix.os == 'ubuntu' }}
164
+ java-version : " 22"
160
165
github-token : ${{ secrets.GITHUB_TOKEN }}
166
+ - name : " Setup: Python (3.12)"
167
+ uses : actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
168
+ with :
169
+ python-version : 3.12
170
+ - name : " Setup: Buildless"
171
+ if : false # temporarily disabled
172
+ uses : buildless/setup@30e82389418c7f17046606183bc4c78b2c8913e0 # v1.0.2
161
173
- name : " Setup: Node"
162
174
uses : actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
163
175
with :
164
176
node-version : 22
165
- - name : " Setup: Yarn"
166
- run : npm install -g yarn@1.22.19 && yarn
167
- - id : " auth"
168
- name : " Setup: Authorize Service Account"
169
- uses : google-github-actions/auth@55bd3a7c6e2ae7cf1877fd1ccb9d54c0503c457c # v2.1.2
177
+ - name : " Setup: PNPM"
178
+ uses : pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
170
179
with :
171
- credentials_json : " ${{ secrets.BUILDBOT_SERVICE_ACCOUNT }}"
172
- create_credentials_file : true
173
- export_environment_variables : true
174
- cleanup_credentials : true
175
- - name : " 🛠️ Build"
180
+ version : " 9.2.0"
181
+ run_install : |
182
+ - recursive: true
183
+ args: [--frozen-lockfile, --strict-peer-dependencies]
184
+ - name : " Setup: LLVM 18"
185
+ run : |
186
+ wget https://apt.llvm.org/llvm.sh
187
+ chmod +x llvm.sh
188
+ sudo ./llvm.sh 18 all
189
+ export LLVM_PATH=/usr/lib/llvm-18
190
+ export PATH="$LLVM_PATH/bin:$PATH"
191
+ export LD_LIBRARY_PATH="$LLVM_PATH/lib:$LD_LIBRARY_PATH"
192
+ export LLVM_CONFIG="$LLVM_PATH/bin/llvm-config"
193
+ echo LLVM_PATH=$LLVM_PATH >> $GITHUB_ENV
194
+ echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH >> $GITHUB_ENV
195
+ echo LLVM_CONFIG=$LLVM_CONFIG >> $GITHUB_ENV
196
+ echo PATH=$PATH >> $GITHUB_ENV
197
+ - name : " Setup: Dependencies"
198
+ run : |
199
+ cargo install cargo-fuzz cargo-insta rustfilt
200
+ pnpm install -g yarn@1.22.19
201
+ python -m pip install uv
202
+ echo "Setting up venv..."
203
+ uv venv
204
+ echo "Installing dependencies via Pip..."
205
+ uv pip install -r requirements.txt
206
+ echo "Activating venv..."
207
+ . .venv/bin/activate
208
+ echo PATH=$PATH >> $GITHUB_ENV
209
+ - name : " Setup: Gradle"
176
210
uses : gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2
177
211
id : gradlebuild
178
212
continue-on-error : ${{ matrix.mode == 'labs' }}
179
213
env :
180
214
CI : true
181
215
with :
182
216
cache-read-only : true
183
- arguments : |
184
- build
185
- -x check
186
- -x test
187
- -x jvmTest
188
- -x jsTest
189
- -x jsBrowserTest
190
- -x nativeCompile
191
- --scan
192
- --no-daemon
193
- --warning-mode=none
194
- --dependency-verification=lenient
195
- -Pelide.ci=true
196
- -PbuildSamples=false
197
- -PbuildDocs=false
198
- -Pversions.java.minimum=11
217
+ - name : " 🛠️ Build"
218
+ run : |
219
+ make setup natives && ./gradlew \
220
+ build \
221
+ -x check \
222
+ -x test \
223
+ -x jvmTest \
224
+ -x jsTest \
225
+ -x jsBrowserTest \
226
+ -x nativeCompile \
227
+ --scan \
228
+ --no-daemon \
229
+ --warning-mode=none \
230
+ --dependency-verification=lenient \
231
+ -Pelide.ci=true \
232
+ -PbuildSamples=false \
233
+ -PbuildDocs=false \
234
+ -Pversions.java.minimum=11 \
199
235
-Pversions.java.language=22
0 commit comments