feat: update ci.yaml, add ci status to README.md #30
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 | |
- uses: ilammy/msvc-dev-cmd@v1 # NOTE: this is needed to use cl.exe with the Ninja generator on Windows | |
- name: Build with CMake | |
run: | | |
cmake -S . -B build --preset conan-release -DCMAKE_BUILD_TYPE=Release | |
cmake --build build | |
- name: Test with CTest | |
run: | | |
ctest --test-dir build |