mirror of
https://github.com/ChaiScript/ChaiScript.git
synced 2026-04-30 19:09:26 +08:00
* Fix #615: Switch from Travis CI to GitHub Actions Add a GitHub Actions CI workflow with a full build matrix covering linux, macOS, and Windows with both GCC and Clang compilers, Debug and Release build types, and optional ASan+UBSan sanitizers (24 builds total). Windows builds use MSYS2 for GCC/Clang toolchains. The workflow relies on CMake and CTest to drive configuration, building, and testing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Address review: use native compilers, remove MSYS/MinGW Use Visual Studio (MSVC) on Windows, Apple Clang on macOS, and GCC on Linux. Remove MSYS2/MinGW toolchain setup entirely. Split into three separate jobs for clarity. Fix workflow validation issues. Requested by @lefticus in PR #658 review. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * Address review: add workflow_dispatch to enable manual CI runs on fork Add workflow_dispatch trigger so the workflow can be manually run on the leftibot fork to verify that GitHub Actions are working correctly. Requested by @lefticus in PR #658 review. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: leftibot <leftibot@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
67 lines
1.5 KiB
YAML
67 lines
1.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [develop, main]
|
|
pull_request:
|
|
branches: [develop, main]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
linux:
|
|
name: Linux GCC ${{ matrix.build_type }}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [Debug, Release]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Configure
|
|
run: cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
|
|
|
|
- name: Build
|
|
run: cmake --build build -j
|
|
|
|
- name: Test
|
|
run: ctest --test-dir build --output-on-failure
|
|
|
|
macos:
|
|
name: macOS AppleClang ${{ matrix.build_type }}
|
|
runs-on: macos-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [Debug, Release]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Configure
|
|
run: cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
|
|
|
|
- name: Build
|
|
run: cmake --build build -j
|
|
|
|
- name: Test
|
|
run: ctest --test-dir build --output-on-failure
|
|
|
|
windows:
|
|
name: Windows MSVC ${{ matrix.build_type }}
|
|
runs-on: windows-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
build_type: [Debug, Release]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Configure
|
|
run: cmake -B build
|
|
|
|
- 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 }}
|