@@ -265,11 +265,40 @@ jobs:
265265 fail-fast : true
266266 matrix :
267267 include :
268+ # FIXME(#4740): FreeBSD 13 tests are extremely flaky and fail most of the time
269+ # - release: "13.4"
270+ # target: x86_64-unknown-freebsd
271+ - release : " 15.0"
272+ target : i686-unknown-freebsd
273+ - release : " 14.4"
274+ target : x86_64-unknown-freebsd
275+ - release : " 15.0"
276+ target : x86_64-unknown-freebsd
268277 - target : x86_64-pc-solaris
269278 - target : x86_64-unknown-netbsd
270279 timeout-minutes : 25
271280 steps :
272281 - uses : actions/checkout@v6
282+ - name : Test on FreeBSD
283+ uses : vmactions/freebsd-vm@v1.4.5
284+ if : contains(matrix.target, 'freebsd')
285+ with :
286+ release : ${{ matrix.release }}
287+ usesh : true
288+ copyback : false
289+ prepare : |
290+ set -ex
291+ pkg install -y libnghttp2 curl
292+ curl https://sh.rustup.rs -sSf --output rustup.sh
293+ sh rustup.sh -y --default-toolchain nightly --profile=minimal
294+ . "$HOME/.cargo/env"
295+ rustup target add ${{ matrix.target }}
296+ run : |
297+ set -ex
298+ . "$HOME/.cargo/env"
299+ LIBC_CI=1 ./ci/run.sh ${{ matrix.target }}
300+ ./ci/run.sh ${{ matrix.target }}
301+
273302 - name : test on Solaris
274303 uses : vmactions/solaris-vm@v1.3.2
275304 if : contains(matrix.target, 'solaris')
@@ -279,7 +308,7 @@ jobs:
279308 mem : 4096
280309 copyback : false
281310 prepare : |
282- set -x
311+ set -ex
283312 source <(curl -s https://raw.githubusercontent.com/psumbera/solaris-rust/refs/heads/main/sh.rust-web-install)
284313 rustc --version
285314 uname -a
@@ -296,12 +325,12 @@ jobs:
296325 mem : 4096
297326 copyback : false
298327 prepare : |
299- set -x
328+ set -ex
300329 /usr/sbin/pkg_add curl
301330 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- \
302331 --profile minimal --default-toolchain nightly -y
303332 run : |
304- set -x
333+ set -ex
305334 . "$HOME/.cargo/env"
306335 which rustc
307336 rustc -Vv
0 commit comments