aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjuan-lunarg <juan@lunarg.com>2023-05-04 14:10:36 -0600
committerJuan Ramos <114601453+juan-lunarg@users.noreply.github.com>2023-05-05 14:12:01 -0600
commite62418aecf23e34b52729abb699dabdb36634ae4 (patch)
tree75cb5ad98b331d0bee33ea7ee5b186a42fdb0c73
parente99e3c640ab7940263a747d2ca71e0c1704da7e6 (diff)
downloadusermoji-e62418aecf23e34b52729abb699dabdb36634ae4.tar.xz
ci: Use UPDATE_DEPS and ccache
-rw-r--r--.github/workflows/tools.yml (renamed from .github/workflows/build.yml)94
1 files changed, 46 insertions, 48 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/tools.yml
index 67f2d62a..2cb2ff75 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/tools.yml
@@ -1,6 +1,6 @@
-# Copyright (c) 2021 Valve Corporation
-# Copyright (c) 2021 LunarG, Inc.
-
+# Copyright (c) 2021-2023 Valve Corporation
+# Copyright (c) 2021-2023 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
@@ -12,10 +12,8 @@
# 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.
-#
-# Author: Jeremy Kniager <jeremyk@lunarg.com>
-name: CI Build
+name: tools
on:
push:
@@ -23,6 +21,13 @@ on:
branches:
- main
+# https://docs.github.com/en/actions/using-jobs/using-concurrency
+concurrency:
+ # github.head_ref is only defined on pull_request
+ # Fallback to the run ID, which is guaranteed to be both unique and defined for the run.
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
jobs:
linux:
runs-on: ${{matrix.os}}
@@ -49,22 +54,27 @@ jobs:
python-version: '3.7'
- run: |
sudo apt-get -qq update
- sudo apt install libxkbcommon-dev libwayland-dev libxrandr-dev libx11-xcb-dev wayland-protocols
-
- - name: Fetch and install headers
- run: python scripts/update_deps.py --dir external
-
- - name: Generate build files
- run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${{matrix.config}} -DCUBE_WSI_SELECTION=${{matrix.cube_wsi}} -Cexternal/helper.cmake
+ sudo apt install libwayland-dev xorg-dev wayland-protocols
+ - uses: lukka/get-cmake@latest
+ with:
+ cmakeVersion: 3.17.2
+ - name: Setup ccache
+ uses: hendrikmuhs/ccache-action@v1.2
+ with:
+ key: ${{ runner.os }}-${{ matrix.config }}-${{ matrix.cc }}-${{matrix.cube_wsi}}
+ - name: Configure
+ run: cmake -S. -B build -DCMAKE_BUILD_TYPE=${{matrix.config}} -DCUBE_WSI_SELECTION=${{matrix.cube_wsi}} -D UPDATE_DEPS=ON -G "Ninja"
env:
CC: ${{matrix.cc}}
CXX: ${{matrix.cxx}}
+ CMAKE_CXX_COMPILER_LAUNCHER: ccache
+ CMAKE_C_COMPILER_LAUNCHER: ccache
- - name: Build the tools
- run: make -C build
+ - name: Build
+ run: cmake --build build
- name: Verify generated source files
- run: python scripts/generate_source.py --verify external/Vulkan-Headers/build/install/share/vulkan/registry
+ run: python scripts/generate_source.py --verify external/${{ matrix.config }}/Vulkan-Headers/build/install/share/vulkan/registry
windows:
runs-on: ${{matrix.os}}
@@ -80,58 +90,46 @@ jobs:
- uses: actions/setup-python@v4
with:
python-version: '3.7'
+ - uses: lukka/get-cmake@latest
+ - uses: ilammy/msvc-dev-cmd@v1
+ with:
+ arch: ${{ matrix.arch }}
- - name: Fetch and install headers
- run: python scripts/update_deps.py --dir external
-
- - name: Generate build files
- run: cmake -S. -Bbuild -A${{matrix.arch}} "-Cexternal/helper.cmake"
+ - name: Configure
+ run: cmake -S. -B build -DCMAKE_BUILD_TYPE=${{matrix.config}} -D UPDATE_DEPS=ON -G "Ninja"
- - name: Build the tools
- run: cmake --build ./build --config ${{matrix.config}}
+ - name: Build
+ run: cmake --build ./build
- name: Verify generated source files
- run: python scripts/generate_source.py --verify external/Vulkan-Headers/build/install/share/vulkan/registry
+ run: python scripts/generate_source.py --verify external/${{matrix.config}}/Vulkan-Headers/build/install/share/vulkan/registry
mac:
runs-on: macos-latest
-
- strategy:
- matrix:
- config: [ Debug, Release ]
-
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.7'
- uses: lukka/get-cmake@latest
- with:
- cmakeVersion: 3.17.2
- - name: Cache dependencies
- id: cache-deps
- uses: actions/cache@v3
- env:
- cache-name: cache-macos-latest
- with:
- path: external/
- key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.config }}-${{ hashfiles('scripts/known_good.json') }}
- - name: Fetch/Update dependencies
- run: python scripts/update_deps.py --dir external --skip-existing-install
+ - name: Setup ccache
+ uses: hendrikmuhs/ccache-action@v1.2
+ with:
+ key: macos
- - name: Generate build files
- run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${{matrix.config}} -Cexternal/helper.cmake -G "Ninja"
+ - name: Configure
+ run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -D UPDATE_DEPS=ON -G "Ninja"
env:
- # Specify the minimum version of macOS on which the target binaries are to be deployed.
- # https://cmake.org/cmake/help/latest/envvar/MACOSX_DEPLOYMENT_TARGET.html
- MACOSX_DEPLOYMENT_TARGET: 10.12
+ MACOSX_DEPLOYMENT_TARGET: 10.15
+ CMAKE_CXX_COMPILER_LAUNCHER: ccache
+ CMAKE_C_COMPILER_LAUNCHER: ccache
- - name: Build the tools
+ - name: Build
run: cmake --build build
- name: Verify generated source files
- run: python scripts/generate_source.py --verify external/Vulkan-Headers/build/install/share/vulkan/registry
+ run: python scripts/generate_source.py --verify external/Release/Vulkan-Headers/build/install/share/vulkan/registry
gn:
runs-on: ubuntu-20.04