Update README.md #114
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: 17 | |
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-and-coverage: | |
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' | |
cache: 'pip' | |
- name: Install Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
- name: Setup LCOV | |
uses: hrishikesh-kadam/setup-lcov@v1 | |
- name: Create Conan build | |
run: | | |
conan profile detect --force | |
conan install . --output-folder=build --build=missing -s build_type=Debug | |
- name: Build with CMake | |
run: | | |
cmake -S . -B build --preset conan-debug -DCMAKE_BUILD_TYPE=Debug | |
cmake --build build | |
- name: Lint | |
uses: cpp-linter/cpp-linter-action@v2 | |
id: linter | |
with: | |
version: 17 | |
style: file | |
tidy-checks: '' # force the use of .clang-tidy | |
database: 'build' | |
- name: Run Tests and Generate Coverage Data | |
run: | | |
ctest --test-dir build | |
lcov -c -d build -o coverage.info | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
test: | |
name: Build on ${{ matrix.os }} (shared=${{ matrix.options.shared }}) | |
needs: formatting | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, windows-latest, macos-latest ] | |
options: | |
- { shared: 'True' } # shared library | |
- { shared: 'False' } # static library | |
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' | |
cache: 'pip' | |
- name: Install Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
- name: Build with Conan | |
run: | | |
conan profile detect --force | |
conan create . --build=missing -o shared=${{ matrix.options.shared }} |