Skip to content

Update ci.yml

Update ci.yml #225

Workflow file for this run

# This is a basic workflow to help you get started with MATLAB Actions
name: MATLAB Test
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
# and ignore if there are only changes to .md-files, such as README.md
push:
branches: [ master ]
paths-ignore:
- '**.md'
pull_request:
branches: [ master ]
paths-ignore:
- '**.md'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on:
group: larger-runner
labels: ubuntu-latest-m
continue-on-error: true
strategy:
matrix:
release: [R2021b]
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Check out repository
uses: actions/checkout@v2
with:
submodules: recursive
- name: Create LFS file list
run: git lfs ls-files -l | cut -d' ' -f1 | sort > .lfs-assets-id
- name: Check lfs-files content
run: cat .lfs-assets-id
- name: Restore LFS cache
uses: actions/cache@v3
id: cache
with:
path: .git/lfs
key: lfs-${{ hashFiles('.lfs-assets-id') }}-v2
- name: Git LFS Pull
if: steps.cache.outputs.cache-hit != 'true'
run: git lfs pull
# Sets up MATLAB on the GitHub Actions runner
- name: Setup MATLAB
uses: matlab-actions/setup-matlab@v1
with:
release: ${{ matrix.release }}
# Runs a set of commands using the runners shell
- name: Run all tests
uses: matlab-actions/run-tests@v1
with:
test-results-junit: test-results/results_${{ matrix.release }}.xml
test-results-pdf: test-results/results_${{ matrix.release }}.pdf
code-coverage-cobertura: coverage_${{ matrix.release }}.xml
# Upload JUnit results to codecov.io
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v2
with:
file: coverage_${{ matrix.release }}.xml
flags: ${{ matrix.release }}
# Show Test Report
- name: Test Report
uses: dorny/test-reporter@v1
if: success() || failure() # run this step even if previous step failed
with:
name: MATLAB Test ${{ matrix.release }}
path: test-results/results_${{ matrix.release }}.xml
reporter: java-junit
# Upload PDF artifacts
- name: Store test report
uses: actions/upload-artifact@v3
if: always()
with:
name: my-artifact-${{ matrix.release }}
path: test-results/results_${{ matrix.release }}.pdf