Skip to content

Update perfetto categories to use VulkanCPUTiming (based on #4) #11

Update perfetto categories to use VulkanCPUTiming (based on #4)

Update perfetto categories to use VulkanCPUTiming (based on #4) #11

Workflow file for this run

# Copyright (c) 2023-2025 Valve Corporation
# Copyright (c) 2023-2025 LunarG, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: ci
on:
push:
pull_request:
branches:
- main
jobs:
# Ensure we can build on an older Ubuntu distro with an older version of CMake.
linux_back_compat:
runs-on: ubuntu-22.04
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
name: "Ubuntu Backcompat"
steps:
- uses: actions/checkout@v6
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.2.*'
- name: Test Minimum CMake Version
uses: lukka/get-cmake@latest
with:
cmakeVersion: 3.22.1
- uses: hendrikmuhs/ccache-action@v1.2
with:
key: linux_back_compat
- run: sudo apt-get -qq update && sudo apt-get install -y libwayland-dev xorg-dev
- run: cmake -S . -B build/ -D UPDATE_DEPS=ON -D CMAKE_BUILD_TYPE=Debug
env:
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_COMPILER_LAUNCHER: ccache
# Linker warnings as errors
LDFLAGS: -Wl,--fatal-warnings
- run: cmake --build build
- run: cmake --install build --prefix /tmp
linux:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.8.3'
- name: Clone repository
uses: actions/checkout@v6
- run: sudo apt-get -qq update && sudo apt-get install -y libwayland-dev xorg-dev
- run: python3 scripts/github_ci_linux.py --config Debug --tests GitHubCI
- run: python3 scripts/generate_source.py --verify external/Vulkan-Headers/registry
windows:
runs-on: windows-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v6
- uses: ilammy/msvc-dev-cmd@v1
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.8.2'
- run: cmake -S . -B build -D UPDATE_DEPS=ON -D BUILD_TESTS=ON -D RUN_ON_GITHUB=ON -D CMAKE_BUILD_TYPE=Debug -G Ninja
- run: cmake --build build
- run: ctest --output-on-failure --test-dir build --timeout 10
- run: cmake --install build --prefix build/install
android:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v6
- uses: lukka/get-cmake@latest
- name: Build
run: |
ANDROID_NDK_HOME=${ANDROID_NDK_LATEST_HOME} scripts/android.py \
--config Release \
--app-abi "arm64-v8a x86_64"
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: layers-${{ github.run_id }}
path: build-android/libs/lib/**/*
if-no-files-found: 'error'
macos:
runs-on: macos-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v6
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: '6.8.2'
- uses: lukka/get-cmake@latest
- name: Configure
run: |
cmake -S . -B build/ \
-D CMAKE_BUILD_TYPE=Debug \
-D UPDATE_DEPS=ON \
-D BUILD_WERROR=ON \
-G "Ninja"
- run: cmake --build build
- run: cmake --install build --prefix build/install
apple-cross-compile:
name: iOS
runs-on: macos-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: '3.10'
- uses: lukka/get-cmake@latest
- name: Generate build files
run: |
cmake -S . -B build \
-D CMAKE_SYSTEM_PROCESSOR=arm64 \
-D CMAKE_SYSTEM_NAME=iOS \
-D CMAKE_OSX_ARCHITECTURES=arm64 \
-D CMAKE_BUILD_TYPE=Debug \
-D UPDATE_DEPS=ON \
-D BUILD_WERROR=ON
env:
LDFLAGS: -Wl,-fatal_warnings
CMAKE_GENERATOR: Ninja
- run: cmake --build build
- run: cmake --install build --prefix /tmp
# Helps verify useful details about the dylib (platform, minos, sdk)
- run: vtool -show-build /tmp/lib/VkLayer_api_dump.framework/VkLayer_api_dump
mingw:
runs-on: windows-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v6
- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: mingw-ccache
- uses: actions/setup-python@v6
with:
python-version: '3.10'
- uses: lukka/get-cmake@latest
- name: GCC Version
run: gcc --version # If this fails MINGW is not setup correctly
- name: Configure
run: cmake -S. -B build -D UPDATE_DEPS=ON -D CMAKE_BUILD_TYPE=Release
env:
LDFLAGS: -fuse-ld=lld # MINGW linking is very slow. Use llvm linker instead.
CMAKE_C_COMPILER_LAUNCHER: ccache
CMAKE_CXX_COMPILER_LAUNCHER: ccache
CMAKE_GENERATOR: Ninja
- run: cmake --build build
- run: cmake --install build --prefix build/install
chromium:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v6
- run: sudo apt-get -qq update && sudo apt-get install -y libwayland-dev xorg-dev
- run: python scripts/gn/gn.py