name: C/C++ Build Workflow

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  build:
    runs-on: ubuntu-latest  # Use latest runner to host the container

    container:
      image: ubuntu:20.04
      options: --privileged  # Needed for some build tools

    steps:
    - uses: actions/checkout@v4
    
    - name: Install dependencies
      run: |
        export DEBIAN_FRONTEND=noninteractive
        apt-get update
        apt-get install -y cmake g++ build-essential libyaml-cpp-dev libeigen3-dev
        
    - name: CMake build
      run: |
        cmake -Bbuild
        cmake --build build -j$(nproc)