mirror of
https://github.com/orange-cpp/omath.git
synced 2026-02-13 07:03:25 +00:00
switched to clang Update cmake-multi-platform.yml Update cmake-multi-platform.yml Update cmake-multi-platform.yml Update cmake-multi-platform.yml Update cmake-multi-platform.yml Update cmake-multi-platform.yml Update cmake-multi-platform.yml Update cmake-multi-platform.yml added runtime dir fix
80 lines
2.1 KiB
YAML
80 lines
2.1 KiB
YAML
name: Omath CI (Arch Linux / Windows)
|
||
|
||
on:
|
||
push:
|
||
branches: [ main ]
|
||
pull_request:
|
||
branches: [ main ]
|
||
|
||
concurrency:
|
||
group: ci-${{ github.ref }}
|
||
cancel-in-progress: true
|
||
|
||
|
||
##############################################################################
|
||
# 1) ARCH LINUX – Clang / Ninja
|
||
##############################################################################
|
||
jobs:
|
||
arch-build-and-test:
|
||
name: Arch Linux (Clang)
|
||
runs-on: ubuntu-latest
|
||
container: archlinux:latest
|
||
|
||
steps:
|
||
- name: Install basic tool-chain with pacman
|
||
shell: bash
|
||
run: |
|
||
pacman -Sy --noconfirm archlinux-keyring
|
||
pacman -Syu --noconfirm --needed \
|
||
git base-devel clang cmake ninja
|
||
|
||
- name: Checkout repository (with sub-modules)
|
||
uses: actions/checkout@v4
|
||
with:
|
||
submodules: recursive
|
||
|
||
- name: Configure (cmake --preset)
|
||
shell: bash
|
||
run: cmake --preset linux-release -DOMATH_BUILD_TESTS=ON
|
||
|
||
- name: Build
|
||
shell: bash
|
||
run: cmake --build cmake-build/build/linux-release --target all
|
||
|
||
- name: Run unit_tests
|
||
shell: bash
|
||
run: ./out/Release/unit_tests
|
||
|
||
|
||
|
||
##############################################################################
|
||
# 2) Windows – MSVC / Ninja
|
||
##############################################################################
|
||
windows-build-and-test:
|
||
name: Windows (MSVC)
|
||
runs-on: windows-latest
|
||
|
||
steps:
|
||
- name: Checkout repository (with sub-modules)
|
||
uses: actions/checkout@v4
|
||
with:
|
||
submodules: recursive
|
||
|
||
- name: Install Ninja
|
||
uses: seanmiddleditch/gha-setup-ninja@v4
|
||
|
||
- name: Set up MSVC developer command-prompt
|
||
uses: ilammy/msvc-dev-cmd@v1
|
||
|
||
- name: Configure (cmake --preset)
|
||
shell: bash
|
||
run: cmake --preset windows-release -DOMATH_BUILD_TESTS=ON
|
||
|
||
- name: Build
|
||
shell: bash
|
||
run: cmake --build cmake-build/build/windows-release --target all
|
||
|
||
- name: Run unit_tests.exe
|
||
shell: bash
|
||
run: ./out/Release/unit_tests.exe
|