mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 01:53:24 +09:00
- unit, integration and integration-verify ctest run at -j nproc; the same labels already run at -j in the split lanes, with the same names and results - build-linux, -split and -verify also publish the library (and the server image) alone; the retrace legs load nothing else, yet downloaded and unpacked the 0.5-0.8 GB test runtime - build-retrace no longer waits for build-linux: it fetched the runtime only to test -f a path configure does not read - every branch saves its own rolling ccache entry, deleting only its own old one (--ref); only dev saved, and dev has not run since the key rename, so every build was cold - !cancelled() replaces job-level always() on the retrace, summary and skip-census jobs: a superseded run kept starting its pending legs and held the next run in the concurrency group for up to 154 minutes - retrace and retrace-split run 8 legs at a time, not 4; the cap dates from per-leg LFS checkouts - apt requests time out after 30 s and retry 3 times; install steps time out at 15 minutes, not 45 - the APK trace case matrix no longer waits for the build, which it does not read - retrace-split prepares its metadata once, after the split library is unpacked
48 lines
2.0 KiB
YAML
48 lines
2.0 KiB
YAML
name: Configure Test runner
|
|
description: Select the installed compiler and graphics stack without modifying the host
|
|
inputs:
|
|
gpu:
|
|
description: Require the native GPU stack when running on 8845
|
|
default: "false"
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- shell: bash
|
|
env:
|
|
NEED_GPU: ${{ inputs.gpu }}
|
|
run: |
|
|
if [ "$RUNNER_ENVIRONMENT" = "self-hosted" ] && [ "$NEED_GPU" = true ]; then
|
|
for tool in clang clang++ cmake ninja ccache; do command -v "$tool"; done
|
|
test -r /usr/share/vulkan/icd.d/dzn_icd.json
|
|
test -e /dev/dxg
|
|
{
|
|
echo 'MOBILEGL_CI_NATIVE_GPU=1'
|
|
echo 'MOBILEGL_CI_CC=clang'
|
|
echo 'MOBILEGL_CI_CXX=clang++'
|
|
echo 'MOBILEGL_CI_LLD=ld.lld'
|
|
echo 'MOBILEGL_CI_SOFTWARE_RENDERING=OFF'
|
|
echo 'VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/dzn_icd.json'
|
|
echo 'VK_DRIVER_FILES=/usr/share/vulkan/icd.d/dzn_icd.json'
|
|
echo 'EGL_PLATFORM=surfaceless'
|
|
echo 'LIBGL_ALWAYS_SOFTWARE=0'
|
|
echo 'GALLIUM_DRIVER=d3d12'
|
|
echo 'MESA_LOADER_DRIVER_OVERRIDE=d3d12'
|
|
} >> "$GITHUB_ENV"
|
|
else
|
|
{
|
|
echo 'MOBILEGL_CI_NATIVE_GPU=0'
|
|
echo 'MOBILEGL_CI_CC=clang-20'
|
|
echo 'MOBILEGL_CI_CXX=clang++-20'
|
|
echo 'MOBILEGL_CI_LLD=ld.lld-20'
|
|
echo 'MOBILEGL_CI_SOFTWARE_RENDERING=ON'
|
|
echo 'VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/lvp_icd.json'
|
|
echo 'VK_DRIVER_FILES=/usr/share/vulkan/icd.d/lvp_icd.json'
|
|
} >> "$GITHUB_ENV"
|
|
# A stalled mirror must fail a request and retry it, not hold the install step until
|
|
# its timeout.
|
|
if [ -d /etc/apt/apt.conf.d ] && command -v sudo > /dev/null; then
|
|
printf 'Acquire::Retries "3";\nAcquire::http::Timeout "30";\nAcquire::https::Timeout "30";\n' |
|
|
sudo tee /etc/apt/apt.conf.d/80-mobilegl-ci-network > /dev/null
|
|
fi
|
|
fi
|