diff --git a/.github/workflows/linux.yml b/.github/workflows/ci.yml similarity index 59% rename from .github/workflows/linux.yml rename to .github/workflows/ci.yml index fb0539949..51e235925 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: Linux +name: CI on: push: @@ -14,8 +14,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-20.04, ubuntu-22.04 ] build_type: [ Debug, Release, RelWithDebInfo ] + os: [ windows-latest, ubuntu-latest ] name: Build on ${{ matrix.os }} (${{ matrix.build_type }}) runs-on: ${{ matrix.os }} @@ -29,34 +29,47 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: '3.11' + python-version: '3.12' cache: 'pip' - - name: Set up Clang 15 - env: - LLVM_VERSION: 15 + - name: Set up Clang (Linux) + if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update -y -q sudo apt-get install -y -q build-essential lsb-release wget software-properties-common sudo wget https://apt.llvm.org/llvm.sh sudo chmod +x llvm.sh - sudo ./llvm.sh ${LLVM_VERSION} - sudo apt-get install -y -q libc++-${LLVM_VERSION}-dev libc++abi-${LLVM_VERSION}-dev - sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${LLVM_VERSION} 100 - sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${LLVM_VERSION} 100 - sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-${LLVM_VERSION} 100 - sudo update-alternatives --install /usr/bin/ld ld /usr/bin/ld.lld-${LLVM_VERSION} 100 + sudo ./llvm.sh 15 + sudo apt-get install -y -q libc++-15-dev libc++abi-15-dev + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-15 100 + sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-15 100 + sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-15 100 + sudo update-alternatives --install /usr/bin/ld ld /usr/bin/ld.lld-15 100 + + - name: Set up MSVC (Windows) + if: matrix.os == 'windows-latest' + uses: ilammy/msvc-dev-cmd@v1 + with: + arch: x86_64 - name: Set up CMake and Ninja uses: lukka/get-cmake@latest - - name: Build with Conan - env: - CC: clang - CXX: clang++ + - name: Set up Conan run: | python -m pip install --upgrade pip pip install conan conan profile detect --force conan export third_party/funchook --version 1.1.3 - conan create . --build=missing -s compiler.cppstd=17 -s compiler.libcxx=libc++ -s build_type=${{ matrix.build_type }} -c tools.cmake.cmaketoolchain:generator=Ninja + + - name: Build with Conan (Linux) + if: matrix.os == 'ubuntu-latest' + env: + CC: clang + CXX: clang++ + run: | + conan create . --build=missing -s compiler.cppstd=17 -s build_type=${{ matrix.build_type }} -c tools.cmake.cmaketoolchain:generator=Ninja -s compiler.libcxx=libc++ + + - name: Build with Conan (Windows) + run: | + conan create . --build=missing -s compiler.cppstd=17 -s build_type=${{ matrix.build_type }} -c tools.cmake.cmaketoolchain:generator=Ninja \ No newline at end of file diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index c65cc2d66..000000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,49 +0,0 @@ -name: Windows - -on: - push: - branches: - - main - pull_request: - workflow_dispatch: - -permissions: read-all - -jobs: - build: - strategy: - fail-fast: false - matrix: - os: [ windows-2019 ] - build_type: [ Debug, Release, RelWithDebInfo ] - - name: Build on ${{ matrix.os }} (${{ matrix.build_type }}) - runs-on: ${{ matrix.os }} - - steps: - - name: Checkout Code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.11' - cache: 'pip' - - - name: Set up MSVC - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: x86_64 - - - name: Set up CMake and Ninja - uses: lukka/get-cmake@latest - - - name: Build with Conan - run: | - python -m pip install --upgrade pip - pip install conan - conan profile detect --force - conan export third_party/funchook --version 1.1.3 - conan create . --build=missing -s compiler.cppstd=17 -s build_type=${{ matrix.build_type }} -c tools.cmake.cmaketoolchain:generator=Ninja