@@ -274,11 +274,40 @@ jobs:
274274 fail-fast : true
275275 matrix :
276276 include :
277+ # FIXME(#4740): FreeBSD 13 tests are extremely flaky and fail most of the time
278+ # - release: "13.4"
279+ # target: x86_64-unknown-freebsd
280+ - release : " 15.0"
281+ target : i686-unknown-freebsd
282+ - release : " 14.4"
283+ target : x86_64-unknown-freebsd
284+ - release : " 15.0"
285+ target : x86_64-unknown-freebsd
277286 - target : x86_64-pc-solaris
278287 - target : x86_64-unknown-netbsd
279288 timeout-minutes : 25
280289 steps :
281290 - uses : actions/checkout@v6
291+ - name : Test on FreeBSD
292+ uses : vmactions/freebsd-vm@v1.4.5
293+ if : contains(matrix.target, 'freebsd')
294+ with :
295+ release : ${{ matrix.release }}
296+ usesh : true
297+ copyback : false
298+ prepare : |
299+ set -ex
300+ pkg install -y libnghttp2 curl
301+ curl https://sh.rustup.rs -sSf --output rustup.sh
302+ sh rustup.sh -y --default-toolchain nightly --profile=minimal
303+ . "$HOME/.cargo/env"
304+ rustup target add ${{ matrix.target }}
305+ run : |
306+ set -ex
307+ . "$HOME/.cargo/env"
308+ LIBC_CI=1 ./ci/run.sh ${{ matrix.target }}
309+ ./ci/run.sh ${{ matrix.target }}
310+
282311 - name : test on Solaris
283312 uses : vmactions/solaris-vm@v1.3.2
284313 if : contains(matrix.target, 'solaris')
@@ -288,7 +317,7 @@ jobs:
288317 mem : 4096
289318 copyback : false
290319 prepare : |
291- set -x
320+ set -ex
292321 source <(curl -s https://raw.githubusercontent.com/psumbera/solaris-rust/refs/heads/main/sh.rust-web-install)
293322 rustc --version
294323 uname -a
@@ -305,12 +334,12 @@ jobs:
305334 mem : 4096
306335 copyback : false
307336 prepare : |
308- set -x
337+ set -ex
309338 /usr/sbin/pkg_add curl
310339 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \
311340 --profile minimal --default-toolchain nightly -y
312341 run : |
313- set -x
342+ set -ex
314343 . "$HOME/.cargo/env"
315344 which rustc
316345 rustc -Vv
0 commit comments