docs: hand off the F7 streaming session #1
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: MATLAB MEX | |
| on: | |
| push: | |
| branches: [develop, Claude] # TODO(release): remove temporary Claude trigger | |
| tags: ['v*'] | |
| pull_request: | |
| branches: [main] | |
| workflow_dispatch: | |
| jobs: | |
| mex: | |
| name: MEX on ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 | |
| - name: Set up MATLAB | |
| uses: matlab-actions/setup-matlab@a0180c939fb1a28de13f44f7b778b912384ced1f # v3.0.1 | |
| with: | |
| release: R2024b | |
| - name: Install macOS OpenMP runtime | |
| if: runner.os == 'macOS' | |
| run: brew install libomp | |
| - name: Configure parallel MEX | |
| run: >- | |
| cmake -S . -B build/mex-ci | |
| -DDTWC_BUILD_MATLAB=ON | |
| -DDTWC_ENABLE_LLFIO=OFF | |
| -DDTWC_ENABLE_HIGHS=OFF | |
| -DDTWC_ENABLE_GUROBI=OFF | |
| -DDTWC_BUILD_TESTING=OFF | |
| -DCMAKE_BUILD_TYPE=Release | |
| - name: Build MEX | |
| run: cmake --build build/mex-ci --config Release --target dtwc_mex --parallel 2 | |
| - name: Run complete MATLAB contract and OpenMP gate | |
| uses: matlab-actions/run-command@bcd446a219949c24051c1d04a4b4e0274c42f23b # v3 | |
| with: | |
| command: >- | |
| addpath(fullfile(pwd,'bindings','matlab')); | |
| addpath(fullfile(pwd,'build','mex-ci','bin')); | |
| files={fullfile(pwd,'tests','matlab','test_dtwc.m'), | |
| fullfile(pwd,'tests','matlab','test_mex_input_validation.m'), | |
| fullfile(pwd,'tests','matlab','test_contract_parity.m'), | |
| fullfile(pwd,'tests','matlab','test_test_api.m'), | |
| fullfile(pwd,'tests','conformance','test_conformance.m')}; | |
| r=runtests(files); assertSuccess(r); | |
| DTWC_QUICKSTART_CSV=fullfile(pwd,'tests','conformance','data','conformance_series.csv'); | |
| run(fullfile(pwd,'docs','examples','quickstart.m')); | |
| p=dtwc_mex('test_parallelisation'); | |
| assert(p.available && p.pass && p.threads_engaged>=2); | |
| - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7 | |
| with: | |
| name: dtwc-mex-${{ matrix.os }} | |
| path: build/mex-ci/bin/dtwc_mex.* | |
| if-no-files-found: error |