Use Linux and Windows for CI. #2
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
# GitHub Actions Workflow with MATLAB Actions | |
# | |
# For a general overview of GitHub Actions, see | |
# https://docs.github.com/en/actions | |
# | |
# For using MathWorks products in GitHub Actions, see | |
# https://github.com/matlab-actions/overview | |
# | |
# For details about the syntax of this file, see | |
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions | |
# Copyright 2021-2025 The MathWorks, Inc. | |
name: CI using MATLAB on Linux | |
on: | |
push: | |
branches: [ R2024b ] | |
paths-ignore: | |
- 'docs/**' | |
- '**.md' | |
- '**.png' | |
- '**.svg' | |
- '**.txt' | |
- '**.xml' | |
pull_request: | |
branches: [ R2024b ] | |
paths-ignore: | |
- 'docs/**' | |
- '**.md' | |
- '**.png' | |
- '**.svg' | |
- '**.txt' | |
- '**.xml' | |
# schedule: | |
# - cron: '55/61 20/25 1/6 * *' # schedule a weekly-ish build | |
workflow_dispatch: | |
jobs: | |
job-buildtool: | |
runs-on: ubuntu-latest | |
# Matrix strategy is used to run the job in various MATLAB versions. | |
# For information about matrix strategy, see the documentation. | |
# - Running variations of jobs in a workflow | |
# https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/running-variations-of-jobs-in-a-workflow | |
strategy: | |
matrix: | |
matlab_version: [R2024b] | |
#matlab_version: [R2024b, R2025a] | |
name: Test in ${{ matrix.matlab_version }} on Linux | |
permissions: | |
# required for sarif upload | |
security-events: write | |
checks: write # required for junit test result publishing | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v4 | |
- name: Setup MATLAB ${{ matrix.matlab_version }} | |
uses: matlab-actions/setup-matlab@v2 | |
with: | |
release: ${{ matrix.matlab_version }} | |
cache: true | |
products: | | |
Simulink | |
Simscape | |
Simscape_Electrical | |
Simscape_Driveline | |
Powertrain_Blockset | |
- name: Start display server for running headless Linux with graphics | |
run: | | |
sudo apt-get install xvfb | |
Xvfb :99 & | |
echo "DISPLAY=:99" >> $GITHUB_ENV | |
- name: Run tests via buildtool using buildfile.m | |
uses: matlab-actions/run-command@v2 | |
with: | |
command: | | |
openProject(pwd); | |
buildtool CodeIssues CheckProject Test | |
- name: Upload SARIF file | |
uses: github/codeql-action/upload-sarif@v3 | |
if: always() | |
with: | |
sarif_file: cache/buildtool-results/code-issues.sarif | |
category: matlab-analysis | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() | |
with: | |
report_paths: 'cache/buildtool-results/test-results.xml' | |
- name: Upload Test Report | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Test Results | |
path: cache/buildtool-results/test-results.pdf | |
- name: Upload All Artifacts | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: All Artifacts | |
path: cache/buildtool-results | |
- name: Publish coverage | |
uses: 5monkeys/cobertura-action@master | |
continue-on-error: true | |
with: | |
path: cache/buildtool-results/code-coverage.xml | |
minimum_coverage: 75 |