Skip to content

docs: update README with new features and structure #47

docs: update README with new features and structure

docs: update README with new features and structure #47

Workflow file for this run

name: CI
on:
push:
branches: [develop]
pull_request:
branches: [main, develop]
jobs:
build-and-test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
build_type: [Release, Debug]
config:
- name: Minimal
assimp: OFF
- name: Standard
assimp: ON
runs-on: ${{ matrix.os }}
name: ${{ matrix.config.name }} / ${{ matrix.build_type }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build
- name: Configure
run: >
cmake -B build -G Ninja
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DSIMFORGE_USE_ASSIMP=${{ matrix.config.assimp }}
-DSIMFORGE_BUILD_TESTS=ON
- name: Build
run: cmake --build build -j$(nproc)
- name: Test
run: cd build && ctest --output-on-failure
python-bindings:
runs-on: ubuntu-latest
name: Python Bindings
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake ninja-build
pip install pytest
- name: Configure
run: >
cmake -B build -G Ninja
-DCMAKE_BUILD_TYPE=Release
-DSIMFORGE_BUILD_PYTHON=ON
-DSIMFORGE_BUILD_TESTS=OFF
- name: Build
run: cmake --build build -j$(nproc)
- name: Test
run: PYTHONPATH=build/python pytest tests/test_bindings.py -v
gate:
name: Gate
needs: [build-and-test, python-bindings]
runs-on: ubuntu-latest
if: always()
steps:
- name: Check matrix results
run: |
if [ "${{ needs.build-and-test.result }}" != "success" ]; then
echo "build-and-test failed or was cancelled"
exit 1
fi
if [ "${{ needs.python-bindings.result }}" != "success" ]; then
echo "python-bindings failed or was cancelled"
exit 1
fi
echo "All jobs passed"