-
Notifications
You must be signed in to change notification settings - Fork 5
65 lines (53 loc) · 1.82 KB
/
bat.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
name: Build and Test
on: [push]
jobs:
job2:
name: Build Only
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest,macos-13]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- name: Perform npm tasks
run: npm run ci
- name: Perform 'setup-matlab'
uses: matlab-actions/setup-matlab@v2
- name: Create buildfile.m in project root for tests
run: |
cat <<'_EOF' >> "buildfile.m"
function plan = buildfile
plan = buildplan(localfunctions);
plan("test").Dependencies = "build";
plan("deploy").Dependencies = "test";
plan.DefaultTasks = "test";
function buildTask(~)
f = fopen('buildlog.txt', 'a+'); fprintf(f, 'building\n'); fclose(f);
function testTask(~,tests,options)
arguments
~
tests string = "tests"
options.OutputDetail (1,1) string = "terse"
end
f = fopen('buildlog.txt', 'a+');
fprintf(f, 'testing\n');
fprintf(f, '%s\n', tests);
fprintf(f, '%s\n', options.OutputDetail);
fclose(f);
function deployTask(~)
f = fopen('buildlog.txt', 'a+'); fprintf(f, 'deploying\n'); fclose(f);
function checkTask(~)
f = fopen('buildlog.txt', 'a+'); fprintf(f, 'checking\n'); fclose(f);
function errorTask(~)
f = fopen('buildlog.txt', 'a+'); fprintf(f, 'erroring\n'); fclose(f);
error('Error occured in errorTask');
_EOF
- name: Run build with default tasks
uses: ./
- name: Run build with specified task
uses: ./
with:
tasks: build test