CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
63 lines
2.4 KiB
Docker
63 lines
2.4 KiB
Docker
FROM docker.io/library/ubuntu:24.04 AS builder
|
|
|
|
# Perf package dropped for a range of Ubuntu releases, so we build it manually.
|
|
# See Ubuntu bug tracker:
|
|
# https://bugs.launchpad.net/ubuntu/+source/linux-hwe-6.14/+bug/2117147
|
|
|
|
# Download perf version 6.17 to guarantee it has all code we need to cover
|
|
# AArch64 SPE and BRBE support. Can drop once perf is available in Ubuntu again
|
|
# and sufficiently recent.
|
|
ARG PERF_VER=6.17
|
|
ARG PERF_SHA256="ee55669e1a580015925cf586d148f65aa4390213ba5d8377260a13878bc54c5c"
|
|
|
|
RUN set -eux; \
|
|
apt-get update; \
|
|
apt-get install -y --no-install-recommends ca-certificates wget; \
|
|
wget -O /tmp/perf.tar.xz "https://mirrors.edge.kernel.org/pub/linux/kernel/tools/perf/v${PERF_VER}.0/perf-${PERF_VER}.0.tar.xz"; \
|
|
echo "${PERF_SHA256} /tmp/perf.tar.xz" | sha256sum -c -;
|
|
|
|
# Compile perf.
|
|
RUN set -eux; \
|
|
apt-get update; \
|
|
apt-get install -y --no-install-recommends \
|
|
xz-utils libtraceevent-dev libtracefs-dev \
|
|
build-essential flex bison \
|
|
libelf-dev libdw-dev zlib1g-dev liblzma-dev libcap-dev libnuma-dev \
|
|
python3 python3-dev python3-setuptools \
|
|
pkg-config; \
|
|
mkdir -p /src && tar -C /src -xf /tmp/perf.tar.xz; \
|
|
cd "/src/perf-${PERF_VER}.0"; \
|
|
make -C tools/perf -j"$(nproc)"; \
|
|
install -m 0755 tools/perf/perf /usr/local/bin/perf; \
|
|
/usr/local/bin/perf --version >&2
|
|
|
|
# Install tools for BOLT compilation.
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends git \
|
|
build-essential cmake ninja-build python3 zstd ccache \
|
|
python3-psutil && \
|
|
rm -rf /var/lib/apt/lists
|
|
|
|
WORKDIR /home/bolt
|
|
|
|
# Get sources, compile BOLT, and run test suites.
|
|
RUN git clone --depth 1 https://github.com/llvm/llvm-project
|
|
RUN git clone --depth 1 https://github.com/rafaelauler/bolt-tests
|
|
RUN git clone --depth 1 https://github.com/arm/large-bolt-tests
|
|
|
|
RUN mkdir build && \
|
|
cd build && \
|
|
cmake -G Ninja ../llvm-project/llvm \
|
|
-DLLVM_ENABLE_PROJECTS="bolt;clang;lld" \
|
|
-DLLVM_TARGETS_TO_BUILD="AArch64;X86" \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DLLVM_CCACHE_BUILD=ON \
|
|
-DLLVM_ENABLE_ASSERTIONS=ON \
|
|
-DLLVM_EXTERNAL_PROJECTS="bolttests;bolttests-arm" \
|
|
-DLLVM_EXTERNAL_BOLTTESTS_SOURCE_DIR=../bolt-tests \
|
|
-DLLVM_EXTERNAL_BOLTTESTS_ARM_SOURCE_DIR=../large-bolt-tests
|
|
|
|
RUN cd build && ninja check-bolt
|
|
RUN cd build && ninja check-large-bolt
|
|
RUN cd build && ninja check-large-bolt-arm
|