Repository navigation
70 lines (65 loc) · 2.33 KB
/
Copy pathtests.yml
File metadata and controls
70 lines (65 loc) · 2.33 KB
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
name: tests
# Manual MATLAB validation (run on demand from the Actions tab, not on push/PR
# yet). Runs the fast "quick" lane plus the durable semantic-identity contracts.
# Both gates exit non-zero on any failure or incomplete test.
#
# To enable automatic runs later, add push/pull_request triggers under `on:`.
#
# Notes:
# - matlab-actions/setup-matlab provisions MATLAB on GitHub-hosted runners.
# Public repositories can run batch MATLAB without a license; private repos
# need a MathWorks batch token exposed as the MLM_LICENSE_TOKEN secret
# (add `env: MLM_LICENSE_TOKEN: ${{ secrets.MLM_LICENSE_TOKEN }}` below).
# - To add a heavier lane (nightly), run the full gate:
# pf2_base.tests.runCI('full')
# in a separate scheduled workflow. The quick lane is kept fast on purpose.
on:
workflow_dispatch:
permissions:
contents: read
jobs:
quick-tests:
name: Quick lane (runCI('quick'))
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up MATLAB
uses: matlab-actions/setup-matlab@v3
with:
release: R2025b
- name: Run quick test lane
uses: matlab-actions/run-command@v3
with:
command: "addpath(genpath('.')); pf2_base.tests.runCI('quick')"
identity-contract:
name: Identity (${{ matrix.label }})
strategy:
fail-fast: false
matrix:
include:
# R2025b is the repository's currently documented recommended release.
- label: R2025b / Linux
os: ubuntu-latest
release: R2025b
# `latest` exercises current MATLAB on every supported runner family
# without hard-coding a release that becomes stale each half-year.
- label: latest / Linux
os: ubuntu-latest
release: latest
- label: latest / Windows
os: windows-latest
release: latest
- label: latest / macOS
os: macos-latest
release: latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up MATLAB
uses: matlab-actions/setup-matlab@v3
with:
release: ${{ matrix.release }}
- name: Run identity contract lane
uses: matlab-actions/run-command@v3
with:
command: "addpath(genpath('.')); pf2_base.tests.runCI('identity')"