feat: use conda environment for cibuildwheel #49
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Lanelet2 CI | |
on: | |
push: | |
branches: | |
- "**" | |
tags: | |
- "**" | |
pull_request: | |
jobs: | |
formatting: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Format | |
uses: cpp-linter/cpp-linter-action@v2 | |
id: formatter | |
with: | |
version: 11 | |
style: file | |
tidy-checks: '-*' # only formatting | |
- name: Fail? | |
if: steps.formatter.outputs.checks-failed > 0 | |
run: echo "Some files failed the formatting checks!" && exit 1 | |
lint: | |
needs: formatting | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Install Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
- name: Create Conan build | |
run: | | |
conan profile detect --force | |
conan install . --output-folder=build --build=missing | |
- name: Build with CMake | |
run: | | |
cmake -S . -B build --preset conan-release -DCMAKE_BUILD_TYPE=Release | |
cmake --build build | |
- name: Lint | |
uses: cpp-linter/cpp-linter-action@v2 | |
id: linter | |
with: | |
version: 11 | |
style: file | |
tidy-checks: '' # force the use of .clang-tidy | |
database: 'build' | |
# - name: Fail? | |
# if: steps.linter.outputs.checks-failed > 0 | |
# run: echo "Some files failed the linting checks!" && exit 1 | |
test: | |
needs: formatting | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.10' | |
- name: Install Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
- name: Create Conan build | |
run: | | |
conan profile detect --force | |
conan install . --output-folder=build --build=missing | |
- name: Build with CMake on Windows | |
if: runner.os == 'Windows' | |
run: | | |
cmake -S . -B build --preset conan-default | |
cmake --build build --config Release | |
- name: Build with CMake on Linux and macOS | |
if: runner.os == 'Linux' || runner.os == 'macOS' | |
run: | | |
cmake -S . -B build --preset conan-release -DCMAKE_BUILD_TYPE=Release | |
cmake --build build | |
- name: Test with CTest | |
run: | | |
ctest --test-dir build |