Files
Chimera GFX release export a6037502d7
phase0-ci / build-and-audit (push) Successful in 2m14s
Publish Chimera GFX source
2026-09-03 03:27:14 +02:00

53 lines
1.7 KiB
Docker

# syntax=docker/dockerfile:1.7
# SPDX-License-Identifier: GPL-3.0-or-later
ARG UBUNTU_IMAGE=ubuntu:26.04@sha256:651ba3fe3a830441e3deaf70fafac40d808a6bd2800a6f2c43130055159f23e6
FROM ${UBUNTU_IMAGE} AS build
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
bsdextrautils \
clang-18 \
clang-format-18 \
clang-tidy-18 \
cmake \
curl \
git \
lld-18 \
llvm-18-dev \
ninja-build \
python3 \
unzip \
&& rm -rf /var/lib/apt/lists/*
ARG PS5_SDK_URL=https://github.com/ps5-payload-dev/sdk/releases/download/v0.41/ps5-payload-sdk.zip
ARG PS5_SDK_SHA256=ebfb0acb5260511951a80e17db41650c62d20a8caf8659a230b928dc85005984
RUN curl -fL --retry 3 --output /tmp/ps5-payload-sdk.zip "${PS5_SDK_URL}" \
&& echo "${PS5_SDK_SHA256} /tmp/ps5-payload-sdk.zip" | sha256sum --check --strict \
&& unzip -q /tmp/ps5-payload-sdk.zip -d /opt \
&& rm /tmp/ps5-payload-sdk.zip
ENV PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk
ENV LLVM_CONFIG=/usr/bin/llvm-config-18
WORKDIR /src
COPY . /src
RUN cmake -S /src -B /build/host -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=clang-18 \
-DCHIMERA_GFX_ENABLE_CLANG_TIDY=ON \
-DBUILD_TESTING=ON \
&& cmake --build /build/host \
&& ctest --test-dir /build/host --output-on-failure
RUN cmake -S /src -B /build/ps5 -G Ninja \
-DCMAKE_TOOLCHAIN_FILE=/opt/ps5-payload-sdk/toolchain/prospero.cmake \
-DCHIMERA_GFX_BUILD_PS5_PROBE=ON \
-DCHIMERA_GFX_PS5_ALLOWED_FIRMWARE=NONE \
-DBUILD_TESTING=OFF \
&& cmake --build /build/ps5
FROM scratch AS artifacts
COPY --from=build /build/ps5/chimera-gfx-capability-probe.elf /