name: CI on: push jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 with: submodules: recursive - uses: actions/cache@v5 with: path: | ~/.cache/pip ~/.platformio/.cache key: ${{ runner.os }}-pio - uses: actions/setup-python@v6 with: python-version: '3.14' - name: Install PlatformIO Core run: pip install --upgrade platformio - name: Install clang-format-21 run: | wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh 21 sudo apt-get update sudo apt-get install -y clang-format-21 - name: Run cppcheck run: pio check --fail-on-defect medium --fail-on-defect high - name: Run clang-format run: PATH="/usr/lib/llvm-21/bin:$PATH" ./bin/clang-format-fix && git diff --exit-code || (echo "Please run 'bin/clang-format-fix' to fix formatting issues" && exit 1) - name: Build CrossPoint run: pio run