Update run_unit_tests.yml - Add Matlab_Compiler as dependency #12
This file contains 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: Run unit tests | |
on: | |
workflow_dispatch: | |
push: | |
pull_request: | |
env: | |
MLM_LICENSE_TOKEN: ${{ secrets.MATLAB_BATCH_TOKEN }} | |
jobs: | |
unit-tests: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: False | |
matrix: | |
matlab: ["latest"] | |
os: [ubuntu-latest] | |
python-version: ["3.11"] | |
# os: [ubuntu-latest, macos-13, macos-latest, windows-latest] | |
# python-version: ["3.9", "3.10", "3.11", "3.12"] | |
include: | |
- os: ubuntu-latest | |
os_name: Linux | |
# - os: macos-13 | |
# os_name: macOS_Intel | |
# - os: macos-latest | |
# os_name: macOS_Apple_Silicon | |
# - os: windows-latest | |
# os_name: Windows | |
steps: | |
# Setup MATLAB and Runtime | |
- name: Set up MATLAB | |
uses: matlab-actions/setup-matlab@v2 | |
with: | |
release: ${{matrix.matlab}} | |
cache: True | |
products: MATLAB_Compiler | |
- name: Extract MATLAB path to file | |
uses: matlab-actions/run-command@v2 | |
with: | |
command: | | |
fileID = fopen('matlab_path.txt', 'w') | |
matlabpath = matlabroot; | |
fprintf(fileID, matlabpath); | |
fclose(fileID); | |
# sometimes this step hangs when closing matlab, automatically terminating after 2 minutes solves the issue | |
timeout-minutes: 2 | |
continue-on-error: true | |
- name: Set environment variable with MATLAB path | |
shell: bash # Works on Windows as well because of shell: bash | |
run: | | |
matlab_path=$(cat matlab_path.txt) | |
echo "MATLAB_PATH=$matlab_path" >> $GITHUB_ENV | |
# - name: Setup path on Linux | |
# if: matrix.os_name == 'Linux' | |
# run: | | |
# export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:}\ | |
# ${{ env.MATLAB_PATH }}/runtime/glnxa64:\ | |
# ${{ env.MATLAB_PATH }}/bin/glnxa64:\ | |
# ${{ env.MATLAB_PATH }}/sys/os/glnxa64:\ | |
# ${{ env.MATLAB_PATH }}/extern/bin/glnxa64" | |
- name: Setup path on Mac Apple Silicon | |
if: matrix.os_name == 'macOS_Apple_Silicon' | |
run: | | |
export DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH:+${DYLD_LIBRARY_PATH}:}\ | |
${{ env.MATLAB_PATH }}/runtime/maca64:\ | |
${{ env.MATLAB_PATH }}/bin/maca64:\ | |
${{ env.MATLAB_PATH }}/sys/os/maca64:\ | |
${{ env.MATLAB_PATH }}/extern/bin/maca64" | |
- name: Setup path on Mac Intel | |
if: matrix.os_name == 'macOS_Intel' | |
run: | | |
export DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH:+${DYLD_LIBRARY_PATH}:}\ | |
${{ env.MATLAB_PATH }}/runtime/maci64:\ | |
${{ env.MATLAB_PATH }}/bin/maci64:\ | |
${{ env.MATLAB_PATH }}/sys/os/maci64:\ | |
${{ env.MATLAB_PATH }}/extern/bin/maci64" | |
- name: Setup path on Windows | |
if: matrix.os_name == 'Windows' | |
run: | | |
set PATH=%PATH%;$env:MATLAB_PATH\runtime\win32;$env:MATLAB_PATH\runtime\win64 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# cache: 'pip' # caching pip dependencies | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Install repository | |
run: pip install -e . | |
- name: Run tests on Mac | |
shell: bash | |
if: runner.os == 'Mac' | |
run: mwpython -m unittest discover tests -v | |
- name: Run tests on Linux | |
shell: bash | |
if: runner.os == 'Linux' | |
run: | | |
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}:} | |
${{ env.MATLAB_PATH }}/runtime/glnxa64:\ | |
${{ env.MATLAB_PATH }}/bin/glnxa64:\ | |
${{ env.MATLAB_PATH }}/sys/os/glnxa64:\ | |
${{ env.MATLAB_PATH }}/extern/bin/glnxa64" | |
echo $LD_LIBRARY_PATH | |
ls ${{ env.MATLAB_PATH }} | |
find ${{ env.MATLAB_PATH }} -name 'runtime' | |
python -m unittest discover tests -v |