Point test_suite.rf at pixel-8-extended disable #8778
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI Build | |
| # Perform CI builds for pull requests targeting the dev branches. | |
| on: | |
| pull_request: | |
| branches: | |
| - dev | |
| merge_group: | |
| branches: | |
| - dev | |
| jobs: | |
| check-format: | |
| name: "Format Check" | |
| if: github.event_name == 'pull_request' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y clang-format-14 | |
| - name: Clone repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Run clang-format script | |
| run: | | |
| set -euo pipefail | |
| BASE="origin/${{ github.base_ref }}" | |
| git fetch origin "${{ github.base_ref }}" | |
| clang-format-14 --version | |
| DIFF_OUTPUT=$(git diff -U0 "$BASE"...HEAD -- \ | |
| '*.c' '*.h' '*.cpp' '*.hpp' '*.mm' \ | |
| ':!framework/generated/' ':!external/' \ | |
| ':!*generated_*' ':!*.def' | \ | |
| python3 scripts/clang-format-diff.py -p1 -style=file) | |
| if [ -n "$DIFF_OUTPUT" ]; then | |
| echo "$DIFF_OUTPUT" | |
| echo | |
| echo "Formatting issues found on changed lines. Apply the diff above with 'git apply'," | |
| echo "or run 'git clang-format-14' locally." | |
| exit 1 | |
| fi | |
| linux: | |
| name: ${{ matrix.config.name }} | |
| runs-on: ${{ matrix.config.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - { | |
| name: "Ubuntu GCC Release", | |
| os: ubuntu-latest, | |
| artifact: "gfxreconstruct-dev-ubuntu-gcc-release", | |
| test_failure_artifact: "gfxreconstruct-dev-test-failure-ubuntu-gcc-release", | |
| type: "release", | |
| build_dir: "build", | |
| cc: "gcc", cxx: "g++" | |
| } | |
| - { | |
| name: "Ubuntu GCC Debug", | |
| os: ubuntu-latest, | |
| artifact: "gfxreconstruct-dev-ubuntu-gcc-debug", | |
| test_failure_artifact: "gfxreconstruct-dev-test-failure-ubuntu-gcc-debug", | |
| type: "debug", | |
| build_dir: "dbuild", | |
| cc: "gcc", cxx: "g++" | |
| } | |
| steps: | |
| - name: Require Python 3.10 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| - run: pip install pyparsing | |
| - name: Clone repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Setup sccache | |
| uses: mozilla-actions/sccache-action@v0.0.9 | |
| - name: Install build dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libx11-xcb-dev libxcb-keysyms1-dev libwayland-dev libxrandr-dev liblz4-dev libzstd-dev | |
| - uses: lukka/get-cmake@latest | |
| with: | |
| cmakeVersion: 3.24 | |
| - name: Check generated code | |
| if: matrix.config.type == 'debug' | |
| run: | | |
| echo ---- run Khronos Generators and fail if branch differs | |
| python3 framework/generated/generate_vulkan.py # check generated code isn't out of date | |
| python3 framework/generated/generate_openxr.py # check generated code isn't out of date | |
| git diff --exit-code || { echo "Generated code differs from branch contents"; exit 1; } | |
| - name: Run build script | |
| run: | | |
| python3 scripts/build.py --config ${{ matrix.config.type }} --skip-check-code-style --parallel 0 --test-apps --cmake-extra "GFXRECON_ENABLE_RELEASE_ASSERTS=ON" | |
| env: | |
| SCCACHE_GHA_ENABLED: on | |
| CMAKE_C_COMPILER_LAUNCHER: sccache | |
| CMAKE_CXX_COMPILER_LAUNCHER: sccache | |
| - name: Run test app test cases | |
| id: test_apps | |
| run: | | |
| cd ${{matrix.config.build_dir}}/linux/x64/output/test | |
| sudo -n ./run-tests.sh | |
| - name: Upload test failure artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: ${{ failure() && steps.test_apps.conclusion == 'failure' }} | |
| with: | |
| name: ${{ matrix.config.test_failure_artifact }} | |
| path: ${{matrix.config.build_dir}}/linux/x64/output/test | |
| - name: Prepare artifacts | |
| run: | | |
| cp LICENSE.txt ${{ matrix.config.build_dir }}/linux/x64/output/bin/ | |
| cp LICENSE_ThirdParty.txt ${{ matrix.config.build_dir }}/linux/x64/output/bin/ | |
| cp USAGE_desktop_Vulkan.md ${{ matrix.config.build_dir }}/linux/x64/output/bin/ | |
| cp layer/vk_layer_settings.txt ${{ matrix.config.build_dir }}/linux/x64/output/bin/ | |
| mv ${{ matrix.config.build_dir }}/linux/x64/output/bin gfxreconstruct-dev | |
| mv ${{ matrix.config.build_dir }}/linux/x64/output/lib*/*.so gfxreconstruct-dev/ | |
| mv ${{ matrix.config.build_dir }}/linux/x64/output/share/vulkan/explicit_layer.d/*.json gfxreconstruct-dev/ | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.config.artifact }} | |
| path: ./gfxreconstruct-dev | |
| windows: | |
| name: ${{ matrix.config.name }} | |
| runs-on: ${{ matrix.config.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - { | |
| name: "Windows MSVC Release", | |
| os: windows-latest, | |
| artifact: "gfxreconstruct-dev-windows-msvc-release", | |
| test_failure_artifact: "gfxreconstruct-dev-test-failure-windows-msvc-release", | |
| type: "release", | |
| build_dir: "build", | |
| cc: "cl", cxx: "cl" | |
| } | |
| - { | |
| name: "Windows MSVC Debug", | |
| os: windows-latest, | |
| artifact: "gfxreconstruct-dev-windows-msvc-debug", | |
| test_failure_artifact: "gfxreconstruct-dev-test-failure-windows-msvc-debug", | |
| type: "debug", | |
| build_dir: "dbuild", | |
| cc: "cl", cxx: "cl" | |
| } | |
| steps: | |
| - name: Require Python 3.10 | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| - name: Install Ply Python Module | |
| run: pip install ply | |
| - name: Run with VsDevCmd | |
| uses: ilammy/msvc-dev-cmd@v1 | |
| - name: Install SDK 26100 | |
| uses: GuillaumeFalourd/setup-windows10-sdk-action@v2 | |
| with: | |
| sdk-version: 26100 | |
| - name: Set WindowsSDKVersion | |
| run: | |
| echo ("WindowsSDKVersion=10.0.26100.0\") >> $env:GITHUB_ENV | |
| - name: Clone repository from merge of PR branch and dev branch | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Check generated code | |
| if: matrix.config.type == 'debug' | |
| run: | | |
| python3 framework/generated/generate_dx12.py # check generated code isn't out of date | |
| git diff --exit-code; if ($LASTEXITCODE -ne 0) { Write-Error "Generated code differs from branch contents"; exit 1 } | |
| - name: Run build script | |
| run: | | |
| python scripts\build.py --skip-check-code-style --config ${{ matrix.config.type }} --parallel 0 --test-apps --cmake-extra "GFXRECON_ENABLE_RELEASE_ASSERTS=ON" | |
| - name: Run test app test cases | |
| id: test_apps | |
| run: | | |
| curl.exe -o vulkan-sdk.zip https://sdk.lunarg.com/sdk/download/1.3.296.0/windows/VulkanRT-1.3.296.0-Components.zip | |
| Expand-Archive vulkan-sdk.zip -DestinationPath $pwd\vulkan-sdk | |
| $env:Path += ";$pwd\vulkan-sdk\VulkanRT-1.3.296.0-Components\x64" | |
| cd ${{matrix.config.build_dir}}\windows\x64\output\test | |
| ./run-tests.ps1 | |
| - name: Upload test failure artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: ${{ failure() && steps.test_apps.conclusion == 'failure' }} | |
| with: | |
| name: ${{ matrix.config.test_failure_artifact }} | |
| path: ${{matrix.config.build_dir}}\windows\x64\output\test | |
| - name: Prepare artifacts | |
| run: | | |
| copy LICENSE.txt ${{ matrix.config.build_dir }}\windows\x64\output\bin\ | |
| copy LICENSE_ThirdParty.txt ${{ matrix.config.build_dir }}\windows\x64\output\bin\ | |
| copy USAGE_desktop_D3D12.md ${{ matrix.config.build_dir }}\windows\x64\output\bin\ | |
| copy USAGE_desktop_Vulkan.md ${{ matrix.config.build_dir }}\windows\x64\output\bin\ | |
| copy layer\vk_layer_settings.txt ${{ matrix.config.build_dir }}\windows\x64\output\bin\ | |
| move ${{ matrix.config.build_dir }}\windows\x64\output\bin gfxreconstruct-dev | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.config.artifact }} | |
| path: .\gfxreconstruct-dev | |
| macOS: | |
| name: ${{ matrix.config.name }} | |
| runs-on: ${{ matrix.config.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - { | |
| name: "macOS Release", | |
| os: macos-latest, | |
| artifact: "gfxreconstruct-dev-macOS-release", | |
| test_failure_artifact: "gfxreconstruct-dev-test-failure-macOS-release", | |
| type: "release", | |
| build_dir: "build" | |
| } | |
| - { | |
| name: "macOS Debug", | |
| os: macos-latest, | |
| artifact: "gfxreconstruct-dev-macOS-debug", | |
| test_failure_artifact: "gfxreconstruct-dev-test-failure-macOS-debug", | |
| type: "debug", | |
| build_dir: "dbuild" | |
| } | |
| steps: | |
| - name: Clone repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Setup sccache | |
| uses: mozilla-actions/sccache-action@v0.0.9 | |
| - name: Cache dependencies | |
| id: cache-deps | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/deps | |
| key: ${{ matrix.config.os }} deps ${{ hashFiles('.github/workflows/scripts/build-dependencies-macos.sh') }} | |
| - name: Build dependencies | |
| if: steps.cache-deps.outputs.cache-hit != 'true' | |
| run: .github/workflows/scripts/build-dependencies-macos.sh | |
| - name: Run build script | |
| run: | | |
| python3 scripts/build.py --skip-check-code-style --config ${{ matrix.config.type }} --cmake-extra "CMAKE_PREFIX_PATH=$HOME/deps" --cmake-extra CMAKE_OSX_DEPLOYMENT_TARGET=13.3 --parallel 0 --test-apps | |
| env: | |
| SCCACHE_GHA_ENABLED: on | |
| SCCACHE_CACHE_MULTIARCH: on | |
| SCCACHE_IDLE_TIMEOUT: 0 | |
| CMAKE_C_COMPILER_LAUNCHER: sccache | |
| CMAKE_CXX_COMPILER_LAUNCHER: sccache | |
| - name: Run test app test cases | |
| id: test_apps | |
| run: | | |
| WORKING_PATH="$(pwd)/${{matrix.config.build_dir}}/darwin/universal/output/test" | |
| cd $WORKING_PATH | |
| curl https://sdk.lunarg.com/sdk/download/1.4.304.0/mac/vulkansdk-macos-1.4.304.0.zip -o ./vulkan-sdk.zip | |
| unzip ./vulkan-sdk.zip -d ./vulkan-sdk | |
| sudo ./vulkan-sdk/InstallVulkan.app/Contents/MacOS/InstallVulkan --root $(pwd)/VulkanSDK/1.3.304.0 --accept-licenses --default-answer --confirm-command install | |
| sudo dscl . -create /Users/test | |
| sudo dscl . append /Groups/staff GroupMembership test | |
| sudo dscl . -create /Users/test UserShell /bin/bash | |
| sudo dscl . -create /Users/test RealName "Test" | |
| sudo dscl . -create /Users/test UniqueID "1001" | |
| sudo dscl . -create /Users/test PrimaryGroupID 80 | |
| sudo dscl . -create /Users/test NFSHomeDirectory /Users/test | |
| sudo mkdir -p /Users/test | |
| sudo chown -R test:staff /Users/test | |
| sudo chmod -R g+w . | |
| sudo su - test -c "cd $WORKING_PATH && VULKAN_LIBRARY_PATH=$(pwd)/VulkanSDK/1.3.304.0/macOS/lib/libvulkan.dylib ./run-tests_macos.sh" | |
| - name: Upload test failure artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: ${{ failure() && steps.test_apps.conclusion == 'failure' }} | |
| with: | |
| name: ${{ matrix.config.test_failure_artifact }} | |
| path: | | |
| ${{matrix.config.build_dir}}/darwin/universal/output/test | |
| !${{matrix.config.build_dir}}/darwin/universal/output/test/vulkan-sdk | |
| !${{matrix.config.build_dir}}/darwin/universal/output/test/vulkan-sdk.zip | |
| !${{matrix.config.build_dir}}/darwin/universal/output/test/VulkanSDK | |
| - name: Prepare artifacts | |
| run: | | |
| cp LICENSE.txt ${{ matrix.config.build_dir }}/darwin/universal/output/bin/ | |
| cp LICENSE_ThirdParty.txt ${{ matrix.config.build_dir }}/darwin/universal/output/bin/ | |
| cp USAGE_desktop_Vulkan.md ${{ matrix.config.build_dir }}/darwin/universal/output/bin/ | |
| cp layer/vk_layer_settings.txt ${{ matrix.config.build_dir }}/darwin/universal/output/bin/ | |
| mv ${{ matrix.config.build_dir }}/darwin/universal/output/bin gfxreconstruct-dev | |
| mv ${{ matrix.config.build_dir }}/darwin/universal/output/lib*/*.dylib gfxreconstruct-dev/ | |
| mv ${{ matrix.config.build_dir }}/darwin/universal/output/share/vulkan/explicit_layer.d/*.json gfxreconstruct-dev/ | |
| # GitHub's artifact uploader doesn't preserve permissions, so zip everything ourselves | |
| # This will result in a zip in a zip, but Finder's unzip will conveniently unzip both at once, so it's not too bad | |
| cd gfxreconstruct-dev | |
| zip -r9 "../${{ matrix.config.artifact }}.zip" * | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.config.artifact }} | |
| path: ${{ matrix.config.artifact }}.zip | |
| android: | |
| name: ${{ matrix.config.name }} | |
| runs-on: ${{ matrix.config.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - { | |
| name: "Android Debug", | |
| os: ubuntu-latest, | |
| type: "debug", | |
| artifact: "gfxreconstruct-dev-android-debug", | |
| test_failure_artifact: "gfxreconstruct-dev-test-failure-android-debug" | |
| } | |
| - { | |
| name: "Android Release", | |
| os: ubuntu-latest, | |
| type: "release", | |
| artifact: "gfxreconstruct-dev-android-release", | |
| test_failure_artifact: "gfxreconstruct-dev-test-failure-android-release" | |
| } | |
| steps: | |
| - name: Clone repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Setup sccache | |
| uses: mozilla-actions/sccache-action@v0.0.9 | |
| - name: Set up Java | |
| uses: "actions/setup-java@v4" | |
| with: | |
| java-version: 17 | |
| distribution: "temurin" | |
| - name: Gradle build | |
| run: | | |
| cd android | |
| if [ "${{ matrix.config.type }}" == "release" ] | |
| then | |
| sh gradlew assembleRelease -Parm64-v8a | |
| else | |
| sh gradlew assembleDebug -Parm64-v8a | |
| fi | |
| env: | |
| SCCACHE_GHA_ENABLED: on | |
| CMAKE_C_COMPILER_LAUNCHER: sccache | |
| CMAKE_CXX_COMPILER_LAUNCHER: sccache | |
| - name: Prepare artifacts | |
| run: | | |
| mkdir gfxreconstruct-dev | |
| mkdir gfxreconstruct-dev/layer | |
| mkdir gfxreconstruct-dev/tools | |
| cp LICENSE.txt gfxreconstruct-dev/ | |
| cp LICENSE_ThirdParty.txt gfxreconstruct-dev/ | |
| cp USAGE_android.md gfxreconstruct-dev/ | |
| cp layer/vk_layer_settings.txt gfxreconstruct-dev/ | |
| if [ "${{ matrix.config.type }}" == "release" ] | |
| then | |
| cp -r android/layer/build/intermediates/cxx/RelWithDebInfo/*/obj/arm64-v8a gfxreconstruct-dev/layer/ | |
| else | |
| cp android/tools/replay/build/outputs/apk/debug/replay-debug.apk gfxreconstruct-dev/tools/ | |
| fi | |
| cp android/scripts/gfxrecon.py gfxreconstruct-dev/tools/ | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.config.artifact }} | |
| path: ./gfxreconstruct-dev |