Updated bat to test #299
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test | |
on: [push] | |
jobs: | |
bat: | |
name: Build and Test | |
runs-on: ubuntu-latest | |
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: Verify correct tasks appear in buildlog.txt | |
run: | | |
set -e | |
grep "building" buildlog.txt | |
grep "testing" buildlog.txt | |
grep "tests" buildlog.txt | |
grep "terse" buildlog.txt | |
! grep "deploying" buildlog.txt | |
! grep "checking" buildlog.txt | |
rm buildlog.txt | |
- name: Run build with specified task | |
uses: ./ | |
with: | |
tasks: deploy | |
- name: Run build with continue on failure | |
continue-on-error: true | |
uses: ./ | |
with: | |
tasks: error deploy | |
build-options: -continueOnFailure | |
- name: Verify correct tasks appear in buildlog.txt | |
run: | | |
set -e | |
grep "erroring" buildlog.txt | |
grep "building" buildlog.txt | |
grep "testing" buildlog.txt | |
grep "tests" buildlog.txt | |
grep "terse" buildlog.txt | |
grep "deploying" buildlog.txt | |
! grep "checking" buildlog.txt | |
rm buildlog.txt | |
- name: Run build with startup options | |
continue-on-error: true | |
uses: ./ | |
with: | |
tasks: deploy error | |
build-options: -continueOnFailure | |
startup-options: -logfile console.log | |
- name: Verify workflow command is added | |
run: | | |
grep "::group::deploy" console.log | |
grep "::error::error task failed" console.log | |
rm console.log | |
job2: | |
name: Build Only | |
runs-on: ubuntu-latest | |
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("tester").Dependencies = "builder"; | |
plan("deployer").Dependencies = "tester"; | |
plan.DefaultTasks = "tester"; | |
function builderTask(~) | |
f = fopen('buildlog.txt', 'a+'); fprintf(f, 'building\n'); fclose(f); | |
function testerTask(~,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 deployerTask(~) | |
f = fopen('buildlog.txt', 'a+'); fprintf(f, 'deploying\n'); fclose(f); | |
function checkerTask(~) | |
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: deployer |