Skip to content

Updated SD NPropSets to NPropSetsCyl and NPropSetsRec and fixed typos in the HD input file #4868

Updated SD NPropSets to NPropSetsCyl and NPropSetsRec and fixed typos in the HD input file

Updated SD NPropSets to NPropSetsCyl and NPropSetsRec and fixed typos in the HD input file #4868

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-14
CXX_COMPILER: g++-14
C_COMPILER: gcc-14
GCOV_EXE: gcov-14
CMAKE_BUILD_PARALLEL_LEVEL: 8
CTEST_PARALLEL_LEVEL: 4
OMP_NUM_THREADS: 1
jobs:
#-----------------------------------------------------------------------------
# BUILD JOBS
#-----------------------------------------------------------------------------
build-all-debug-single:
# Tests compiling in debug mode with single precision.
# This workspace is not used by any other subtests, it checks type errors of the type ReKi/R8Ki
# Debug speeds up the build.
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Setup workspace
run: cmake -E make_directory ${{github.workspace}}/build
- name: Configure build
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{github.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_CXX_COMPILER:STRING=${{env.CXX_COMPILER}} \
-DCMAKE_C_COMPILER:STRING=${{env.C_COMPILER}} \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBLA_VENDOR:STRING=OpenBLAS \
-DCMAKE_BUILD_TYPE:STRING=DEBUG \
-DVARIABLE_TRACKING:BOOL=OFF \
-DDOUBLE_PRECISION:BOOL=OFF \
-DBUILD_OPENFAST_CPP_API:BOOL=ON \
-DBUILD_OPENFAST_LIB_DRIVER:BOOL=ON \
-DBUILD_OPENFAST_CPP_DRIVER:BOOL=ON \
-DBUILD_FASTFARM:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Build all
working-directory: ${{github.workspace}}/build
run: |
cmake --build . --target all
build-all-release:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: List files in workspace
run: ls ${{github.workspace}}
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Setup workspace
run: cmake -E make_directory ${{github.workspace}}/build
- name: Configure build
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{github.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_CXX_COMPILER:STRING=${{env.CXX_COMPILER}} \
-DCMAKE_C_COMPILER:STRING=${{env.C_COMPILER}} \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DBLA_VENDOR:STRING=OpenBLAS \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DVARIABLE_TRACKING:BOOL=OFF \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
-DOPENMP:BOOL=ON \
-DDOUBLE_PRECISION=ON \
-DBUILD_OPENFAST_CPP_API:BOOL=ON \
-DBUILD_OPENFAST_LIB_DRIVER:BOOL=ON \
-DBUILD_OPENFAST_CPP_DRIVER:BOOL=ON \
-DBUILD_FASTFARM:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Build all
working-directory: ${{github.workspace}}/build
run: |
cmake --build . --target all
- name: Archive files
run: |
tar -cvf workspace.tar -C ${{github.workspace}} \
--exclude='*.a' --exclude='*.o' --exclude='build/ftnmods' \
--exclude='.git' --exclude='docs' --exclude='vs-build' \
.
- name: Save workspace for other jobs
uses: actions/upload-artifact@v4
with:
name: build-all-release
path: workspace.tar
#-----------------------------------------------------------------------------
# BUILD AND TEST JOBS
#-----------------------------------------------------------------------------
build-all-test-modules-debug:
# Tests compiling in debug mode.
# Also compiles the Registry and generates new types files.
# Debug more speeds up the build.
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
- name: Setup workspace
run: cmake -E make_directory ${{github.workspace}}/build
- name: Configure build
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{github.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_CXX_COMPILER:STRING=${{env.CXX_COMPILER}} \
-DCMAKE_C_COMPILER:STRING=${{env.C_COMPILER}} \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBLA_VENDOR:STRING=OpenBLAS \
-DCMAKE_BUILD_TYPE:STRING=DEBUG \
-DGENERATE_TYPES:BOOL=ON \
-DVARIABLE_TRACKING:BOOL=OFF \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
# -DDOUBLE_PRECISION=OFF \
- name: Build all
working-directory: ${{github.workspace}}/build
run: |
cmake --build . --target all
- name: Run UnsteadyAero tests
working-directory: ${{github.workspace}}/build
shell: bash
run: |
ctest -VV -R "^ua_"
- name: Run AeroDyn tests
uses: ./.github/actions/tests-module-aerodyn
with:
# Don't run regression tests here since they currently fail inconsistently
test-target: unit
- name: Run BeamDyn tests
uses: ./.github/actions/tests-module-beamdyn
- name: Run HydroDyn tests
uses: ./.github/actions/tests-module-hydrodyn
- name: Run InflowWind tests
uses: ./.github/actions/tests-module-inflowwind
- name: Run MoorDyn tests
uses: ./.github/actions/tests-module-moordyn
- name: Run NWTC Library tests
uses: ./.github/actions/tests-module-nwtclibrary
- name: Run SeaState tests
uses: ./.github/actions/tests-module-seastate
- name: Run SubDyn tests
uses: ./.github/actions/tests-module-subdyn
- name: Run VersionInfo tests
uses: ./.github/actions/tests-module-version
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-modules-debug
path: |
${{github.workspace}}/build/reg_tests/modules
${{github.workspace}}/build/unit_tests
build-test-OF-simulink:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev
- name: Set up MATLAB
uses: matlab-actions/setup-matlab@v2
with:
products: Simulink
- name: Setup workspace
run: cmake -E make_directory ${{github.workspace}}/build
- name: Configure build
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{github.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_CXX_COMPILER:STRING=${{env.CXX_COMPILER}} \
-DCMAKE_C_COMPILER:STRING=${{env.C_COMPILER}} \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_OPENFAST_SIMULINK_API:BOOL=ON \
-DUSE_LOCAL_STATIC_LAPACK:BOOL=ON \
-DCMAKE_BUILD_TYPE:STRING=DEBUG \
-DGENERATE_TYPES:BOOL=ON \
-DVARIABLE_TRACKING:BOOL=OFF \
${GITHUB_WORKSPACE}
- name: Build FAST_SFunc
working-directory: ${{github.workspace}}/build
run: |
cmake --build . --target FAST_SFunc
- name: Run MATLAB tests and generate artifacts
uses: matlab-actions/run-tests@v2
with:
source-folder: ${{github.workspace}}/build/glue-codes/simulink; ${{github.workspace}}/glue-codes/simulink/examples
test-results-junit: test-results/results.xml
code-coverage-cobertura: code-coverage/coverage.xml
#-----------------------------------------------------------------------------
# TEST JOBS
#-----------------------------------------------------------------------------
rtest-module-drivers:
runs-on: ubuntu-24.04
needs: build-all-release
steps:
- name: Restore workspace from artifact
uses: actions/download-artifact@v4
with:
name: build-all-release
- name: Untar workspace
run: |
tar -xf workspace.tar -C ${{github.workspace}}
rm workspace.tar
- name: List files in workspace
run: ls
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
- 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 InflowWind tests
uses: ./.github/actions/tests-module-inflowwind
with:
test-target: regression
- name: Run MoorDyn tests
uses: ./.github/actions/tests-module-moordyn
- name: Run SeaState tests
uses: ./.github/actions/tests-module-seastate
- name: Run SubDyn tests
uses: ./.github/actions/tests-module-subdyn
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-module-drivers
path: |
${{github.workspace}}/build/reg_tests/modules
rtest-interfaces:
runs-on: ubuntu-24.04
needs: build-all-release
steps:
- name: Restore workspace from artifact
uses: actions/download-artifact@v4
with:
name: build-all-release
- name: Untar workspace
run: |
tar -xf workspace.tar -C ${{github.workspace}}
rm workspace.tar
- name: List files in workspace
run: ls
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Run Interface / API tests
working-directory: ${{github.workspace}}/build
run: |
ctest -VV \
-L "cpp|python|fastlib" \
-LE "openfast_io"
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-interfaces
path: |
${{github.workspace}}/build/reg_tests/glue-codes/openfast-cpp
${{github.workspace}}/build/reg_tests/glue-codes/python
${{github.workspace}}/build/reg_tests/modules/aerodyn
${{github.workspace}}/build/reg_tests/modules/moordyn
${{github.workspace}}/build/reg_tests/modules/inflowwind
${{github.workspace}}/build/reg_tests/modules/hydrodyn
!${{github.workspace}}/build/reg_tests/glue-codes/openfast-cpp/5MW_Baseline
rtest-OF:
runs-on: ubuntu-24.04
needs: build-all-release
steps:
- name: Restore workspace from artifact
uses: actions/download-artifact@v4
with:
name: build-all-release
- name: Untar workspace
run: |
tar -xf workspace.tar -C${{github.workspace}}
rm workspace.tar
- name: List files in workspace
run: ls
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
cmake --build . --target regression_test_controllers
- name: Run 5MW tests
working-directory: ${{github.workspace}}/build
run: |
ctest -VV \
-L openfast \
-LE "cpp|linear|python|fastlib|offshore"
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-OF
path: |
${{github.workspace}}/build/reg_tests/glue-codes/openfast
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/5MW_Baseline
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AOC
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AWT27
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/SWRT
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/UAE_VI
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/WP_Baseline
rtest-OF-offshore:
runs-on: ubuntu-24.04
needs: build-all-release
steps:
- name: Restore workspace from artifact
uses: actions/download-artifact@v4
with:
name: build-all-release
- name: Untar workspace
run: |
tar -xf workspace.tar -C${{github.workspace}}
rm workspace.tar
- name: List files in workspace
run: ls
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
cmake --build . --target regression_test_controllers
- name: Run 5MW tests
working-directory: ${{github.workspace}}/build
run: |
ctest -VV \
-L openfast -L offshore \
-LE "cpp|linear|python|fastlib|multirotor"
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-OF-offshore
path: |
${{github.workspace}}/build/reg_tests/glue-codes/openfast
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/5MW_Baseline
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AOC
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AWT27
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/SWRT
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/UAE_VI
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/WP_Baseline
rtest-OF-multirotor:
runs-on: ubuntu-24.04
needs: build-all-release
steps:
- name: Restore workspace from artifact
uses: actions/download-artifact@v4
with:
name: build-all-release
- name: Untar workspace
run: |
tar -xf workspace.tar -C${{github.workspace}}
rm workspace.tar
- name: List files in workspace
run: ls
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
cmake --build . --target regression_test_controllers
- name: Run 5MW tests
working-directory: ${{github.workspace}}/build
run: |
ctest -VV \
-L openfast -L multirotor \
-LE "cpp|linear|python|fastlib"
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-OF-offshore
path: |
${{github.workspace}}/build/reg_tests/glue-codes/openfast
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/5MW_Baseline
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AOC
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AWT27
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/SWRT
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/UAE_VI
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/WP_Baseline
rtest-OF-linearization:
runs-on: ubuntu-24.04
needs: build-all-release
steps:
- name: Restore workspace from artifact
uses: actions/download-artifact@v4
with:
name: build-all-release
- name: Untar workspace
run: |
tar -xf workspace.tar -C${{github.workspace}}
rm workspace.tar
- name: List files in workspace
run: ls
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Run OpenFAST linearization tests
working-directory: ${{github.workspace}}/build
run: |
ctest -VV -L linear
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-OF-linearization
path: |
${{github.workspace}}/build/reg_tests/glue-codes/openfast
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/5MW_Baseline
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AOC
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AWT27
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/SWRT
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/UAE_VI
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/WP_Baseline
rtest-OF-aeromap:
runs-on: ubuntu-24.04
needs: build-all-release
steps:
- name: Restore workspace from artifact
uses: actions/download-artifact@v4
with:
name: build-all-release
- name: Untar workspace
run: |
tar -xf workspace.tar -C${{github.workspace}}
rm workspace.tar
- name: List files in workspace
run: ls
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Run aero map tests
working-directory: ${{github.workspace}}/build
run: |
ctest -VV -L aeromap -LE "cpp|linear|python"
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-OF-aeromap
path: |
${{github.workspace}}/build/reg_tests/glue-codes/openfast
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/5MW_Baseline
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AOC
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/AWT27
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/SWRT
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/UAE_VI
!${{github.workspace}}/build/reg_tests/glue-codes/openfast/WP_Baseline
rtest-openfast_io:
runs-on: ubuntu-24.04
needs: build-all-release
steps:
- name: Restore workspace from artifact
uses: actions/download-artifact@v4
with:
name: build-all-release
- name: Untar workspace
run: |
tar -xf workspace.tar -C${{github.workspace}}
rm workspace.tar
- name: List files in workspace
run: ls
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Install openfast_io
working-directory: ${{github.workspace}}/openfast_io
run: |
pip install -e .
- name: Configure Tests
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
cmake --build . --target regression_test_controllers
- name: Run openfast_io tests
working-directory: ${{github.workspace}}/build
run: |
ctest -VV -L openfast_io
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-openfast_io
path: |
${{github.workspace}}/build/reg_tests/openfast_io
rtest-FF:
runs-on: ubuntu-24.04
needs: build-all-release
env:
OMP_NUM_THREADS: 2
steps:
- name: Restore workspace from artifact
uses: actions/download-artifact@v4
with:
name: build-all-release
- name: Untar workspace
run: |
tar -xf workspace.tar -C${{github.workspace}}
rm workspace.tar
- name: List files in workspace
run: ls
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
working-directory: ${{github.workspace}}
run: |
pip install -r requirements.txt
pip install glue-codes/python/. # Installs the interface library
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{github.workspace}}/build
run: |
cmake \
-DPython_ROOT_DIR:PATH=${{env.pythonLocation}} \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
cmake --build . --target regression_test_controllers
- name: Run FAST.Farm tests
working-directory: ${{github.workspace}}/build
shell: bash
run: |
ctest -VV -j1 -L fastfarm --verbose
- name: Failing test artifacts
uses: actions/upload-artifact@v4
if: failure()
with:
name: rtest-FF
path: |
${{github.workspace}}/build/reg_tests/glue-codes/fast-farm