# Copyright (c) 2025 Tom Ingleby, Alex Tereschenko # # This program and the accompanying materials are made available under the terms # of the MIT license which is available at # https://projects.eclipse.org/license/mit-license-mit. # # SPDX-License-Identifier: MIT name: Build and test on: push: branches: [ main, master ] pull_request: branches: [ main, master ] workflow_dispatch: permissions: contents: read jobs: Build_and_test: strategy: fail-fast: false matrix: include: - arch: x86_64 runs_on: ubuntu-latest run_tests: true - arch: arm runs_on: ubuntu-24.04-arm run_tests: true - arch: MOCK runs_on: ubuntu-latest run_tests: true runs-on: ${{ matrix.runs_on }} steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y cmake ninja-build build-essential python3-dev libnode-dev swig libjson-c-dev git libgtest-dev - name: Build run: | mkdir build cd build cmake -G Ninja -DBUILDSWIGNODE=on -DBUILDARCH=${{ matrix.arch }} ../ ninja - name: Run tests if: matrix.run_tests run: | cd build ninja test