@@ -61,11 +61,11 @@ jobs:
61
61
- os : osx
62
62
runner : macos-14
63
63
- os : linux
64
- runner : ubuntu-20 .04
64
+ runner : ubuntu-22 .04
65
65
- os : ios
66
66
runner : macos-14
67
67
- os : android
68
- runner : ubuntu-20 .04
68
+ runner : ubuntu-22 .04
69
69
exclude :
70
70
- arch : arm
71
71
os : win
@@ -160,15 +160,6 @@ jobs:
160
160
if : ${{ matrix.os == 'linux' }}
161
161
run : sudo apt update
162
162
163
- # We need a newer version of GCC because aws-lc-rs rejects versions affected
164
- # by this bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189
165
- # These lines can be safely removed once we switch to ubuntu-22.04 runner.
166
- - name : Install GCC 10.x
167
- if : ${{ matrix.os == 'linux' }}
168
- run : |
169
- sudo apt install gcc-10
170
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 60
171
-
172
163
- name : Install dependencies for rustls
173
164
if : ${{ runner.os == 'Windows' }}
174
165
shell : pwsh
@@ -199,6 +190,18 @@ jobs:
199
190
if : ${{ matrix.os == 'android' }}
200
191
run : sudo apt install gcc-multilib
201
192
193
+ - name : Setup LLVM
194
+ uses : Devolutions/actions-public/setup-llvm@cbake
195
+ if : matrix.os == 'linux'
196
+ with :
197
+ version : " 18.1.8"
198
+
199
+ - name : Setup CBake
200
+ uses : Devolutions/actions-public/setup-cbake@cbake
201
+ if : matrix.os == 'linux'
202
+ with :
203
+ cargo_env_scripts : true
204
+
202
205
- name : Build native lib (${{matrix.os}}-${{matrix.arch}})
203
206
shell : pwsh
204
207
run : |
@@ -226,12 +229,6 @@ jobs:
226
229
$Env:RUSTFLAGS="-C target-feature=+crt-static"
227
230
}
228
231
229
- if ($RustTarget -eq 'aarch64-unknown-linux-gnu') {
230
- sudo apt update
231
- sudo apt install gcc-aarch64-linux-gnu
232
- $Env:RUSTFLAGS="-C linker=aarch64-linux-gnu-gcc"
233
- }
234
-
235
232
$ProjectVersion = '${{ needs.preflight.outputs.project-version }}'
236
233
$PackageVersion = '${{ needs.preflight.outputs.package-version }}'
237
234
@@ -241,6 +238,13 @@ jobs:
241
238
}
242
239
Set-Content -Path .\ffi\Cargo.toml -Value $CargoToml
243
240
241
+ if ($DotNetOs -eq 'linux') {
242
+ $LinuxArch = @{'x64'='amd64';'arm64'='arm64'}[$DotNetArch]
243
+ $Env:SYSROOT_NAME = "ubuntu-20.04-$LinuxArch"
244
+ . "$HOME/.cargo/cbake/${RustTarget}-enter.ps1"
245
+ $Env:AWS_LC_SYS_CMAKE_BUILDER="true"
246
+ }
247
+
244
248
$CargoParams = @(
245
249
"build",
246
250
"-p", "ffi",
@@ -276,13 +280,8 @@ jobs:
276
280
- name : Checkout ${{ github.repository }}
277
281
uses : actions/checkout@v4
278
282
279
- - name : Configure runner
280
- shell : pwsh
281
- run : |
282
- wget -q https://github.com/awakecoding/llvm-prebuilt/releases/download/v2023.3.0/cctools-x86_64-ubuntu-22.04.tar.xz
283
- tar -xf cctools-x86_64-ubuntu-22.04.tar.xz -C /tmp
284
- sudo mv /tmp/cctools-x86_64-ubuntu-22.04/bin/lipo /usr/local/bin
285
- sudo mv /tmp/cctools-x86_64-ubuntu-22.04/bin/install_name_tool /usr/local/bin
283
+ - name : Setup CCTools
284
+ uses : Devolutions/actions-public/setup-cctools@cbake
286
285
287
286
- name : Download native components
288
287
uses : actions/download-artifact@v4
0 commit comments