@@ -117,6 +117,18 @@ jobs:
117117 v8_enable_pointer_compression : false
118118 cargo : cargo
119119
120+ - os : ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
121+ target : riscv64gc-unknown-linux-gnu
122+ variant : debug
123+ v8_enable_pointer_compression : false
124+ cargo : cargo
125+
126+ - os : ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
127+ target : riscv64gc-unknown-linux-gnu
128+ variant : release
129+ v8_enable_pointer_compression : false
130+ cargo : cargo
131+
120132 # simdutf builds
121133 - os : macos-15-large
122134 target : x86_64-apple-darwin
@@ -174,6 +186,20 @@ jobs:
174186 simdutf : true
175187 cargo : cargo
176188
189+ - os : ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
190+ target : riscv64gc-unknown-linux-gnu
191+ variant : debug
192+ v8_enable_pointer_compression : false
193+ simdutf : true
194+ cargo : cargo
195+
196+ - os : ${{ github.repository == 'denoland/rusty_v8' && 'ubuntu-22.04-xl' || 'ubuntu-22.04' }}
197+ target : riscv64gc-unknown-linux-gnu
198+ variant : release
199+ v8_enable_pointer_compression : false
200+ simdutf : true
201+ cargo : cargo
202+
177203 - os : ${{ github.repository == 'denoland/rusty_v8' && 'windows-2022-xxl' || 'windows-2022' }}
178204 target : x86_64-pc-windows-msvc
179205 variant : release # Note: we do not support windows debug builds.
@@ -217,7 +243,7 @@ jobs:
217243 python-version : 3.11.x
218244 architecture : x64
219245
220- - name : Install cross compilation toolchain
246+ - name : Install cross compilation toolchain (aarch64)
221247 if : matrix.config.target == 'aarch64-unknown-linux-gnu'
222248 run : |
223249 rustup target add aarch64-unknown-linux-gnu
@@ -228,12 +254,29 @@ jobs:
228254 gcc-10-aarch64-linux-gnu libc6-arm64-cross qemu qemu-user \
229255 qemu-user-binfmt
230256
231- sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 \
257+ sudo ln -sf /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 \
232258 /lib/ld-linux-aarch64.so.1
233259
234260 echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=/usr/bin/aarch64-linux-gnu-gcc-10" >> ${GITHUB_ENV}
235261 echo "QEMU_LD_PREFIX=/usr/aarch64-linux-gnu" >> ${GITHUB_ENV}
236262
263+ - name : Install cross compilation toolchain (riscv64)
264+ if : matrix.config.target == 'riscv64gc-unknown-linux-gnu'
265+ run : |
266+ rustup target add riscv64gc-unknown-linux-gnu
267+
268+ sudo apt update
269+ sudo apt install -yq --no-install-suggests --no-install-recommends \
270+ binfmt-support g++-10-riscv64-linux-gnu \
271+ gcc-10-riscv64-linux-gnu libc6-riscv64-cross qemu qemu-user \
272+ qemu-user-binfmt
273+
274+ sudo ln -sf /usr/riscv64-linux-gnu/lib/ld-linux-riscv64-lp64d.so.1 \
275+ /lib/ld-linux-riscv64-lp64d.so.1
276+
277+ echo "CARGO_TARGET_RISCV64GC_UNKNOWN_LINUX_GNU_LINKER=/usr/bin/riscv64-linux-gnu-gcc-10" >> ${GITHUB_ENV}
278+ echo "QEMU_LD_PREFIX=/usr/riscv64-linux-gnu" >> ${GITHUB_ENV}
279+
237280 - name : Write git_submodule_status.txt
238281 run : git submodule status --recursive > git_submodule_status.txt
239282
@@ -267,6 +310,8 @@ jobs:
267310 "aarch64-apple-darwin" = "aarch64-apple-darwin"
268311 "x86_64-unknown-linux-gnu" = "x86_64-unknown-linux-musl"
269312 "aarch64-unknown-linux-gnu" = "aarch64-unknown-linux-musl"
313+ # Unlike aarch64, the riscv64 sccache binary is not static, so use the host architecture one.
314+ "riscv64gc-unknown-linux-gnu" = "x86_64-unknown-linux-musl"
270315 "x86_64-pc-windows-msvc" = "x86_64-pc-windows-msvc"
271316 }['${{ matrix.config.target }}']
272317 $basename = "sccache-$version-$platform"
0 commit comments