mirror of
https://github.com/ChaiScript/ChaiScript.git
synced 2026-05-01 11:29:25 +08:00
Resolve merge conflicts with ChaiScript:develop. Upstream added nested namespace support (#675), grammar railroad diagrams (#673), and WASM exception support (#689). Conflicts in chaiscript_common.hpp, chaiscript_eval.hpp, and chaiscript_parser.hpp resolved by keeping both Using and Namespace_Block AST node types. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
164 lines
4.3 KiB
YAML
164 lines
4.3 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [develop, main]
|
|
pull_request:
|
|
branches: [develop, main]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
linux:
|
|
name: Linux GCC ${{ matrix.build_type }} threads=${{ matrix.multithread }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [Debug, Release]
|
|
multithread: [ON, OFF]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Ninja
|
|
run: sudo apt-get install -y ninja-build
|
|
|
|
- name: Configure
|
|
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DMULTITHREAD_SUPPORT_ENABLED=${{ matrix.multithread }}
|
|
|
|
- name: Build
|
|
run: cmake --build build
|
|
|
|
- name: Test
|
|
run: ctest --test-dir build --output-on-failure
|
|
|
|
macos:
|
|
name: macOS AppleClang ${{ matrix.build_type }} threads=${{ matrix.multithread }}
|
|
runs-on: macos-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [Debug, Release]
|
|
multithread: [ON, OFF]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Ninja
|
|
run: brew install ninja
|
|
|
|
- name: Configure
|
|
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DMULTITHREAD_SUPPORT_ENABLED=${{ matrix.multithread }}
|
|
|
|
- name: Build
|
|
run: cmake --build build
|
|
|
|
- name: Test
|
|
run: ctest --test-dir build --output-on-failure
|
|
|
|
linux-sanitizers:
|
|
name: Linux GCC ASAN+UBSAN ${{ matrix.build_type }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [Debug, Release]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Ninja
|
|
run: sudo apt-get install -y ninja-build
|
|
|
|
- name: Configure
|
|
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_ADDRESS_SANITIZER=ON -DENABLE_UNDEFINED_SANITIZER=ON
|
|
|
|
- name: Build
|
|
run: cmake --build build
|
|
|
|
- name: Test
|
|
run: ctest --test-dir build --output-on-failure
|
|
|
|
macos-sanitizers:
|
|
name: macOS AppleClang ASAN+UBSAN ${{ matrix.build_type }}
|
|
runs-on: macos-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [Debug, Release]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Ninja
|
|
run: brew install ninja
|
|
|
|
- name: Configure
|
|
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_ADDRESS_SANITIZER=ON -DENABLE_UNDEFINED_SANITIZER=ON
|
|
|
|
- name: Build
|
|
run: cmake --build build
|
|
|
|
- name: Test
|
|
run: ctest --test-dir build --output-on-failure
|
|
|
|
windows:
|
|
name: Windows MSVC ${{ matrix.build_type }} threads=${{ matrix.multithread }}
|
|
runs-on: windows-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [Debug, Release]
|
|
multithread: [ON, OFF]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Configure
|
|
run: cmake -B build -DMULTITHREAD_SUPPORT_ENABLED=${{ matrix.multithread }}
|
|
|
|
- name: Build
|
|
run: cmake --build build --config ${{ matrix.build_type }} -j
|
|
|
|
- name: Test
|
|
run: ctest --test-dir build --output-on-failure -C ${{ matrix.build_type }}
|
|
|
|
linux-tsan:
|
|
name: Linux GCC TSAN ${{ matrix.build_type }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [Debug, Release]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Ninja
|
|
run: sudo apt-get install -y ninja-build
|
|
|
|
- name: Configure
|
|
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_THREAD_SANITIZER=ON -DMULTITHREAD_SUPPORT_ENABLED=ON
|
|
|
|
- name: Build
|
|
run: cmake --build build
|
|
|
|
- name: Test
|
|
run: ctest --test-dir build --output-on-failure
|
|
|
|
macos-tsan:
|
|
name: macOS AppleClang TSAN ${{ matrix.build_type }}
|
|
runs-on: macos-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [Debug, Release]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Ninja
|
|
run: brew install ninja
|
|
|
|
- name: Configure
|
|
run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DENABLE_THREAD_SANITIZER=ON -DMULTITHREAD_SUPPORT_ENABLED=ON
|
|
|
|
- name: Build
|
|
run: cmake --build build
|
|
|
|
- name: Test
|
|
run: ctest --test-dir build --output-on-failure
|