Skip to content

Applications Case: PTO Extension Feature for RM3 (#56) #8

Applications Case: PTO Extension Feature for RM3 (#56)

Applications Case: PTO Extension Feature for RM3 (#56) #8

Workflow file for this run

name: Run MATLAB tests on dev branch
on:
# Trigger the workflow on push or pull requests on the dev branch and on
# pushes to WEC-Sim/WEC-Sim dev branch
push:
branches:
- dev
pull_request:
branches:
- dev
repository_dispatch:
types:
- wecsim-dev
jobs:
dispatch_event:
runs-on: ubuntu-latest
name: Identify dispatch event
if: github.event_name == 'repository_dispatch'
steps:
- run: echo "Triggered by WEC-Sim commit ${{ github.event.client_payload.sha }}"
run_tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
folder: [Body-to-Body_Interactions,
Cable,
Controls,
Desalination,
End_Stops,
Free_Decay,
Generalized_Body_Modes,
Load_Mitigating_Controls,
Mean_Drift,
Mooring,
Morison_Element,
MOST,
Multiple_Condition_Runs,
Multiple_Wave_Headings,
Nonhydro_Body,
Nonlinear_Hydro,
OWC,
Passive_Yaw,
PTO-Sim,
Radiation_Force_Options,
RM3_PTO_Extension,
Wave_Markers,
WECCCOMP,
Write_Custom_h5]
release: [R2023b]
include:
- products: Simulink Simscape Simscape_Multibody
- folder: Desalination
products: Simulink Simscape Simscape_Multibody Simscape_Fluids
- folder: Controls
products: Simulink Simscape Simscape_Multibody Control_System_Toolbox Optimization_Toolbox System_Identification_Toolbox Statistics_and_Machine_Learning_Toolbox Symbolic_Math_Toolbox
- folder: Load_Mitigating_Controls
products: Simulink Simscape Simscape_Multibody DSP_System_Toolbox
- folder: OWC
products: Simulink Simscape Simscape_Multibody Control_System_Toolbox
- folder: WECCCOMP
products: Simulink Simscape Simscape_Multibody Control_System_Toolbox Optimization_Toolbox System_Identification_Toolbox Statistics_and_Machine_Learning_Toolbox
exclude:
- os: ubuntu-latest
folder: Mooring
name: "${{ matrix.folder }} - ${{ matrix.os }} - ${{ matrix.release }}"
timeout-minutes: 45
steps:
- name: Check out repository (repository dispatch)
uses: actions/checkout@v4
with:
lfs: true
ref: 'dev'
if: github.event_name == 'repository_dispatch'
- name: Check out repository (push or pull request)
uses: actions/checkout@v4
with:
lfs: true
if: github.event_name != 'repository_dispatch'
- name: Checkout LFS objects
run: git lfs checkout
- name: Check out WEC-Sim
uses: actions/checkout@v4
with:
repository: WEC-Sim/WEC-Sim
ref: 'dev'
path: './WEC-Sim'
- name: Check out MoorDyn
if: matrix.folder == 'Mooring'
uses: actions/checkout@v4
with:
repository: WEC-Sim/MoorDyn
path: './MoorDyn'
- name: Copy MoorDyn Files
if: matrix.folder == 'Mooring'
run: |
cp * ../WEC-Sim/source/functions/moorDyn
ls ../WEC-Sim/source/functions/moorDyn
shell: bash
working-directory: './MoorDyn'
- name: Install MATLAB
uses: matlab-actions/setup-matlab@v2
with:
products: ${{ matrix.products }}
release: ${{ matrix.release }}
- name: Start display server (Desalination on Linux)
if: matrix.folder == 'Desalination' && matrix.os == 'ubuntu-latest'
run: |
sudo apt-get install xvfb
Xvfb :99 &
echo "DISPLAY=:99" >> $GITHUB_ENV
- name: Install WEC-Sim, run tests and generate artifacts
uses: matlab-actions/run-command@v2
with:
command: |
addpath(genpath('WEC-Sim/source'));
results = wecSimAppTest("${{ matrix.folder }}"),
assertSuccess(results);