106 lines
2.9 KiB
YAML
106 lines
2.9 KiB
YAML
name: Build
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build-msvc:
|
|
name: Windows
|
|
env:
|
|
BUILD_TOOLS_PATH: C:\Program Files\Conan\conan
|
|
CONAN_USER_HOME_SHORT: None
|
|
runs-on: windows-latest
|
|
steps:
|
|
- run: echo $env:BUILD_TOOLS_PATH | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
|
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Cache conan
|
|
uses: actions/cache@v3.2.6
|
|
with:
|
|
key: conan-win-${{ hashFiles('conanfile.txt') }}
|
|
path: ~/.conan2/
|
|
|
|
- name: Install dependencies
|
|
run: choco install conan ninja -y
|
|
|
|
- name: Enable Developer Command Prompt
|
|
uses: ilammy/msvc-dev-cmd@v1.12.1
|
|
|
|
- name: Build
|
|
run: |
|
|
conan install . -b missing -pr:b=tools/conan-profiles/vs-22-release-ninja -pr=tools/conan-profiles/vs-22-release-ninja
|
|
cmake --preset conan-release -DBUILD_TEST=ON
|
|
ninja
|
|
|
|
- name: Test
|
|
run: ctest -j2 --output-on-failure
|
|
|
|
- name: Clean Conan pkgs
|
|
run: conan cache clean "*" -sbd
|
|
|
|
build-gcc:
|
|
name: Linux
|
|
env:
|
|
CONAN_SYSREQUIRES_MODE: "enabled"
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Cache conan
|
|
uses: actions/cache@v3.2.6
|
|
with:
|
|
key: conan-linux-${{ hashFiles('conanfile.txt') }}
|
|
path: ~/.conan2/
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo apt-get update
|
|
curl "https://raw.githubusercontent.com/AnotherFoxGuy/ci-scripts/main/install-cmake.sh" | sudo bash
|
|
curl "https://raw.githubusercontent.com/AnotherFoxGuy/ci-scripts/main/install-conan2.0.sh" | sudo bash
|
|
sudo apt-get -y install ninja-build
|
|
|
|
- name: Configure
|
|
run: |
|
|
conan profile detect --force
|
|
conan install . -s build_type=Release -b missing -pr:b=default -c tools.cmake.cmaketoolchain:generator="Ninja"
|
|
cmake --preset conan-release -DBUILD_TEST=ON
|
|
|
|
- name: Build
|
|
run: |
|
|
ninja
|
|
|
|
- name: Test
|
|
run: ctest -j2 --output-on-failure
|
|
|
|
- name: Clean Conan pkgs
|
|
run: conan cache clean "*" -sbd
|
|
|
|
build-appleclang:
|
|
name: MacOS
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Cache conan
|
|
uses: actions/cache@v3.2.6
|
|
with:
|
|
key: conan-mac-${{ hashFiles('conanfile.txt') }}
|
|
path: ~/.conan2/
|
|
|
|
- name: Install dependencies
|
|
run: brew install conan ninja
|
|
|
|
- name: Build
|
|
run: |
|
|
conan profile detect --force
|
|
conan install . -s build_type=Release -b missing -pr:b=default -c tools.cmake.cmaketoolchain:generator="Ninja"
|
|
cmake --preset conan-release -DBUILD_TEST=ON
|
|
ninja
|
|
shell: bash
|
|
|
|
- name: Test
|
|
run: ctest -j2 --output-on-failure
|
|
shell: bash
|
|
|
|
- name: Clean Conan pkgs
|
|
run: conan cache clean "*" -sbd |