-
Notifications
You must be signed in to change notification settings - Fork 1
96 lines (80 loc) · 2.85 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# 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@v2
if: always()
with:
name: my-artifact-${{ matrix.release }}
path: test-results/results_${{ matrix.release }}.pdf