diff --git a/src/ci/docker/host-aarch64/dist-aarch64-freebsd/Dockerfile b/src/ci/docker/host-aarch64/dist-aarch64-freebsd/Dockerfile new file mode 100644 index 0000000000000..ca597acb72c5c --- /dev/null +++ b/src/ci/docker/host-aarch64/dist-aarch64-freebsd/Dockerfile @@ -0,0 +1,44 @@ +FROM ubuntu:26.04 + +RUN apt-get update && apt-get install -y --no-install-recommends \ + clang \ + make \ + ninja-build \ + file \ + curl \ + ca-certificates \ + python3 \ + git \ + cmake \ + sudo \ + bzip2 \ + xz-utils \ + texinfo \ + wget \ + libssl-dev \ + pkg-config \ + && rm -rf /var/lib/apt/lists/* + +COPY scripts/freebsd-toolchain.sh /tmp/ +RUN /tmp/freebsd-toolchain.sh aarch64 + +COPY scripts/sccache.sh /scripts/ +RUN sh /scripts/sccache.sh + +COPY scripts/cmake.sh /scripts/ +RUN /scripts/cmake.sh + +ENV \ + AR_aarch64_unknown_freebsd=aarch64-unknown-freebsd14-ar \ + CC_aarch64_unknown_freebsd=aarch64-unknown-freebsd14-clang \ + CXX_aarch64_unknown_freebsd=aarch64-unknown-freebsd14-clang++ + +ENV HOSTS=aarch64-unknown-freebsd + +ENV RUST_CONFIGURE_ARGS="--enable-full-tools \ + --enable-extended \ + --enable-profiler \ + --enable-sanitizers \ + --disable-docs" + +ENV SCRIPT="python3 ../x.py dist --host $HOSTS --target $HOSTS" diff --git a/src/ci/docker/scripts/freebsd-toolchain.sh b/src/ci/docker/scripts/freebsd-toolchain.sh index 5308288d911a0..8b4081d27d083 100755 --- a/src/ci/docker/scripts/freebsd-toolchain.sh +++ b/src/ci/docker/scripts/freebsd-toolchain.sh @@ -46,6 +46,7 @@ mkdir -p "$sysroot" case $arch in (x86_64) freebsd_arch=amd64 ;; (i686) freebsd_arch=i386 ;; + (aarch64) freebsd_arch=arm64 ;; esac files_to_extract=( diff --git a/src/ci/github-actions/jobs.yml b/src/ci/github-actions/jobs.yml index 97ddde799a757..448a2c927b394 100644 --- a/src/ci/github-actions/jobs.yml +++ b/src/ci/github-actions/jobs.yml @@ -261,6 +261,9 @@ auto: - name: dist-x86_64-freebsd <<: *job-linux-4c + - name: dist-aarch64-freebsd + <<: *job-aarch64-linux + - name: dist-x86_64-illumos <<: *job-linux-4c