Add Python mwrap implementation, fix int64_t, improve GPU tests (#27) #22
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |