Skip to content

get_owner: add dotnet and tests #772

get_owner: add dotnet and tests

get_owner: add dotnet and tests #772

Workflow file for this run

name: ci
on:
push:
paths:
- "**.m"
- "**.h"
- "**.cpp"
- ".github/workflows/ci.yml"
- ".github/workflows/*/action.yml"
- "!private/publish_gen_index_html.m"
- "!octave_build.m"
- "!scripts/**"
# avoid wasted runs
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
matlab:
timeout-minutes: 15
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04, windows-2022]
release: [R2022a, R2022b, R2023a, R2023b, R2024a, R2024b, R2025a]
# on Linux, even R2025a needs GCC 10.x and hence Github Actions runner ubuntu-22.04.
# R2021a...R2022a officially need Ubuntu 20.04,
# which is no longer available on Github Actions
include:
- os: macos-latest
release: R2025a
- os: macos-latest
release: R2024b
- os: macos-latest
release: R2024a
- os: macos-latest
release: R2023b
# macOS R2023b to be compatible with Xcode version on Github Actions runner
steps:
- uses: actions/checkout@v4
- uses: ./.github/workflows/composite-install-matlab
- name: Linux CXX
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: echo "CXXMEX=g++-10" >> $GITHUB_ENV
- name: Fortran FC
if: runner.os == 'macOS'
run: echo "FC=gfortran-14" >> $GITHUB_ENV
- name: Check CodeIssues
uses: ./.github/workflows/composite-check
# https://www.mathworks.com/support/requirements/openjdk.html
# old matlab may segfault with too-new JDK
- name: matlab_jenv JDK 11
if: ${{ matrix.release >= 'R2023a' && matrix.release < 'R2025a' }}
run: matlab_jenv ${JAVA_HOME_11_X64}
- name: Matlab tell External Language Interface versions
uses: matlab-actions/run-command@v2
with:
command: stdlib.platform_tell()
- name: Non-MEX tests
uses: ./.github/workflows/composite-nomex
- name: MEX tests
if: ${{ matrix.release >= 'R2023b' }}
uses: ./.github/workflows/composite-mex
matlab-older-than-R2022a:
timeout-minutes: 15
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
release: [R2021a, R2021b]
name: ${{ matrix.release }}-${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: ./.github/workflows/composite-install-matlab
- name: Matlab tell External Language Interface versions
uses: matlab-actions/run-command@v2
with:
command: stdlib.platform_tell()
- name: Non-MEX tests
uses: ./.github/workflows/composite-nomex