Skip to content

[pre-commit.ci] pre-commit autoupdate #300

[pre-commit.ci] pre-commit autoupdate

[pre-commit.ci] pre-commit autoupdate #300

Workflow file for this run

---
name: Windows
on:
push:
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs:
msys2:
runs-on: windows-latest
name: ${{ matrix.sys }}
strategy:
fail-fast: false
matrix:
# https://www.msys2.org/docs/environments/
# TODO Try to add msys
sys: [ ucrt64 , clang64, clang32, mingw64, mingw32 ]
defaults:
run:
shell: msys2 {0}
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: ⬇️ Setup CMake
uses: lukka/get-cmake@latest
with:
cmakeVersion: ^3
ninjaVersion: ^1.11.1
- name: 📂 Load .env file
if: hashFiles('.github/workflows/.env') != ''
uses: xom9ikk/dotenv@v2
with:
path: .github/workflows
- name: ✨ Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.sys}}
path-type: minimal
release: true
update: true
pacboy: >-
gcc:p
cmake:p
- name: ⚙️ run-cmake (configure)
uses: cmake-tools/run-cmake@v0-alpha
id: 'configure'
with:
mode: configure
generator: 'Ninja'
source_dir: ${{ env.CMAKE_SOURCE_PREFIX }}
install_prefix: ${{ env.CMAKE_INSTALL_PREFIX }}
binary_dir: ${{ env.CMAKE_BINARY_PREFIX }}
variables: |
CMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }}
- name: 🛠️ run-cmake (build)
uses: cmake-tools/run-cmake@v0-alpha
id: build
with:
mode: build
config: ${{ env.CMAKE_BUILD_TYPE }}
- name: 🧪 Test
run: ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure
- name: 🎉 Install
run: cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }}
msvc2019:
runs-on: windows-2019
name: msvc2019 ${{ matrix.architecture }}
strategy:
fail-fast: false
matrix:
architecture: [ win32, x64 ]
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: ⬇️ Setup CMake
uses: lukka/get-cmake@latest
with:
cmakeVersion: ^3
ninjaVersion: ^1.11.1
- name: 📂 Load .env file
if: hashFiles('.github/workflows/.env') != ''
uses: xom9ikk/dotenv@v2
with:
path: .github/workflows
- name: ✨ Setup MSVC
uses: ilammy/msvc-dev-cmd@v1.13.0
with:
arch: ${{ matrix.architecture }}
- name: ⚙️ run-cmake (configure)
uses: cmake-tools/run-cmake@v0-alpha
id: 'configure'
with:
mode: configure
generator: 'Visual Studio 16 2019'
source_dir: ${{ env.CMAKE_SOURCE_PREFIX }}
install_prefix: ${{ env.CMAKE_INSTALL_PREFIX }}
binary_dir: ${{ env.CMAKE_BINARY_PREFIX }}
platform: ${{ matrix.architecture }}
- name: 🛠️ run-cmake (build)
uses: cmake-tools/run-cmake@v0-alpha
id: build
with:
mode: build
config: ${{ env.CMAKE_BUILD_TYPE }}
- name: 🧪 Test
run: ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure
- name: 🎉 Install
run: cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }}
msvc2022:
runs-on: windows-2022
name: msvc2022 ${{ matrix.architecture }}
strategy:
fail-fast: false
matrix:
architecture: [ win32, x64 ]
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: ⬇️ Setup CMake
uses: lukka/get-cmake@latest
with:
cmakeVersion: ^3
ninjaVersion: ^1.11.1
- name: 📂 Load .env file
if: hashFiles('.github/workflows/.env') != ''
uses: xom9ikk/dotenv@v2
with:
path: .github/workflows
- name: ✨ Setup MSVC
uses: ilammy/msvc-dev-cmd@v1.13.0
with:
arch: ${{ matrix.architecture }}
- name: ⚙️ run-cmake (configure)
uses: cmake-tools/run-cmake@v0-alpha
id: 'configure'
with:
mode: configure
generator: 'Visual Studio 17 2022'
source_dir: ${{ env.CMAKE_SOURCE_PREFIX }}
install_prefix: ${{ env.CMAKE_INSTALL_PREFIX }}
binary_dir: ${{ env.CMAKE_BINARY_PREFIX }}
platform: ${{ matrix.architecture }}
- name: 🛠️ run-cmake (build)
uses: cmake-tools/run-cmake@v0-alpha
id: build
with:
mode: build
config: ${{ env.CMAKE_BUILD_TYPE }}
- name: 🧪 Test
run: ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure
- name: 🎉 Install
run: cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }}
clang:
runs-on: windows-2019
name: windows-2019 clang-${{ matrix.version }}
strategy:
fail-fast: false
matrix:
version: [ 11.1.0, 12.0.1, 13.0.1, 14.0.6, 15.0.2 ]
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: ⬇️ Setup CMake
uses: lukka/get-cmake@latest
with:
cmakeVersion: ^3
ninjaVersion: ^1.11.1
- name: 📂 Load .env file
if: hashFiles('.github/workflows/.env') != ''
uses: xom9ikk/dotenv@v2
with:
path: .github/workflows
- name: ⬇️ Install Clang
run: curl -fsSL -o LLVM${{ matrix.version }}.exe https://github.com/llvm/llvm-project/releases/download/llvmorg-${{ matrix.version }}/LLVM-${{ matrix.version }}-win64.exe ; 7z x LLVM${{ matrix.version }}.exe -y -o"C:/Program Files/LLVM"
- name: ⚙️ run-cmake (configure)
uses: cmake-tools/run-cmake@v0-alpha
id: 'configure'
with:
mode: configure
generator: 'MinGW Makefiles'
source_dir: ${{ env.CMAKE_SOURCE_PREFIX }}
install_prefix: ${{ env.CMAKE_INSTALL_PREFIX }}
binary_dir: ${{ env.CMAKE_BINARY_PREFIX }}
platform: ${{ matrix.architecture }}
variables: |
CMAKE_CXX_COMPILER=C:/Program Files/LLVM/bin/clang++.exe
CMAKE_C_COMPILER=C:/Program Files/LLVM/bin/clang.exe
CMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }}
- name: 🛠️ run-cmake (build)
uses: cmake-tools/run-cmake@v0-alpha
id: build
with:
mode: build
config: ${{ env.CMAKE_BUILD_TYPE }}
- name: 🧪 Test
run: ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure
- name: 🎉 Install
run: cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }}
clang-cl-11:
runs-on: windows-2019
name: windows-2019 clang-cl-11 ${{ matrix.architecture }}
strategy:
fail-fast: false
matrix:
architecture: [ Win32, x64 ]
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: ⬇️ Setup CMake
uses: lukka/get-cmake@latest
with:
cmakeVersion: ^3
ninjaVersion: ^1.11.1
- name: 📂 Load .env file
if: hashFiles('.github/workflows/.env') != ''
uses: xom9ikk/dotenv@v2
with:
path: .github/workflows
- name: ⚙️ run-cmake (configure)
uses: cmake-tools/run-cmake@v0-alpha
id: 'configure'
with:
mode: configure
generator: 'Visual Studio 17 2022'
source_dir: ${{ env.CMAKE_SOURCE_PREFIX }}
install_prefix: ${{ env.CMAKE_INSTALL_PREFIX }}
binary_dir: ${{ env.CMAKE_BINARY_PREFIX }}
platform: ${{ matrix.architecture }}
toolset: ClangCL
variables: |
CMAKE_CXX_COMPILER=C:/Program Files/LLVM/bin/clang++.exe
CMAKE_C_COMPILER="C:/Program Files/LLVM/bin/clang.exe"
- name: 🛠️ run-cmake (build)
uses: cmake-tools/run-cmake@v0-alpha
id: build
with:
mode: build
config: ${{ env.CMAKE_BUILD_TYPE }}
- name: 🧪 Test
run: ctest --test-dir ${{ env.CMAKE_BINARY_PREFIX }} -C ${{ env.CMAKE_BUILD_TYPE }} --output-on-failure
- name: 🎉 Install
run: cmake --install ${{ env.CMAKE_BINARY_PREFIX }} --prefix ${{ env.CMAKE_INSTALL_PREFIX }} --config ${{ env.CMAKE_BUILD_TYPE }}