Skip to content

Add hub and nacelle ref orient #36

Add hub and nacelle ref orient

Add hub and nacelle ref orient #36

name: 'Development Pipeline'
on:
push:
paths-ignore:
- 'LICENSE'
- 'README.rst'
- 'docs/**'
- 'share/**'
- 'vs-build/**'
pull_request:
types: [opened, synchronize, edited, reopened] #labeled, assigned]
# Pull request event triggers are unrelated to paths
# paths-ignore:
env:
FORTRAN_COMPILER: gfortran-10
NUM_PROCS: 8
# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# os: [macOS-10.14, ubuntu-18.04]
jobs:
regression-tests-release:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@main
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install numpy Bokeh==1.4
- name: Setup Workspace
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure Build
working-directory: ${{runner.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Build OpenFAST
# if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target install -- -j ${{env.NUM_PROCS}}
- name: Run AeroDyn tests
uses: ./.github/actions/tests-module-aerodyn
with:
test-target: regression
- name: Run BeamDyn tests
uses: ./.github/actions/tests-module-beamdyn
with:
test-target: regression
- name: Run HydroDyn tests
uses: ./.github/actions/tests-module-hydrodyn
- name: Run SubDyn tests
uses: ./.github/actions/tests-module-subdyn
- name: Run OpenFAST tests
# if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
uses: ./.github/actions/tests-gluecode-openfast
- name: Failing test artifacts
uses: actions/upload-artifact@v2
if: failure()
with:
name: regression-tests-release
path: |
${{runner.workspace}}/build/reg_tests/modules
${{runner.workspace}}/build/reg_tests/glue-codes/openfast
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/5MW_Baseline
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/AOC
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/AWT27
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/SWRT
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/UAE_VI
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/WP_Baseline
regression-tests-debug:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@main
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install numpy Bokeh==1.4
- name: Setup Workspace
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure Build
working-directory: ${{runner.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_BUILD_TYPE:STRING=Debug \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Build OpenFAST
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . --target aerodyn_driver -- -j ${{env.NUM_PROCS}}
cmake --build . --target beamdyn_driver -- -j ${{env.NUM_PROCS}}
cmake --build . --target hydrodyn_driver -- -j ${{env.NUM_PROCS}}
cmake --build . --target subdyn_driver -- -j ${{env.NUM_PROCS}}
- name: Run AeroDyn tests
uses: ./.github/actions/tests-module-aerodyn
with:
test-target: regression
- name: Run BeamDyn tests
uses: ./.github/actions/tests-module-beamdyn
with:
test-target: regression
- name: Run HydroDyn tests
uses: ./.github/actions/tests-module-hydrodyn
- name: Run SubDyn tests
uses: ./.github/actions/tests-module-subdyn
- name: Failing test artifacts
uses: actions/upload-artifact@v2
if: failure()
with:
name: regression-tests-debug
path: |
${{runner.workspace}}/build/reg_tests/modules
fastfarm-regression-test:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@main
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install numpy Bokeh==1.4
- name: Setup Workspace
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure Build
working-directory: ${{runner.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DOPENMP:BOOL=ON \
-DBUILD_FASTFARM:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Build FAST.Farm
# if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . --target FAST.Farm -- -j ${{env.NUM_PROCS}}
cmake --build . --target regression_tests -- -j ${{env.NUM_PROCS}}
- name: Run FAST.Farm tests
# if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
run: |
ctest -VV -L fastfarm -j ${{env.NUM_PROCS}}
working-directory: ${{runner.workspace}}/build
shell: bash
- name: Failing test artifacts
uses: actions/upload-artifact@v2
if: failure()
with:
name: test-results
path: |
${{runner.workspace}}/build/reg_tests/glue-codes/fastfarm
unit-test:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@main
with:
submodules: recursive
- name: Setup
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure
working-directory: ${{runner.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DBUILD_TESTING:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Build unit tests
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target unit_tests -- -j ${{env.NUM_PROCS}}
- name: Run NWTC Library tests
uses: ./.github/actions/tests-module-nwtclibrary
- name: Run AeroDyn tests
uses: ./.github/actions/tests-module-aerodyn
with:
test-target: unit
- name: Run BeamDyn tests
uses: ./.github/actions/tests-module-beamdyn
with:
test-target: unit
- name: Run InflowWind tests
uses: ./.github/actions/tests-module-inflowwind
compile-all-single-precision:
# Test if single precision compile completes.
# Compiles all targets excluding tests.
# Run with the OpenFAST registry generating the types files.
# Do not run the test suite.
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@main
with:
submodules: recursive
- name: Setup
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure
working-directory: ${{runner.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_BUILD_TYPE:STRING=Debug \
-DDOUBLE_PRECISION:BOOL=OFF \
-DGENERATE_TYPES:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Build all
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target all -- -j ${{env.NUM_PROCS}}
- name: Test
working-directory: ${{runner.workspace}}/build
run: ./glue-codes/openfast/openfast -v
cpp-interface-tests:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@main
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install numpy Bokeh==1.4
sudo apt-get update
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
- name: Setup Workspace
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure Build
working-directory: ${{runner.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DBUILD_OPENFAST_CPP_API:BOOL=ON \
-DBUILD_SHARED_LIBS:BOOL=ON \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Build OpenFAST C++ API
# if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
working-directory: ${{runner.workspace}}/build
run: |
cmake --build . --target openfastcpp -- -j ${{env.NUM_PROCS}}
cmake --build . --target regression_tests -- -j ${{env.NUM_PROCS}}
- name: Run OpenFAST C++ API tests
working-directory: ${{runner.workspace}}/build
run: |
ctest -VV -L cpp
- name: Failing test artifacts
uses: actions/upload-artifact@v2
if: failure()
with:
name: test-results
path: |
${{runner.workspace}}/build/reg_tests/glue-codes/openfast-cpp
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast-cpp/5MW_Baseline