@@ -20,10 +20,10 @@ integration-tests: &integration-tests
2020executors :
2121 linux : &linux-executor
2222 machine :
23- image : ubuntu-2204:edge
23+ image : ubuntu-2204:2022.07.1
2424 macos :
2525 macos :
26- xcode : 13.2 .1
26+ xcode : 13.4 .1
2727 windows :
2828 win/default
2929
@@ -254,29 +254,104 @@ jobs:
254254 grep -r "simple_model Coverage Report" --include="*.html" model-coverage/html
255255 shell : bash
256256
257+ integration-test-run-build :
258+ parameters :
259+ executor :
260+ type : executor
261+ executor : <<parameters.executor>>
262+ steps :
263+ # Setup for Integ tests for matlab/run-build
264+ - matlab/install
265+ - run :
266+ command : |
267+ cat \<<'_EOF' >> "buildfile.m"
268+ function plan = buildfile
269+ plan = buildplan(localfunctions);
270+ plan("test").Dependencies = "build";
271+ plan("deploy").Dependencies = "test";
272+
273+ plan.DefaultTasks = "test";
274+
275+ function buildTask(~)
276+ f = fopen('buildlog.txt', 'a+'); fprintf(f, 'building\n'); fclose(f);
277+
278+ function testTask(~)
279+ f = fopen('buildlog.txt', 'a+'); fprintf(f, 'testing\n'); fclose(f);
280+
281+ function deployTask(~)
282+ f = fopen('buildlog.txt', 'a+'); fprintf(f, 'deploying\n'); fclose(f);
283+
284+ function checkTask(~)
285+ f = fopen('buildlog.txt', 'a+'); fprintf(f, 'checking\n'); fclose(f);
286+ _EOF
287+ shell : bash
288+ # run build with one specified task
289+ - matlab/run-build :
290+ tasks : deploy
291+ - run :
292+ name : Verify that correct tasks appear in buildlog.txt
293+ command : |
294+ set -e
295+ grep "building" buildlog.txt
296+ grep "testing" buildlog.txt
297+ grep "deploying" buildlog.txt
298+ ! grep "checking" buildlog.txt
299+ rm buildlog.txt
300+ shell : bash
301+ # run build with multiple specified tasks
302+ - matlab/run-build :
303+ tasks : deploy check
304+ - run :
305+ name : Verify that correct tasks appear in buildlog.txt
306+ command : |
307+ set -e
308+ grep "building" buildlog.txt
309+ grep "testing" buildlog.txt
310+ grep "deploying" buildlog.txt
311+ grep "checking" buildlog.txt
312+ rm buildlog.txt
313+ shell : bash
314+ # run build with default tasks
315+ - matlab/run-build
316+ - run :
317+ name : Verify that correct tasks appear in buildlog.txt
318+ command : |
319+ set -e
320+ grep "building" buildlog.txt
321+ grep "testing" buildlog.txt
322+ ! grep "deploying" buildlog.txt
323+ ! grep "checking" buildlog.txt
324+ rm buildlog.txt
325+ shell : bash
326+
257327workflows :
258328 test-deploy :
259329 jobs :
260330 # Make sure to include "filters: *filters" in every test job you want to run as part of your deployment.
261331 - integration-test-install :
262332 matrix :
263333 parameters :
264- executor : [linux, windows]
334+ executor : [linux, windows, macos ]
265335
266336 - integration-test-install-release :
267337 matrix :
268338 parameters :
269- executor : [linux, windows]
339+ executor : [linux, windows, macos ]
270340
271341 - integration-test-run-command :
272342 matrix :
273343 parameters :
274- executor : [linux, windows]
344+ executor : [linux, windows, macos ]
275345
276346 - integration-test-run-tests :
277347 matrix :
278348 parameters :
279- executor : [linux, windows]
349+ executor : [linux, windows, macos]
350+
351+ - integration-test-run-build :
352+ matrix :
353+ parameters :
354+ executor : [linux, windows, macos]
280355
281356 - orb-tools/pack :
282357 filters : *filters
0 commit comments