1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
name: Continuous Integration
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
makefile-build:
name: Makefile build and test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
bison \
flex \
zlib1g-dev \
octave \
octave-dev
- name: Build
run: make bin
- name: Run tests
run: make test
cmake-build:
name: CMake build and test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
bison \
flex \
zlib1g-dev
- name: Configure CMake
run: cmake -S . -B build -DBUILD_TESTING=ON
- name: Build
run: cmake --build build --target mwrap
- name: Run tests
run: cmake --build build --target mwrap_tests
matlab-examples:
name: Build and test MATLAB examples
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
bison \
flex \
zlib1g-dev
- name: Set up MATLAB
uses: matlab-actions/setup-matlab@v2
- name: Configure with CMake
run: |
cmake -S . -B build-matlab \
-DMWRAP_BUILD_EXAMPLES=ON \
-DMWRAP_COMPILE_MEX=ON \
-DBUILD_TESTING=ON
- name: Build examples and tests
run: |
cmake --build build-matlab --target mwrap_examples
cmake --build build-matlab --target mwrap_testing_mex
- name: Run MATLAB tests
uses: matlab-actions/run-command@v2
with:
command: addpath('testing'); run_matlab_tests('build-matlab', '.')
octave-examples:
name: Build and test Octave examples
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
bison \
flex \
zlib1g-dev \
octave \
octave-dev
- name: Configure examples with CMake
run: |
cmake -S . -B build-octave \
-DMWRAP_BUILD_EXAMPLES=ON \
-DMWRAP_COMPILE_MEX=ON \
-DMWRAP_MEX_BACKEND=OCTAVE \
-DBUILD_TESTING=ON
- name: Build Octave examples
run: cmake --build build-octave --target mwrap_examples
- name: Run Octave example tests
run: ctest --test-dir build-octave --output-on-failure -R '^octave-'
python-tests:
name: Python mwrap tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
bison \
flex \
zlib1g-dev
- name: Build C++ mwrap
run: |
cmake -S . -B build
cmake --build build --target mwrap
- name: Run Python tests
run: bash testing/test_python.sh build/src/mwrap python/mwrap
|