15db71995Sopenharmony_ci# Copyright (c) 2021-2023 Valve Corporation 25db71995Sopenharmony_ci# Copyright (c) 2021-2023 LunarG, Inc. 35db71995Sopenharmony_ci 45db71995Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 55db71995Sopenharmony_ci# you may not use this file except in compliance with the License. 65db71995Sopenharmony_ci# You may obtain a copy of the License at 75db71995Sopenharmony_ci# 85db71995Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 95db71995Sopenharmony_ci# 105db71995Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 115db71995Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 125db71995Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135db71995Sopenharmony_ci# See the License for the specific language governing permissions and 145db71995Sopenharmony_ci# limitations under the License. 155db71995Sopenharmony_ci# 165db71995Sopenharmony_ci# Author: Lenny Komow <lenny@lunarg.com> 175db71995Sopenharmony_ci# Author: Charles Giessen <charles@lunarg.com> 185db71995Sopenharmony_ci 195db71995Sopenharmony_ciname: CI Build 205db71995Sopenharmony_ci 215db71995Sopenharmony_ci# https://docs.github.com/en/actions/using-jobs/using-concurrency 225db71995Sopenharmony_ciconcurrency: 235db71995Sopenharmony_ci # github.head_ref is only defined on pull_request 245db71995Sopenharmony_ci # Fallback to the run ID, which is guaranteed to be both unique and defined for the run. 255db71995Sopenharmony_ci group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} 265db71995Sopenharmony_ci cancel-in-progress: true 275db71995Sopenharmony_ci 285db71995Sopenharmony_cion: 295db71995Sopenharmony_ci push: 305db71995Sopenharmony_ci pull_request: 315db71995Sopenharmony_ci branches: 325db71995Sopenharmony_ci - main 335db71995Sopenharmony_ci 345db71995Sopenharmony_cipermissions: read-all 355db71995Sopenharmony_ci 365db71995Sopenharmony_cijobs: 375db71995Sopenharmony_ci linux: 385db71995Sopenharmony_ci runs-on: ${{matrix.os}} 395db71995Sopenharmony_ci strategy: 405db71995Sopenharmony_ci matrix: 415db71995Sopenharmony_ci compiler: [ {cc: gcc, cxx: g++}, {cc: clang, cxx: clang++} ] 425db71995Sopenharmony_ci config: [ Debug, Release ] 435db71995Sopenharmony_ci os: [ ubuntu-20.04, ubuntu-22.04 ] 445db71995Sopenharmony_ci steps: 455db71995Sopenharmony_ci - uses: actions/checkout@v4 465db71995Sopenharmony_ci - uses: actions/setup-python@v5 475db71995Sopenharmony_ci with: 485db71995Sopenharmony_ci python-version: '3.7' 495db71995Sopenharmony_ci - name: Test CMake min 505db71995Sopenharmony_ci # NOTE: The main users who benefit from an older CMake version 515db71995Sopenharmony_ci # are linux users stuck on older LTS releases. It's idiomatic best 525db71995Sopenharmony_ci # practice to try and support them so they don't have to install 535db71995Sopenharmony_ci # the CMake tarball. Ideally the minimum we use matches what the default 545db71995Sopenharmony_ci # package provided by Ubuntu via APT. 555db71995Sopenharmony_ci if: ${{ matrix.os == 'ubuntu-20.04' }} 565db71995Sopenharmony_ci uses: lukka/get-cmake@latest 575db71995Sopenharmony_ci with: 585db71995Sopenharmony_ci cmakeVersion: 3.17.2 595db71995Sopenharmony_ci - run: sudo apt update 605db71995Sopenharmony_ci - run: sudo apt install --yes --no-install-recommends libwayland-dev libxrandr-dev 615db71995Sopenharmony_ci - run: | 625db71995Sopenharmony_ci cmake -S. -B build \ 635db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=${{ matrix.config }} \ 645db71995Sopenharmony_ci -D BUILD_TESTS=ON \ 655db71995Sopenharmony_ci -D UPDATE_DEPS=ON \ 665db71995Sopenharmony_ci -D LOADER_ENABLE_ADDRESS_SANITIZER=ON \ 675db71995Sopenharmony_ci -D BUILD_WERROR=ON \ 685db71995Sopenharmony_ci -D CMAKE_CXX_COMPILER=${{ matrix.compiler.cxx }} \ 695db71995Sopenharmony_ci -D CMAKE_C_COMPILER=${{ matrix.compiler.cc }} 705db71995Sopenharmony_ci - run: cmake --build build 715db71995Sopenharmony_ci - run: ctest --output-on-failure --test-dir build/ 725db71995Sopenharmony_ci - run: cmake --install build --prefix /tmp 735db71995Sopenharmony_ci 745db71995Sopenharmony_ci codegen: 755db71995Sopenharmony_ci runs-on: ubuntu-latest 765db71995Sopenharmony_ci steps: 775db71995Sopenharmony_ci - uses: actions/checkout@v4 785db71995Sopenharmony_ci - run: scripts/update_deps.py --dir ext --no-build 795db71995Sopenharmony_ci - run: scripts/generate_source.py --verify ext/Vulkan-Headers/registry/ 805db71995Sopenharmony_ci 815db71995Sopenharmony_ci linux-no-asm: 825db71995Sopenharmony_ci runs-on: ubuntu-22.04 835db71995Sopenharmony_ci steps: 845db71995Sopenharmony_ci - uses: actions/checkout@v4 855db71995Sopenharmony_ci - run: sudo apt update 865db71995Sopenharmony_ci - run: sudo apt install --yes --no-install-recommends libwayland-dev libxrandr-dev 875db71995Sopenharmony_ci - run: | 885db71995Sopenharmony_ci cmake -S. -B build \ 895db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=Release \ 905db71995Sopenharmony_ci -D BUILD_TESTS=ON \ 915db71995Sopenharmony_ci -D UPDATE_DEPS=ON \ 925db71995Sopenharmony_ci -D BUILD_WERROR=ON \ 935db71995Sopenharmony_ci -D USE_GAS=OFF \ 945db71995Sopenharmony_ci -D CMAKE_C_COMPILER=clang \ 955db71995Sopenharmony_ci -D CMAKE_CXX_COMPILER=clang++ 965db71995Sopenharmony_ci - run: cmake --build build 975db71995Sopenharmony_ci - run: cmake --install build --prefix /tmp 985db71995Sopenharmony_ci - run: ctest --output-on-failure -E UnknownFunction --test-dir build/ 995db71995Sopenharmony_ci 1005db71995Sopenharmony_ci linux-32: 1015db71995Sopenharmony_ci runs-on: ubuntu-22.04 1025db71995Sopenharmony_ci strategy: 1035db71995Sopenharmony_ci matrix: 1045db71995Sopenharmony_ci config: [ Debug, Release ] 1055db71995Sopenharmony_ci steps: 1065db71995Sopenharmony_ci - uses: actions/checkout@v4 1075db71995Sopenharmony_ci - uses: actions/setup-python@v5 1085db71995Sopenharmony_ci with: 1095db71995Sopenharmony_ci python-version: '3.7' 1105db71995Sopenharmony_ci - uses: lukka/get-cmake@latest 1115db71995Sopenharmony_ci with: 1125db71995Sopenharmony_ci cmakeVersion: 3.17.2 1135db71995Sopenharmony_ci - name: Enable 32 bit 1145db71995Sopenharmony_ci run: sudo dpkg --add-architecture i386 1155db71995Sopenharmony_ci - run: sudo apt-get update 1165db71995Sopenharmony_ci - run: | 1175db71995Sopenharmony_ci sudo apt install --yes --no-install-recommends \ 1185db71995Sopenharmony_ci gcc-multilib g++-multilib libc6:i386 libc6-dev-i386 libgcc-s1:i386 \ 1195db71995Sopenharmony_ci libwayland-dev:i386 libxrandr-dev:i386 1205db71995Sopenharmony_ci - run: | 1215db71995Sopenharmony_ci cmake -S. -B build \ 1225db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=${{matrix.config}} \ 1235db71995Sopenharmony_ci -D BUILD_TESTS=ON \ 1245db71995Sopenharmony_ci -D UPDATE_DEPS=ON \ 1255db71995Sopenharmony_ci -D BUILD_WERROR=ON \ 1265db71995Sopenharmony_ci -D SYSCONFDIR=/etc/not_vulkan \ 1275db71995Sopenharmony_ci -G Ninja 1285db71995Sopenharmony_ci env: 1295db71995Sopenharmony_ci CFLAGS: -m32 1305db71995Sopenharmony_ci CXXFLAGS: -m32 1315db71995Sopenharmony_ci LDFLAGS: -m32 1325db71995Sopenharmony_ci ASFLAGS: --32 1335db71995Sopenharmony_ci - run: cmake --build build 1345db71995Sopenharmony_ci - run: cmake --install build --prefix /tmp 1355db71995Sopenharmony_ci - run: ctest --output-on-failure 1365db71995Sopenharmony_ci working-directory: build/ 1375db71995Sopenharmony_ci 1385db71995Sopenharmony_ci linux-32-no-asm: 1395db71995Sopenharmony_ci runs-on: ubuntu-22.04 1405db71995Sopenharmony_ci steps: 1415db71995Sopenharmony_ci - uses: actions/checkout@v4 1425db71995Sopenharmony_ci - uses: actions/setup-python@v5 1435db71995Sopenharmony_ci with: 1445db71995Sopenharmony_ci python-version: '3.7' 1455db71995Sopenharmony_ci - uses: lukka/get-cmake@latest 1465db71995Sopenharmony_ci with: 1475db71995Sopenharmony_ci cmakeVersion: 3.17.2 1485db71995Sopenharmony_ci - name: Enable 32 bit 1495db71995Sopenharmony_ci run: sudo dpkg --add-architecture i386 1505db71995Sopenharmony_ci - run: sudo apt-get update 1515db71995Sopenharmony_ci - run: | 1525db71995Sopenharmony_ci sudo apt install --yes --no-install-recommends \ 1535db71995Sopenharmony_ci gcc-multilib g++-multilib libc6:i386 libc6-dev-i386 libgcc-s1:i386 \ 1545db71995Sopenharmony_ci libwayland-dev:i386 libxrandr-dev:i386 1555db71995Sopenharmony_ci - run: | 1565db71995Sopenharmony_ci cmake -S. -B build \ 1575db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=Release \ 1585db71995Sopenharmony_ci -D BUILD_TESTS=ON \ 1595db71995Sopenharmony_ci -D UPDATE_DEPS=ON \ 1605db71995Sopenharmony_ci -D BUILD_WERROR=ON \ 1615db71995Sopenharmony_ci -D USE_GAS=OFF \ 1625db71995Sopenharmony_ci -G Ninja 1635db71995Sopenharmony_ci env: 1645db71995Sopenharmony_ci CFLAGS: -m32 1655db71995Sopenharmony_ci CXXFLAGS: -m32 1665db71995Sopenharmony_ci LDFLAGS: -m32 1675db71995Sopenharmony_ci ASFLAGS: --32 1685db71995Sopenharmony_ci - run: cmake --build build 1695db71995Sopenharmony_ci - run: ctest --output-on-failure -E UnknownFunction 1705db71995Sopenharmony_ci working-directory: build/ 1715db71995Sopenharmony_ci 1725db71995Sopenharmony_ci windows_vs: 1735db71995Sopenharmony_ci runs-on: windows-latest 1745db71995Sopenharmony_ci strategy: 1755db71995Sopenharmony_ci matrix: 1765db71995Sopenharmony_ci arch: [ Win32, x64 ] 1775db71995Sopenharmony_ci config: [ Debug, Release ] 1785db71995Sopenharmony_ci steps: 1795db71995Sopenharmony_ci - uses: actions/checkout@v4 1805db71995Sopenharmony_ci - run: | 1815db71995Sopenharmony_ci cmake -S. -B build ` 1825db71995Sopenharmony_ci -D BUILD_TESTS=ON ` 1835db71995Sopenharmony_ci -D UPDATE_DEPS=ON ` 1845db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=${{matrix.config}} ` 1855db71995Sopenharmony_ci -A ${{ matrix.arch }} ` 1865db71995Sopenharmony_ci -D BUILD_WERROR=ON 1875db71995Sopenharmony_ci - run: cmake --build build/ --config ${{matrix.config}} 1885db71995Sopenharmony_ci - run: cmake --install build --prefix build/install --config ${{matrix.config}} 1895db71995Sopenharmony_ci - run: ctest --output-on-failure -C ${{matrix.config}} --test-dir build/ 1905db71995Sopenharmony_ci 1915db71995Sopenharmony_ci windows_vs-no-asm: 1925db71995Sopenharmony_ci runs-on: windows-latest 1935db71995Sopenharmony_ci strategy: 1945db71995Sopenharmony_ci matrix: 1955db71995Sopenharmony_ci arch: [ Win32, x64 ] 1965db71995Sopenharmony_ci steps: 1975db71995Sopenharmony_ci - uses: actions/checkout@v4 1985db71995Sopenharmony_ci - run: | 1995db71995Sopenharmony_ci cmake -S. -B build ` 2005db71995Sopenharmony_ci -D BUILD_TESTS=ON ` 2015db71995Sopenharmony_ci -D UPDATE_DEPS=ON ` 2025db71995Sopenharmony_ci -D USE_MASM=OFF ` 2035db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=Release ` 2045db71995Sopenharmony_ci -A ${{ matrix.arch }} ` 2055db71995Sopenharmony_ci -D BUILD_WERROR=ON 2065db71995Sopenharmony_ci - run: cmake --build build/ --config Release 2075db71995Sopenharmony_ci - run: ctest --output-on-failure -C Release -E UnknownFunction --test-dir build/ 2085db71995Sopenharmony_ci 2095db71995Sopenharmony_ci # Test both clang and clang-cl (Chromium project uses clang-cl) 2105db71995Sopenharmony_ci windows_clang: 2115db71995Sopenharmony_ci runs-on: windows-2022 2125db71995Sopenharmony_ci strategy: 2135db71995Sopenharmony_ci matrix: 2145db71995Sopenharmony_ci compiler: [ clang, clang-cl ] 2155db71995Sopenharmony_ci config: [ Debug, Release ] 2165db71995Sopenharmony_ci steps: 2175db71995Sopenharmony_ci - uses: actions/checkout@v4 2185db71995Sopenharmony_ci - uses: ilammy/msvc-dev-cmd@v1 2195db71995Sopenharmony_ci - run: | 2205db71995Sopenharmony_ci cmake -S. -B build ` 2215db71995Sopenharmony_ci -D CMAKE_C_COMPILER=${{matrix.compiler}} ` 2225db71995Sopenharmony_ci -D CMAKE_CXX_COMPILER=${{matrix.compiler}} ` 2235db71995Sopenharmony_ci -D UPDATE_DEPS=ON ` 2245db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=${{matrix.config}} ` 2255db71995Sopenharmony_ci -D BUILD_WERROR=ON ` 2265db71995Sopenharmony_ci -D BUILD_TESTS=ON ` 2275db71995Sopenharmony_ci -G Ninja 2285db71995Sopenharmony_ci - run: cmake --build build/ 2295db71995Sopenharmony_ci - run: ctest --output-on-failure --test-dir build/ 2305db71995Sopenharmony_ci - run: cmake --install build --prefix build/install 2315db71995Sopenharmony_ci 2325db71995Sopenharmony_ci mac: 2335db71995Sopenharmony_ci runs-on: macos-11 2345db71995Sopenharmony_ci strategy: 2355db71995Sopenharmony_ci matrix: 2365db71995Sopenharmony_ci config: [ Debug, Release ] 2375db71995Sopenharmony_ci static_build: [ APPLE_STATIC_LOADER=ON, APPLE_STATIC_LOADER=OFF ] 2385db71995Sopenharmony_ci steps: 2395db71995Sopenharmony_ci - uses: actions/checkout@v4 2405db71995Sopenharmony_ci - uses: actions/setup-python@v5 2415db71995Sopenharmony_ci with: 2425db71995Sopenharmony_ci python-version: '3.7' 2435db71995Sopenharmony_ci - uses: lukka/get-cmake@latest 2445db71995Sopenharmony_ci - run: | 2455db71995Sopenharmony_ci cmake -S. -B build \ 2465db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=${{matrix.config}} \ 2475db71995Sopenharmony_ci -D ${{matrix.static_build}} \ 2485db71995Sopenharmony_ci -D BUILD_TESTS=ON \ 2495db71995Sopenharmony_ci -D UPDATE_DEPS=ON \ 2505db71995Sopenharmony_ci -D BUILD_WERROR=ON \ 2515db71995Sopenharmony_ci -D LOADER_ENABLE_ADDRESS_SANITIZER=ON \ 2525db71995Sopenharmony_ci -G Ninja 2535db71995Sopenharmony_ci env: 2545db71995Sopenharmony_ci # Prevents regression of KhronosGroup/Vulkan-Loader/issues/1332 2555db71995Sopenharmony_ci LDFLAGS: -Wl,-fatal_warnings 2565db71995Sopenharmony_ci - run: cmake --build build 2575db71995Sopenharmony_ci - run: cmake --install build --prefix /tmp 2585db71995Sopenharmony_ci - run: ctest --output-on-failure --test-dir build/ 2595db71995Sopenharmony_ci 2605db71995Sopenharmony_ci apple-cross-compile: 2615db71995Sopenharmony_ci name: ${{ matrix.CMAKE_SYSTEM_NAME }} 2625db71995Sopenharmony_ci runs-on: macos-12 2635db71995Sopenharmony_ci strategy: 2645db71995Sopenharmony_ci matrix: 2655db71995Sopenharmony_ci CMAKE_SYSTEM_NAME: [ iOS, tvOS ] 2665db71995Sopenharmony_ci steps: 2675db71995Sopenharmony_ci - uses: actions/checkout@v4 2685db71995Sopenharmony_ci - uses: actions/setup-python@v5 2695db71995Sopenharmony_ci with: 2705db71995Sopenharmony_ci python-version: '3.7' 2715db71995Sopenharmony_ci - uses: lukka/get-cmake@latest 2725db71995Sopenharmony_ci - run: | 2735db71995Sopenharmony_ci cmake -S . -B build \ 2745db71995Sopenharmony_ci -D CMAKE_SYSTEM_NAME=${{ matrix.CMAKE_SYSTEM_NAME }} \ 2755db71995Sopenharmony_ci "-D CMAKE_OSX_ARCHITECTURES=arm64;x86_64" \ 2765db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=Debug \ 2775db71995Sopenharmony_ci -D UPDATE_DEPS=ON \ 2785db71995Sopenharmony_ci -D BUILD_WERROR=ON \ 2795db71995Sopenharmony_ci -G Ninja 2805db71995Sopenharmony_ci env: 2815db71995Sopenharmony_ci LDFLAGS: -Wl,-fatal_warnings 2825db71995Sopenharmony_ci - run: cmake --build build 2835db71995Sopenharmony_ci - run: cmake --install build --prefix /tmp 2845db71995Sopenharmony_ci - name: Verify Universal Binary 2855db71995Sopenharmony_ci run: | 2865db71995Sopenharmony_ci vtool -show-build /tmp/lib/libvulkan.dylib | grep 'architecture x86_64' 2875db71995Sopenharmony_ci vtool -show-build /tmp/lib/libvulkan.dylib | grep 'architecture arm64' 2885db71995Sopenharmony_ci 2895db71995Sopenharmony_ci # Building a universal binary disables assembly automatically 2905db71995Sopenharmony_ci # Furthermore the Vulkan SDK ships universal binaries 2915db71995Sopenharmony_ci mac-univeral: 2925db71995Sopenharmony_ci name: "Universal Binary Testing (STATIC ${{ matrix.static }}) w/ ${{ matrix.generator }}" 2935db71995Sopenharmony_ci runs-on: macos-latest 2945db71995Sopenharmony_ci strategy: 2955db71995Sopenharmony_ci matrix: 2965db71995Sopenharmony_ci static: [ 'ON', 'OFF' ] 2975db71995Sopenharmony_ci generator: [ Ninja, Xcode ] 2985db71995Sopenharmony_ci steps: 2995db71995Sopenharmony_ci - uses: actions/checkout@v4 3005db71995Sopenharmony_ci - uses: actions/setup-python@v5 3015db71995Sopenharmony_ci with: 3025db71995Sopenharmony_ci python-version: '3.7' 3035db71995Sopenharmony_ci - uses: lukka/get-cmake@latest 3045db71995Sopenharmony_ci - run: | 3055db71995Sopenharmony_ci cmake -S. -B build \ 3065db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=Release \ 3075db71995Sopenharmony_ci -D APPLE_STATIC_LOADER=${{matrix.static}} \ 3085db71995Sopenharmony_ci "-D CMAKE_OSX_ARCHITECTURES=arm64;x86_64" \ 3095db71995Sopenharmony_ci -D BUILD_TESTS=ON \ 3105db71995Sopenharmony_ci -D UPDATE_DEPS=ON \ 3115db71995Sopenharmony_ci -D BUILD_WERROR=ON \ 3125db71995Sopenharmony_ci -G ${{ matrix.generator }} 3135db71995Sopenharmony_ci env: 3145db71995Sopenharmony_ci LDFLAGS: -Wl,-fatal_warnings 3155db71995Sopenharmony_ci - run: cmake --build build --config Release 3165db71995Sopenharmony_ci - run: ctest --output-on-failure --build-config Release -E UnknownFunction --test-dir build/ 3175db71995Sopenharmony_ci - run: cmake --install build --config Release --prefix /tmp 3185db71995Sopenharmony_ci - name: Verify Universal Binary 3195db71995Sopenharmony_ci if: ${{ matrix.static == 'OFF' }} 3205db71995Sopenharmony_ci run: | 3215db71995Sopenharmony_ci vtool -show-build /tmp/lib/libvulkan.dylib | grep 'architecture x86_64' 3225db71995Sopenharmony_ci vtool -show-build /tmp/lib/libvulkan.dylib | grep 'architecture arm64' 3235db71995Sopenharmony_ci 3245db71995Sopenharmony_ci chromium: 3255db71995Sopenharmony_ci runs-on: ubuntu-latest 3265db71995Sopenharmony_ci steps: 3275db71995Sopenharmony_ci - uses: actions/checkout@v4 3285db71995Sopenharmony_ci - run: scripts/gn/gn.py 3295db71995Sopenharmony_ci 3305db71995Sopenharmony_ci mingw: 3315db71995Sopenharmony_ci runs-on: windows-2022 3325db71995Sopenharmony_ci defaults: 3335db71995Sopenharmony_ci run: 3345db71995Sopenharmony_ci shell: bash 3355db71995Sopenharmony_ci steps: 3365db71995Sopenharmony_ci - uses: actions/checkout@v4 3375db71995Sopenharmony_ci - uses: actions/setup-python@v5 3385db71995Sopenharmony_ci with: 3395db71995Sopenharmony_ci python-version: '3.8' 3405db71995Sopenharmony_ci - uses: lukka/get-cmake@latest 3415db71995Sopenharmony_ci - name: Setup uasm 3425db71995Sopenharmony_ci run: | 3435db71995Sopenharmony_ci C:/msys64/usr/bin/pacman -Sy --noconfirm --needed mingw-w64-x86_64-uasm 3445db71995Sopenharmony_ci printf '%s\n' 'C:/msys64/mingw64/bin' >> $GITHUB_PATH 3455db71995Sopenharmony_ci - name: UASM Check 3465db71995Sopenharmony_ci run: uasm -? 3475db71995Sopenharmony_ci - run: | 3485db71995Sopenharmony_ci cmake -S. -B build \ 3495db71995Sopenharmony_ci -D UPDATE_DEPS=ON \ 3505db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=Release \ 3515db71995Sopenharmony_ci -D BUILD_WERROR=ON \ 3525db71995Sopenharmony_ci -G Ninja 3535db71995Sopenharmony_ci - run: cmake --build build 3545db71995Sopenharmony_ci - run: cmake --install build --prefix /tmp 3555db71995Sopenharmony_ci 3565db71995Sopenharmony_ci mingw-no-asm: 3575db71995Sopenharmony_ci runs-on: windows-2022 3585db71995Sopenharmony_ci defaults: 3595db71995Sopenharmony_ci run: 3605db71995Sopenharmony_ci shell: bash 3615db71995Sopenharmony_ci steps: 3625db71995Sopenharmony_ci - uses: actions/checkout@v4 3635db71995Sopenharmony_ci - uses: actions/setup-python@v5 3645db71995Sopenharmony_ci with: 3655db71995Sopenharmony_ci python-version: '3.8' 3665db71995Sopenharmony_ci - uses: lukka/get-cmake@latest 3675db71995Sopenharmony_ci # Make sure this doesn't fail even without explicitly setting '-D USE_MASM=OFF' and without uasm 3685db71995Sopenharmony_ci - run: | 3695db71995Sopenharmony_ci cmake -S. -B build \ 3705db71995Sopenharmony_ci -D UPDATE_DEPS=ON \ 3715db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=Release \ 3725db71995Sopenharmony_ci -D BUILD_WERROR=ON \ 3735db71995Sopenharmony_ci -G Ninja 3745db71995Sopenharmony_ci - run: cmake --build build 3755db71995Sopenharmony_ci - run: cmake --install build --prefix /tmp 3765db71995Sopenharmony_ci 3775db71995Sopenharmony_ci mingw-no-asm-explicit: 3785db71995Sopenharmony_ci runs-on: windows-2022 3795db71995Sopenharmony_ci defaults: 3805db71995Sopenharmony_ci run: 3815db71995Sopenharmony_ci shell: bash 3825db71995Sopenharmony_ci steps: 3835db71995Sopenharmony_ci - uses: actions/checkout@v4 3845db71995Sopenharmony_ci - uses: lukka/get-cmake@latest 3855db71995Sopenharmony_ci - run: | 3865db71995Sopenharmony_ci cmake -S. -B build \ 3875db71995Sopenharmony_ci -D UPDATE_DEPS=ON \ 3885db71995Sopenharmony_ci -D CMAKE_BUILD_TYPE=Release \ 3895db71995Sopenharmony_ci -D BUILD_WERROR=ON \ 3905db71995Sopenharmony_ci -D USE_MASM=OFF \ 3915db71995Sopenharmony_ci -G Ninja 3925db71995Sopenharmony_ci - run: cmake --build build 3935db71995Sopenharmony_ci - run: cmake --install build --prefix /tmp 394