Coder Social home page Coder Social logo

matlab-actions / setup-matlab Goto Github PK

View Code? Open in Web Editor NEW
71.0 71.0 8.0 1.63 MB

Set up your GitHub Actions workflow with a specific version of MATLAB.

License: BSD 3-Clause "New" or "Revised" License

JavaScript 1.81% TypeScript 98.19%
mathworks matlab simulink

setup-matlab's People

Contributors

davidbuzinski avatar dependabot[bot] avatar jwpereira avatar mcafaro avatar mw-hrastega avatar sameagen-mw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

setup-matlab's Issues

Choose the root directory of MATLAB

Is it possible to provide an option that supports a user-defined root directory of MATLAB?

In my project, I would like to modify the xml files under 'mexopts', which is read only. In addition, GitHub actions do not support chmod.

Thank you for your consideration.

MATLAB won't start on R2020b and R2021a Windows runners (v2-beta)

Hi, we were having some trouble with testing Windows runners for R2020b and R2021a with the v2-beta version of setup-matlab. For some reason, they won't start up properly when using the run-command action. The step just hangs until timeout.

I created a repository to demonstrate the issue. You can see the workflow here and the failed runs here.

Any help greatly appreciated, as always!

MATLAB R2022a: MEX does not support the Fortran compilers specified in the official documentation

Hello!

Thank you very much for providing MATLAB on GitHub Actions. It is great that MATLAB R2022a is now made available!

According to the official documentation, MATLAB R2022a supports gfortan8.x as the Fortran compiler for MEX on Linux. However, according to my test on GitHub Actions, gfortran 8 fails to compile the official timestwo.F, the error message being

gfortran: error: unrecognized command line option ‘-fallow-argument-mismatch’;
  did you mean ‘-Wno-argument-mismatch’?

Nevertheless, gfortran 10 and 11 succeed, even though they are not supported officially.

I am not sure whether this comes from MATLAB R2022a itself, or from the setup of MATLAB on GitHub Actions. Thank you for having a look at it.

Update (20220319): The problem has been reproduced using "MATLAB Online". The official configuration of MATLAB Online (R2022a with gfortran 8.3.0) fails to run the following command, the error message being the same as above.

mex('-setup', '-v', 'FORTRAN'); mex('-v', fullfile(matlabroot, 'extern', 'examples', 'refbook', 'timestwo.F')); 

Therefore, this seems not a problem of GitHub Actions, but a bug of MATLAB R2022a.

Many thanks for everything!

Best regards,
Zaikun

Cannot build MATLAB Engine for Python

I do not know what I am doing at this point, but here is my YML:
https://github.com/apommel/vscode-matlab-interactive-terminal/blob/84219db/.github/workflows/ci.yml

It appears I am trying to "build a wheel from code stored in a mounted storage account".
I'd be making a temp directory, copy things over and that would get the build working:
https://stackoverflow.com/questions/63243930/

Maybe there needs to be an action for building MATLAB Engine for Python that handles the VM issue?

Improve sidebar example copy-and-paste experience

GitHub shows a snippet of code to copy-and-paste when you search for this action in the marketplace sidebar while configuring a workflow.

Screen Shot 2022-10-10 at 9 15 46 AM

Unfortunately the snippet of code they show will fail to work because the release input is empty.

I do not believe we can control what GitHub shows in this snippet, but perhaps we can modify how the release input is defined to improve this copy-and-paste experience. Or, at the very least, we can improve the error message that occurs when a user runs their YAML with release empty.

Support for launching matlab via CMake in setup-matlab@v2

Hello everyone, thanks a lot for work on MATLAB-related GitHub Actions.

I looked in updating the CI of my projects to setup-matlab@v2 (see robotology/idyntree#1181). As my project is a C++ library that also provides MATLAB bindings, all the tests are handled via CMake test infrastructure (see for example CMake's FindMatlab matlab_add_unit_test command). On setup-matlab@v1 everything worked fine, while on setup-matlab@v2 the test fail as matlab is not able to find the license.

The problem is similar to #89, but in my case I do not directly set the command used to launch the tests, as that is handled by CMake. I wonder if there is any workaround for launching matlab command using setup-matlab@v2 ? Thanks a lot in advance!

matlab does not start correctly if the HOME environment variable is redefined

I have a CI job in which I run from the command line the following command:

matlab -nosplash -nojvm -logfile "matlabVersionLog.cmaketmp" -nodesktop -nodisplay -batch "version, exit"

that correctly outputs:

	Sponsored License -- for use in support of a program or activity sponsored by MathWorks.
	Not for government, commercial or other non-sponsored organizational use.


ans =

    '9.11.0.1809720 (R2021b) Update 1'

As soon as I redefined the HOME environment variable, the execution fails with:

License checkout failed.
License Manager Error -1
The license.dat file cannot be found.

Troubleshoot this issue by visiting: 
https://www.mathworks.com/support/lme/R2021b/1

Diagnostic Information:
Feature: MATLAB 
License path: /home/runner/newhome/.matlab/R2021b_licenses:/usr/local/MATLAB/R2021b/licenses/license.dat:/usr/loca
l/MATLAB/R2021b/licenses 
Licensing error: -1,359. System Error: 2

An example of the problem can be found at https://github.com/traversaro/matlab-actions-no-home-mre/actions/runs/1973540132 (related code: https://github.com/traversaro/matlab-actions-no-home-mre/blob/main/.github/workflows/mre.yml#L23).

MEX of MATLAB R2023b provided by `setup-matlab@v2` does not work with Xcode 15 and Intel oneAPI 2023

Hi @mcafaro ,

I am not sure whether this is an issue with MEX of MATLAB R2023b or with setup-matlab@v2.

MEX of MATLAB R2023b (update 6 as of Feb 15, 2024) provided by setup-matlab@v2 does not work with Xcode 15.0 and Intel oneAPI 2023, but it should according to https://www.mathworks.com/support/requirements/supported-compilers-mac.html.

See the workflow run at https://github.com/zequipe/test_matlab/actions/runs/7910874522/job/21594149098. It complains about undefined symbols, e.g., ___power4i8.

N.B.:

  1. For the configurations of the macOS-13 runner, see https://github.com/actions/runner-images/blob/macos-13/20240204.1/images/macos/macos-13-Readme.md. In particular, it has Xcode Command Line Tools 15.1.0.0.1.1700200546 with Clang/LLVM 15.0.0.

  2. The version of Intel oneAPI is 2023, which is installed by https://github.com/equipez/github_actions_scripts/blob/de1b45b9fd667a9fe42cd7d5ecec4318f60d9117/install_oneapi_macos.sh

  3. The testing code:
    https://github.com/zequipe/test_matlab/actions/runs/7910874522/workflow
    https://github.com/zequipe/test_matlab/blob/master/test_mac/test_pow.m
    https://github.com/zequipe/test_matlab/blob/master/test_mac/pow.F
    The Fortran code is a modification of the official timestwo.F. It is modified to calculate the power $x^{[x]}$.

  4. It does not work with oneAPI 2022 either. However, oneAPI 2021 is fine:
    https://github.com/zequipe/test_matlab/actions/runs/7910874522/job/21594149278
    https://github.com/zequipe/test_matlab/actions/runs/7910874522/job/21594149356

Thank you for taking a look.

Best regards,
Zaikun

Retry if `setup-matlab` fails

Does there exist an option to retry if setup-matlab fails? setup-matlab@v2-beta randomly (not very often) fails due to the failure of sudo apt. See the following for an example. I guess a retry would likely succeed. Thanks.

Workflow file: https://github.com/zequipe/prima/actions/runs/4982550105/workflow
Workflow run: https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600
Error log:

Preparing system for MATLAB
  /usr/bin/sudo -E bash /home/runner/work/_temp/54c86e1c-82a3-4664-a4a6-b5a51f9b1cbf r2023a
  Hit:1 http://azure.archive.ubuntu.com/ubuntu jammy InRelease
  Hit:2 http://azure.archive.ubuntu.com/ubuntu jammy-updates InRelease
  Hit:3 http://azure.archive.ubuntu.com/ubuntu jammy-backports InRelease
  Hit:4 http://azure.archive.ubuntu.com/ubuntu jammy-security InRelease
  Hit:5 https://packages.microsoft.com/ubuntu/22.04/prod jammy InRelease
  Hit:6 https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu jammy InRelease
  Reading package lists...
  Reading package lists...
  Building dependency tree...
  Reading state information...
  Skipping libasound2, it is already installed and upgrade is not set.
  libasound2 set to manually installed.
  Skipping libcairo-gobject2, it is already installed and upgrade is not set.
  libcairo-gobject2 set to manually installed.
  Skipping libcairo2, it is already installed and upgrade is not set.
  libcairo2 set to manually installed.
  Skipping libcap2, it is already installed and upgrade is not set.
  libcap2 set to manually installed.
  Skipping libcrypt1, it is already installed and upgrade is not set.
  libcrypt1 set to manually installed.
  Skipping libice6, it is already installed and upgrade is not set.
  libice6 set to manually installed.
  Skipping libnspr4, it is already installed and upgrade is not set.
  Skipping libodbc2, it is already installed and upgrade is not set.
  libodbc2 set to manually installed.
  Skipping libodbcinst2, it is already installed and upgrade is not set.
  libodbcinst2 set to manually installed.
  Skipping libuuid1, it is already installed and upgrade is not set.
  libuuid1 set to manually installed.
  Skipping libxcomposite1, it is already installed and upgrade is not set.
  libxcomposite1 set to manually installed.
  Skipping libxcursor1, it is already installed and upgrade is not set.
  libxcursor1 set to manually installed.
  Skipping libxdamage1, it is already installed and upgrade is not set.
  libxdamage1 set to manually installed.
  Skipping libxfixes3, it is already installed and upgrade is not set.
  libxfixes3 set to manually installed.
  Skipping libxft2, it is already installed and upgrade is not set.
  libxft2 set to manually installed.
  Skipping libxinerama1, it is already installed and upgrade is not set.
  libxinerama1 set to manually installed.
  Skipping libxrandr2, it is already installed and upgrade is not set.
  libxrandr2 set to manually installed.
  Skipping libxt6, it is already installed and upgrade is not set.
  libxt6 set to manually installed.
  Skipping libxtst6, it is already installed and upgrade is not set.
  libxtst6 set to manually installed.
  Skipping libxxf86vm1, it is already installed and upgrade is not set.
  libxxf86vm1 set to manually installed.
  Skipping procps, it is already installed and upgrade is not set.
  procps set to manually installed.
  Skipping xkb-data, it is already installed and upgrade is not set.
  xkb-data set to manually installed.
  Skipping ca-certificates, it is already installed and upgrade is not set.
  Skipping libc6, it is already installed and upgrade is not set.
  libc6 set to manually installed.
  Skipping libcups2, it is already installed and upgrade is not set.
  libcups2 set to manually installed.
  Skipping libdrm2, it is already installed and upgrade is not set.
  libdrm2 set to manually installed.
  Skipping libgbm1, it is already installed and upgrade is not set.
  libgbm1 set to manually installed.
  Skipping libgdk-pixbuf-2.0-0, it is already installed and upgrade is not set.
  libgdk-pixbuf-2.0-0 set to manually installed.
  Skipping libglib2.0-0, it is already installed and upgrade is not set.
  libglib2.0-0 set to manually installed.
  Skipping libgstreamer1.0-0, it is already installed and upgrade is not set.
  libgstreamer1.0-0 set to manually installed.
  Skipping libgtk-3-0, it is already installed and upgrade is not set.
  Skipping libnss3, it is already installed and upgrade is not set.
  Skipping libpam0g, it is already installed and upgrade is not set.
  libpam0g set to manually installed.
  Skipping libpango-1.0-0, it is already installed and upgrade is not set.
  libpango-1.0-0 set to manually installed.
  Skipping libpangocairo-1.0-0, it is already installed and upgrade is not set.
  libpangocairo-1.0-0 set to manually installed.
  Skipping libpangoft2-1.0-0, it is already installed and upgrade is not set.
  libpangoft2-1.0-0 set to manually installed.
  Skipping libpython3.[10](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:11), it is already installed and upgrade is not set.
  libpython3.10 set to manually installed.
  Skipping libwayland-client0, it is already installed and upgrade is not set.
  libwayland-client0 set to manually installed.
  Skipping locales, it is already installed and upgrade is not set.
  Skipping sudo, it is already installed and upgrade is not set.
  Skipping zlib1g, it is already installed and upgrade is not set.
  zlib1g set to manually installed.
  The following additional packages will be installed:
    libflac8 libopus0 liborc-0.4-0 libvorbisenc2
  Suggested packages:
    libvisual-0.4-plugins opus-tools
  Recommended packages:
    gstreamer1.0-plugins-base
  The following NEW packages will be installed:
    libflac8 libgstreamer-plugins-base1.0-0 libopus0 liborc-0.4-0 libsndfile1
    libvorbisenc2 locales-all
  0 upgraded, 7 newly installed, 0 to remove and 48 not upgraded.
  Need to get 12.4 MB of archives.
  After this operation, 239 MB of additional disk space will be used.
  Ign:1 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libflac8 amd64 1.3.3-2ubuntu0.1
  Ign:2 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 liborc-0.4-0 amd64 1:0.4.32-2
  Ign:3 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libgstreamer-plugins-base1.0-0 amd64 1.20.1-1
  Ign:4 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libopus0 amd64 1.3.1-0.1build2
  Ign:5 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libvorbisenc2 amd64 1.3.7-1build2
  Ign:6 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libsndfile1 amd64 1.0.31-2build1
  Ign:7 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 locales-all amd64 2.35-0ubuntu3.1
  Ign:1 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libflac8 amd64 1.3.3-2ubuntu0.1
  Ign:2 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 liborc-0.4-0 amd64 1:0.4.32-2
  Ign:3 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libgstreamer-plugins-base1.0-0 amd64 1.20.1-1
  Ign:4 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libopus0 amd64 1.3.1-0.1build2
  Ign:5 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libvorbisenc2 amd64 1.3.7-1build2
  Ign:6 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libsndfile1 amd64 1.0.31-2build1
  Ign:7 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 locales-all amd64 2.35-0ubuntu3.1
  Ign:1 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libflac8 amd64 1.3.3-2ubuntu0.1
  Ign:2 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 liborc-0.4-0 amd64 1:0.4.32-2
  Ign:3 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libgstreamer-plugins-base1.0-0 amd64 1.20.1-1
  Ign:4 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libopus0 amd64 1.3.1-0.1build2
  Ign:5 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libvorbisenc2 amd64 1.3.7-1build2
  Ign:6 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libsndfile1 amd64 1.0.31-2build1
  Ign:7 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 locales-all amd64 2.35-0ubuntu3.1
  Ign:1 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libflac8 amd64 1.3.3-2ubuntu0.1
  Err:2 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 liborc-0.4-0 amd64 1:0.4.32-2
    Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.[15](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:16)4.[17](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:18)4.[20](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:21)8 80]
  Err:3 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libgstreamer-plugins-base1.0-0 amd64 1.20.1-1
    Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.154.174.208 80]
  Err:4 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libopus0 amd64 1.3.1-0.1build2
    Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.154.174.208 80]
  Err:5 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libvorbisenc2 amd64 1.3.7-1build2
    Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.154.174.208 80]
  Err:6 http://azure.archive.ubuntu.com/ubuntu jammy/main amd64 libsndfile1 amd64 1.0.[31](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:32)-2build1
    Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.154.174.208 80]
  Err:7 http://azure.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 locales-all amd64 2.35-0ubuntu3.1
    Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.154.174.208 80]
  Err:1 http://azure.archive.ubuntu.com/ubuntu jammy-updates/main amd64 libflac8 amd64 1.3.3-2ubuntu0.1
    Could not connect to azure.archive.ubuntu.com:80 (52.154.174.208), connection timed out [IP: 52.154.174.208 80]
  E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/f/flac/libflac8_1.3.3-2ubuntu0.1_amd64.deb  Could not connect to azure.archive.ubuntu.com:80 (52.154.174.208), connection timed out [IP: 52.154.174.208 80]
  E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/o/orc/liborc-0.4-0_0.4.[32](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:33)-2_amd64.deb  Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.154.174.208 80]
  E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/g/gst-plugins-base1.0/libgstreamer-plugins-base1.0-0_1.20.1-1_amd64.deb  Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.154.174.208 80]
  E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/o/opus/libopus0_1.3.1-0.1build2_amd64.deb  Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.154.174.208 80]
  E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/libv/libvorbis/libvorbisenc2_1.3.7-1build2_amd64.deb  Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.154.174.208 80]
  E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/main/libs/libsndfile/libsndfile1_1.0.31-2build1_amd64.deb  Unable to connect to azure.archive.ubuntu.com:http: [IP: 52.154.174.208 80]
  E: Failed to fetch http://azure.archive.ubuntu.com/ubuntu/pool/universe/g/glibc/locales-all_2.[35](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:36)-0ubuntu3.1_amd64.deb  Unable to connect to azure.archive.ubuntu.com:http: [IP: [52](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:53).1[54](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:55).1[74](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:75).208 [80](https://github.com/zequipe/prima/actions/runs/4982550105/jobs/8918377600#step:9:81)]
  E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Error: Error: The process '/usr/bin/sudo' failed with exit code [100]

License usage

Hi, we're interested in using these scripts to test FindMatlab in CMake. However, we use GitLab-CI; what is the license situation for using the scripts here for our CI purposes? Thanks.

Document the use of 'latest' as release parameter - v2-beta

I noticed that in the action definition: https://github.com/matlab-actions/setup-matlab/blob/v2-beta/action.yml
the default value for the 'release' input is 'latest'. However, this is not documented anywhere in the README.

The desired use case is to run a workflow using an older version of MATLAB such as R2020b, and the latest available MATLAB.
Currently, using the documentation https://github.com/matlab-actions/setup-matlab/tree/v2-beta#set-up-matlab doesn't mention you can pass in the string 'latest' to get the latest.

I should mention this is in the v2-beta for the setup-matlab action.

Workflows crash with a segmentation violation after `matlab-actions/[email protected]` finishes and before `matlab-actions/[email protected]` starts

Recently, it has been happening from time to time (but not always) that my workflows crash with a segmentation violation right after matlab-actions/[email protected] finishes and before matlab-actions/[email protected] starts.

Here are two examples:

crash1.log
workflow1

crash2.log
workflow2

Since the crash happens randomly, I do not expect it will be trivial to debug. But it will still be great if you could have a look.

Thanks.

`MEX` is much slower on macOS than on Linux

Hello!

I did some timing of MEX on macOS and Linux using GitHub Actions. It turns out that MEX is much slower on macOS than on Linux: slow to set up, slow to mexify, and the MEX function is slow to run. In particular, it is about 250 times slower to set up MEX for Fortran on macOS than on Linux.

Below is the data (time in seconds). More details are available at the action. Is this a problem of macOS, the virtual environment of GitHub-hosted runners, Intel oneAPI, or MATLAB? Thank you very much for checking it.

System: GNU/Linux | Language: C | MATLAB: 2021b | Time: 2022.02.26 05:46:36
MEX configured to use 'gcc' for C language compilation.
- Time for setting MEX up: 0.477950 seconds
- Time for mexifying timestwo: 4.500026 seconds
- Time for 100 runs of timestwo: 0.003845 seconds

System: Windows | Language: C | MATLAB: 2021b | Time: 2022.02.26 05:47:56
MEX configured to use 'Microsoft Visual C++ 2019 (C)' for C language compilation.
- Time for setting MEX up: 2.518557 seconds
- Time for mexifying timestwo: 4.416958 seconds
- Time for 100 runs of timestwo: 0.004215 seconds

System: macOS | Language: C | MATLAB: 2021b | Time: 2022.02.26 05:49:01
MEX configured to use 'Xcode with Clang' for C language compilation.
- Time for setting MEX up: 17.602277 seconds
- Time for mexifying timestwo: 5.979585 seconds
- Time for 100 runs of timestwo: 0.130843 seconds


System: GNU/Linux | Language: Fortran | MATLAB: 2021b | Time: 2022.02.26 05:46:20
MEX configured to use 'gfortran' for FORTRAN language compilation.
- Time for setting MEX up: 0.835881 seconds
- Time for mexifying timestwo: 2.768746 seconds
- Time for 100 runs of timestwo: 0.003279 seconds

System: Windows | Language: Fortran | MATLAB: 2021b | Time: 2022.02.26 05:51:04
MEX configured to use 'Intel oneAPI 2021 for Fortran with Microsoft Visual Studio 2019' for FORTRAN language compilation.
- Time for setting MEX up: 1.660305 seconds
- Time for mexifying timestwo: 3.495534 seconds
- Time for 100 runs of timestwo: 0.003299 seconds

System: macOS | Language: Fortran | MATLAB: 2021b | Time: 2022.02.26 05:49:47
MEX configured to use 'Intel Fortran Composer XE' for FORTRAN language compilation.
- Time for setting MEX up: 248.263933 seconds
- Time for mexifying timestwo: 87.093711 seconds

See discussions on MATLAB Answers and StackOverflow.

Conflict between `actions/cache` and `setup-matlab@v2`

It looks like it may be possible to cause an issue in setup-matlab@v2 if you use the actions/cache action manually rather than the cache: true input.

See https://github.com/opt4ai/prima/actions/runs/7855964578/job/21438238878 for example. In this workflow, MATLAB is cached using actions/cache and setup-matlab@v2 is run with cache: false (default).

Screenshot 2024-02-12 at 9 27 53 AM

When this workflow runs, the cache is restored by actions/cache and setup-matlab@v2 skips claiming it found MATLAB in the cache (even though cache: false). run-command@v2 is then unable to find matlab on the system path.

Screenshot 2024-02-12 at 9 29 12 AM

Unable to launch matlab engine

Hello.

I'm maintaining the MATLAB.jl package which calls the MATLAB Engine APIs for C. Unfortunately, using this gh-action, I am unable to open the Matlab engine through the engOpen method (ref: https://www.mathworks.com/help/matlab/apiref/engopen.html).
For reference the current code and it's unit tests work perfectly on a fresh install of MATLAB 2021a. I'm not sure why the engine fails to open on the gh actions CI:

https://github.com/JuliaInterop/MATLAB.jl/pull/189/files#diff-3ab46ee209a127470fce3c2cf106b1a1dbadbb929a4b5b13656a4bc4ce19c0b8

R2022a support

Thanks to the team for the CI support ❤️
Since the R2022a has been released, is there any information to tell when will we be able to use this version in Github actions

MATLABPyHost.exe won't start on Windows

Hi,

I've been trying to get MATLAB's 'OutOfProcess' Python support to work on a Windows runner, but I've encountered an issue that I can't get past. This is my workflow:

name: MATLAB Windows OutOfProcess Bug

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  main:
    runs-on: 'windows-latest'
    steps:
      - name: Set up MATLAB
        uses: matlab-actions/setup-matlab@v1
      - name: Set up Python
        uses: actions/setup-python@v2
        with:
          python-version: '3.8'
      - name: Create MATLAB script
        run: |
          "pyenv('ExecutionMode', 'OutOfProcess')" | Out-File -FilePath run.m
          "py.list({'Monday','Tuesday','Wednesday','Thursday','Friday'})" | Out-File -FilePath run.m -Append
      - name: Run script
        run: matlab -batch "run"

The output from the last step is:

MATLAB is running in headless mode.  Figure windows will not be displayed.

	Sponsored License -- for use in support of a program or activity sponsored by MathWorks.
	Not for government, commercial or other non-sponsored organizational use.

Caught "std::exception" Exception message is:
Unable to launch Simple server: Unable to launch C:\Program Files\MATLAB\R2021b\interprocess\bin\win64\pycli\MATLABPyHost.exe

because: An error occurred while initializing child process:  While attempting to execute "C:\Program Files\MATLAB\R2021b\interprocess\bin\win64\pycli\MATLABPyHost.exe -mvmInputPipe 138736 0 0 0 0 0 -mvmOutputPipe 0 139588 0 0 0 0": CreateProcessW: The parameter is incorrect

ans = 

  PythonEnvironment with properties:

          Version: "3.8"
       Executable: "C:\hostedtoolcache\windows\Python\3.8.[10](https://github.com/H0R5E/matlab-actions-windows-bug/runs/5096231061#step:5:10)\x64\python.EXE"
          Library: "C:\hostedtoolcache\windows\Python\3.8.10\x64\python38.dll"
             Home: "C:\hostedtoolcache\windows\Python\3.8.10\x64"
           Status: NotLoaded
    ExecutionMode: OutOfProcess

thread_monitor::launch: _beginthreadex failed
ERROR: MATLAB error Exit Status: 0x00000001
Error: Process completed with exit code 1.

I have set up a repo just to test this issue and you can see the outcome here.

I understand that Windows support is not official, as yet, but can you offer me any advice about this issue?

Many thanks,

Mat

`setup-matlab@v2`: issues with Parallel Computing Toolbox

Hi @mcafaro ,

How does the built-in cache of setup-matlab@v2 distinguish different caches? Does it respect the with, especially release and products? As far as I have observed, it does not respect products. This seems to be a bug.

Thank you for taking a look.

Best regards,
Zaikun

How to specify MATLAB release

Hi, I'd like to specify MATLAB release in setup-matlab. The README says that the action accepts the "release" option for that, but how can I specifically set it in ci.yml file?

Native support for PCT parallel run on self hosted runners in run-tests

Hi, we're an automotive firmware consulting firm.

I'll start off saying: thanks for all your hard work on making it easy to integrate and enable CI with MATLAB. I am pleased to say that all of your actions published so far work great, and integrating everything was an absolute breeze. This has been a very important milestone for MATLAB and all our ISO 26262/high assurance clients, making it feasible to introduce CI pipelines into new projects earlier in the development cycle.

At the moment we have some clients with self-hosted runners and private repositories. These runners have special licensing installed (i.e. high integrity compilers, toolchains, blocksets, etc.)

For some of our clients, the runners are starting to fall behind as more unit tests are added and this causes a back-up in the system during the day that can delay developers. Adding more runners is not a viable strategy at the moment because the licensing and tooling is quite costly as you can imagine, and we're already running on the fastest boxes possible.

When we get to this stage in a project, we usually tool the CI to use PCT (Parallel Toolbox) to run the tests in parallel using a local thread pool. In our experience there is a lot of CPU idle time in test tear-up and tear-down, so this decreases the amount of time taken to run the tests linearly, i.e. if there are 8 workers created on 4 cores, then the tests will run approx. in 1/8th the time (87% time and cost saving!)

For recent clients however, we've stopped rolling our own CI solution using m-files and started using the run-tests action. This is great because it means that we can deliver a CI solution that is much more standard and out-of-the-box, but it also means that we can't just customize the solution to enable PCT anymore, so we're now sort of stuck on the performance side.

It would naturally sell more PCT licenses to us and our clients if run-tests natively detected an installation of PCT on the worker and automatically utilized it, since it would be very convenient to roll out. If PCT can not eventually be supported, it would put us in a position where we might have to use a different solution. I expect many might feel the same.

setup-matlab 2.0 encounters various errors on all platforms

Hi,

In the following workflow runs, various errors occur

https://github.com/opt4ai/prima/actions/runs/7855964578
https://github.com/opt4ai/prima/actions/runs/7846540039

There are at least three types of errors (maybe more):

  1. https://github.com/opt4ai/prima/actions/runs/7855964578/job/21438238878
Run matlab-actions/[email protected]
Generate script
Run command
  /Users/runner/work/_actions/matlab-actions/run-command/v2.0.0/dist/bin/maci64/run-matlab-command setenv('MW_ORIG_WORKING_FOLDER', cd('/var/folders/gh/0cww6vn93nv_jjsw3xkm0b4m0000gn/T/run_matlab_command-roOuUd'));command_27a3f4da_e6e0_4250_90a7_62541ce3dd93 
  'matlab' executable not found on the system path
Error: Error: The process '/Users/runner/work/_actions/matlab-actions/run-command/v2.0.0/dist/bin/maci64/run-matlab-command' failed with exit code 1
  1. https://github.com/opt4ai/prima/actions/runs/7855964578/job/21438239550
/Users/runner/work/_actions/matlab-actions/run-command/v2.0.0/dist/bin/maci64/run-matlab-command setenv('MW_ORIG_WORKING_FOLDER', cd('/var/folders/14/hgs_fjmn5ms001tb8qtxxn5c0000gn/T/run_matlab_command-FZHUpC'));command_9bcf11a3_192b_4b78_9f3a_eee938b0f3a8 
  License checkout failed.
  License Manager Error -1
  The license file cannot be found.
  
  Troubleshoot this issue by visiting: 
  https://www.mathworks.com/support/lme/1
  
  Diagnostic Information:
  Feature: MATLAB 
  License path: /Users/runner/Library/Application Support/MathWorks/MATLAB/R20[23](https://github.com/opt4ai/prima/actions/runs/7855964578/job/21438239550#step:13:25)b_licenses:/Users/runner/hostedtoolcache/MATLAB/2023.2.999/x64/MATLAB.app/licenses/license.dat:/Users/runner/hostedtoolcache/MATLAB/2023.2.999/x64/MATLAB.app/licenses 
  Licensing error: -1,359. System Error: 2
  exit status 1
Error: Error: The process '/Users/runner/work/_actions/matlab-actions/run-command/v2.0.0/dist/bin/maci64/run-matlab-command' failed with exit code 1
  1. https://github.com/opt4ai/prima/actions/runs/7855964578/job/21438236359
  /home/runner/work/_actions/matlab-actions/run-command/v2.0.0/dist/bin/glnxa64/run-matlab-command setenv('MW_ORIG_WORKING_FOLDER', cd('/tmp/run_matlab_command-ITFSlM'));command_d1f4fcab_98ed_40a7_8b58_0c0236e4e49e 
  exit status 1
  ---------------------------------------------------------------------------
  Error: Activation cannot proceed. You may either:
  1. Set an X11 display, and restart the activation process
  2. Use the silent activation feature
  3. Activate using the license center
  ---------------------------------------------------------------------------
Error: Error: The process '/home/runner/work/_actions/matlab-actions/run-command/v2.0.0/dist/bin/glnxa64/run-matlab-command' failed with exit code 1

Thank you for taking a look.

Best regards,
Zaikun

Regression: mex command failed to find mingw64 g++ even `MW_MINGW64_LOC` was defined

this seems to be a recent regression on setup-matlab (although I can't exclude the possibility that something in my script that has caused this, or github's windows-2019 runner).

previously, my github action script can build a mex file on windows without any issue using mingw64 g++ (by defining MW_MINGW64_LOC), see a successful build on Oct 7 (expand the section Build mcxlabcl for MATLAB)

https://github.com/fangq/mcxcl/actions/runs/6443229681/job/17494922687

however, I just made some changes in my C code without touching the github action script, mex failed with the following error:

Supported compiler not detected. You can install the freely available MinGW-w64 C/C++ compiler; visit https://www.mathworks.com/matlabcentral/fileexchange/52848-matlab-support-for-mingw-w64-c-c-compiler. For more options, visit https://www.mathworks.com/support/compilers.

switching matlab from latest to R2022a did not solve this problem

https://github.com/fangq/mcxcl/actions/runs/6684861633/job/18162546536 (using latest)
https://github.com/fangq/mcxcl/actions/runs/6684966422/job/18162772877 (using R2022a)

from the log, you can see MW_MINGW64_LOC was defined the same way as it was before.

I am not sure if this is caused by github runner image changes, or this is related to matlab changes.
Please let me know if have any suggestions.

Setup with display for GUI testing?

Hi, great work building these packages! Thanks.

I'm trying to use it to run GitHub hosted Actions testing of my package HydroSight. However, the tests are failing because my package uses graphical features and setup-matlab appears to start matlab with '-nodisplay'.

Given that my package is heavily dependent upon a range of graphical features, is there any way to change matlab-actions/setup-matlab to enable the graphical environment?

FYI, if relevant my .yml testing file is here.

setup-matlab v2-beta failed on windows runners

I want to first thank the team for making matlab available for github actions.

I noticed that setup-matlab v2-beta supports all platforms as opposed to Linux-only for v1, and used it for building a mex file for one of my toolboxes. For Mac and Linux, it runs fine, but it failed for the windows runner (windows-2019), see error log here

https://github.com/fangq/mmc/actions/runs/4395905754/jobs/7698013664

the error message (Error: Unable to complete installation setup) is not explicit and I don't really what had caused this.

is there a way to find out and get around?

I also noticed that v2 takes significantly longer time (3-7 min on all tested platforms) than v1 on Linux (~20 s). see

https://github.com/fangq/mmc/actions/runs/4398123809/usage

I am wondering if this is expected, and if there is anyway to reduce this setup overhead. I need mex and the libraries for my project.

Does `mex` work on Windows?

Hello!

First of all, thank you very much for making MATLAB available with GitHub Actions. This is life-changing. I have been using it in several research projects.

It is great that v1.1.0 now supports Windows and macOS. I have some actions involving mex (e.g., this one). Both the Linux and macOS versions work perfectly, but the Windows version complain that

 Supported compiler not detected. You can install the freely available MinGW-w64 C/C++ compiler; visit
  https://www.mathworks.com/matlabcentral/fileexchange/52848-matlab-support-for-mingw-w64-c-c-compiler. For more options, visit https://www.mathworks.com/support/compilers.

Did I miss something? How should I configure a GiHub-hosted runner so that mex works?

Thank you very much!

Best regards,
Zaikun

setup-matlab@v2-beta failed with "Error: Download failed"

Hello,

Today (2023-03-23), setup-matlab@v2-beta failed with "Error: Download failed". It worked yesterday.

The workflow file: https://github.com/primalib/prima/actions/runs/4496216340/workflow

The relevant error log is as follows. Thank you for having a look.

Best regards,
Zaikun

2023-03-23T01:50:25.4983288Z ##[group]Setting up MATLAB
2023-03-23T01:50:26.2675984Z [command]/usr/bin/chmod +x /home/runner/work/_temp/9367ea06-4a46-407e-b93f-963711677208
2023-03-23T01:50:26.2747225Z [command]/home/runner/work/_temp/9367ea06-4a46-407e-b93f-963711677208 install --release=r2022b --destination=/opt/hostedtoolcache/MATLAB/2022.2.999/x64 --products MATLAB Parallel_Computing_Toolbox
2023-03-23T01:50:28.2304042Z MathWorks Programs are licensed under the MathWorks Software License Agreement,
2023-03-23T01:50:28.2304937Z available in the desktop installation of the MathWorks Programs or in the
2023-03-23T01:50:28.2305681Z virtual machine image.
2023-03-23T01:50:28.2305989Z 
2023-03-23T01:50:28.2306260Z Installing with the following parameters:
2023-03-23T01:50:28.2307238Z --destination=/opt/hostedtoolcache/MATLAB/2022.2.999/x64
2023-03-23T01:50:28.2307898Z --doc=false
2023-03-23T01:50:28.2308474Z --release=R2022b
2023-03-23T01:50:28.2309120Z --products=MATLAB Parallel_Computing_Toolbox 
2023-03-23T01:50:28.2309842Z ---------------------------------------------
2023-03-23T01:50:42.6662005Z Error: Download failed. Check the network connection and retry.
2023-03-23T01:50:43.1507323Z ##[endgroup]
2023-03-23T01:50:43.1544225Z ##[error]Error: The process '/home/runner/work/_temp/9367ea06-4a46-407e-b93f-963711677208' failed with exit code 255
2023-03-23T01:50:43.1631051Z Post job cleanup.
2023-03-23T01:50:43.3011737Z [command]/usr/bin/git version
2023-03-23T01:50:43.3065234Z git version 2.39.2
2023-03-23T01:50:43.3152030Z Temporarily overriding HOME='/home/runner/work/_temp/1ae6e235-178d-4f21-863f-c16982900e1e' before making global git config changes
2023-03-23T01:50:43.3159875Z Adding repository directory to the temporary git global config as a safe directory
2023-03-23T01:50:43.3168360Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/prima/prima/matcutest
2023-03-23T01:50:43.3218314Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2023-03-23T01:50:43.3260955Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2023-03-23T01:50:43.3504127Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2023-03-23T01:50:43.3526839Z http.https://github.com/.extraheader
2023-03-23T01:50:43.3542955Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2023-03-23T01:50:43.3586426Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2023-03-23T01:50:43.3929956Z Post job cleanup.
2023-03-23T01:50:43.5290513Z [command]/usr/bin/git version
2023-03-23T01:50:43.5339182Z git version 2.39.2
2023-03-23T01:50:43.5390172Z Temporarily overriding HOME='/home/runner/work/_temp/947c5c5c-220c-4312-b0e6-e4c84c565982' before making global git config changes
2023-03-23T01:50:43.5392295Z Adding repository directory to the temporary git global config as a safe directory
2023-03-23T01:50:43.5398853Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/prima/prima
2023-03-23T01:50:43.5456090Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2023-03-23T01:50:43.5485961Z core.sshcommand
2023-03-23T01:50:43.5498252Z [command]/usr/bin/git config --local --unset-all core.sshCommand
2023-03-23T01:50:43.5539038Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2023-03-23T01:50:43.5771317Z Entering '.github/scripts'
2023-03-23T01:50:43.5797409Z core.sshcommand
2023-03-23T01:50:43.5856323Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2023-03-23T01:50:43.5875622Z http.https://github.com/.extraheader
2023-03-23T01:50:43.5888429Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2023-03-23T01:50:43.5927410Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2023-03-23T01:50:43.6158645Z Entering '.github/scripts'
2023-03-23T01:50:43.6186160Z http.https://github.com/.extraheader
2023-03-23T01:50:43.6416283Z Cleaning up orphan processes

Run MATLAB from shell with v2?

With v1 I was able to configure my CI to use the same workflow to run my own custom test environment in both MATLAB and Octave, by launching them via the command line. For MATLAB, I used matlab -batch "myscript".

After switching to v2, I get a "License checkout failed" error when attempting to launch MATLAB from a shell.

License checkout failed.
License Manager Error -1
The license file cannot be found.

Troubleshoot this issue by visiting: 
https://www.mathworks.com/support/lme/1

Diagnostic Information:
Feature: MATLAB 
License path: /home/runner/.matlab/R2023b_licenses:/opt/hostedtoolcache/MATLAB/2023.2.999/x64/licenses/license.dat:/opt/hostedtoolcache/MATLAB/2023.2.999/x64/licenses 

Can I add a -c licensefile to the command to make it work? If so, where is the license file? If not, please tell me how I can successfully launch MATLAB from a shell script to run my custom tests.

And keep in mind that the reason I am not able to use matlab-actions/run-command is because I'm using the same workflow to run my custom test scripts on Octave. I have a lot of projects with this setup, so redesigning all of them would be prohibitive.

Any help is appreciated.

[BUG] cannot install on macOS latest with version 2.1.1 and matlab R2021a

See workflow output here: https://github.com/Remi-Gau/matlab_set_up/actions/runs/8966423110

Other combinations I have tested seem fine for that action.

Tested with:

---
name: 'matlab: tests'

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

on:
  push:
    branches:
    - main
  pull_request:
    branches: ['*']

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

jobs:
  test:

    strategy:
      fail-fast: false
      matrix:
        version: [R2021a, R2023a]
        os: [ubuntu-latest, macos-latest, windows-latest]

    runs-on: ${{matrix.os}}

    steps:

    - name: Install MATLAB
      uses: matlab-actions/[email protected]
      with:
        release: ${{matrix.version}}

Raw log of failures

2024-05-06T08:43:17.8523510Z Current runner version: '2.316.0'
2024-05-06T08:43:17.8542850Z ##[group]Operating System
2024-05-06T08:43:17.8543300Z macOS
2024-05-06T08:43:17.8543560Z 14.4.1
2024-05-06T08:43:17.8543820Z 23E224
2024-05-06T08:43:17.8544090Z ##[endgroup]
2024-05-06T08:43:17.8544400Z ##[group]Runner Image
2024-05-06T08:43:17.8544740Z Image: macos-14-arm64
2024-05-06T08:43:17.8545060Z Version: 20240422.3
2024-05-06T08:43:17.8545820Z Included Software: https://github.com/actions/runner-images/blob/macos-14-arm64/20240422.3/images/macos/macos-14-arm64-Readme.md
2024-05-06T08:43:17.8546840Z Image Release: https://github.com/actions/runner-images/releases/tag/macos-14-arm64%2F20240422.3
2024-05-06T08:43:17.8547470Z ##[endgroup]
2024-05-06T08:43:17.8547780Z ##[group]Runner Image Provisioner
2024-05-06T08:43:17.8548210Z 2.0.369.1+55cddbb57f254a369b6e7b3b508cebdbee5d24be
2024-05-06T08:43:17.8548640Z ##[endgroup]
2024-05-06T08:43:17.8549350Z ##[group]GITHUB_TOKEN Permissions
2024-05-06T08:43:17.8550220Z Contents: read
2024-05-06T08:43:17.8550550Z Metadata: read
2024-05-06T08:43:17.8550850Z Packages: read
2024-05-06T08:43:17.8551200Z ##[endgroup]
2024-05-06T08:43:17.8553080Z Secret source: Actions
2024-05-06T08:43:17.8553470Z Prepare workflow directory
2024-05-06T08:43:17.9014550Z Prepare all required actions
2024-05-06T08:43:17.9115390Z Getting action download info
2024-05-06T08:43:18.0531910Z Download action repository 'matlab-actions/[email protected]' (SHA:63fa229806aa98007d182e8a09827d2873d1a6d8)
2024-05-06T08:43:19.4411980Z Complete job name: test (R2021a, macos-latest)
2024-05-06T08:43:19.5089210Z ##[group]Run matlab-actions/[email protected]
2024-05-06T08:43:19.5089790Z with:
2024-05-06T08:43:19.5090110Z   release: R2021a
2024-05-06T08:43:19.5090440Z   cache: false
2024-05-06T08:43:19.5090770Z ##[endgroup]
2024-05-06T08:43:19.8565560Z ##[group]Preparing system for MATLAB
2024-05-06T08:43:21.3740680Z [command]/usr/bin/sudo installer -pkg /Users/runner/work/_temp/jdk.pkg -target /
2024-05-06T08:43:23.3952190Z installer: Package name is Amazon Corretto 8
2024-05-06T08:43:23.3984220Z installer: Installing at base path /
2024-05-06T08:43:23.3984990Z installer: The install was successful.
2024-05-06T08:43:23.3986030Z ##[endgroup]
2024-05-06T08:43:23.3986540Z ##[group]Setting up MATLAB
2024-05-06T08:43:23.4004730Z [command]/usr/bin/sudo launchctl limit maxfiles 65536 200000
2024-05-06T08:43:24.9935240Z [command]/bin/chmod +x /Users/runner/work/_temp/mpm
2024-05-06T08:43:24.9972920Z [command]/Users/runner/work/_temp/mpm install --release=r2021a --destination=/Users/runner/hostedtoolcache/MATLAB/2021.1.999/arm64/MATLAB.app --products MATLAB
2024-05-06T08:43:27.6039590Z Installing with the following parameters:
2024-05-06T08:43:27.6043490Z --destination=/Users/runner/hostedtoolcache/MATLAB/2021.1.999/arm64/MATLAB.app
2024-05-06T08:43:27.6068200Z --doc=false
2024-05-06T08:43:27.6069990Z --release=R2021a
2024-05-06T08:43:27.6071180Z --products=MATLAB
2024-05-06T08:43:27.6072240Z ---------------------------------------------
2024-05-06T08:43:38.4565960Z Error: Unable to find installation candidates for these products:
2024-05-06T08:43:38.4567430Z MATLAB
2024-05-06T08:43:38.4813290Z ##[endgroup]
2024-05-06T08:43:38.4857990Z ##[error]Error: The process '/Users/runner/work/_temp/mpm' failed with exit code 255
2024-05-06T08:43:38.5235890Z Cleaning up orphan processes

Consider installing MATLAB for Intel when running on an Apple silicon runner and requesting a release prior to R2023b

R2023b is the first release of MATLAB that runs natively on Apple silicon Macs. If you attempt to run a prior release of MATLAB on an Apple silicon runner (macos-14, which is now macos-latest), MATLAB will appear to install but fail during execution.

A better experience may be possible by installing the Intel-based version of MATLAB on Apple silicon runners when a release prior to R2023b is requested. MATLAB would run using Rosetta 2 in this situation.

Document `matlabroot` output

It would be convenient to have an option to export the configured MATLAB install directory as an environment variable. It's useful when linking against MATLALB when developing an add-on. AFAICT, right now you kinda have to guess (on Linux at least).

MATLAB 2023b is located at /opt/hostedtoolcache/MATLAB/2023.2.999/x64

Support for toolbox integration

Some background, I am trying to develop a toolbox and I have developed a lot of tools to create native-like documentations. I want to split that code off to a separate toolbox and only use it for packaging the toolbox and creating releases. I am currently using the matlab github action for automatically packaging the toolbox and post them as a release.

So the feature request here is to allow setup-matlab to specify toolboxes (from matlab central, github etc.) that would be automatically pulled in and added to the matlab path.

Getting security alerts while using this action for enterprise project

Hi Team,

I need this actions to be used by my project and since it's not allowed by default our enterprise GitHub Team need to review and add it for our project. Our GitHub Team has found alert and mentioned below point.

"The actions requested are available on our github instance but we are seeing dependabot alerts. Since those repo have vulnerabilities, we won’t be able to make it public. Look like it’s patched on the master but they haven’t release it. Please file issue with the actions owner to release patched version. After that, we can make it available for your team to use."

Can you please look into it and help.
Alert

Support for 2024a

Hi Mathworks,

Do you know when the support for 2024a is in plan?

Thanks in advance

Planned support for Windows?

Hello,

This repo is awesome! I'm using it to test MATLAB support for pandoc-plot, but at this time only Linux machines are supported. Any plans to support Windows for Github-hosted runners?

Thanks!

GitHub Actions deprecation warning

This warning occurs for the setup-matlab action:

Node.js 12 actions are deprecated. For more information see: https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/. Please update the following actions to use Node.js 16: matlab-actions/setup-matlab, matlab-actions/run-command

I'm not familiar with the internals of matlab-actions, but possibly under .github/workflows updating to the following would help:

- uses: actions/setup-node@v3
  with:
    node-version: 16

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.