New wavetank library for HIL simulations with AD+MD #4834
Workflow file for this run
This file contains hidden or 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: '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-12 | |
| CXX_COMPILER: g++-12 | |
| C_COMPILER: gcc-12 | |
| GCOV_EXE: gcov-12 | |
| CMAKE_BUILD_PARALLEL_LEVEL: 8 | |
| CTEST_PARALLEL_LEVEL: 4 | |
| 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-22.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-22.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-22.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-22.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-22.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-22.04 | |
| needs: build-all-release | |
| env: | |
| OMP_NUM_THREADS: 1 | |
| 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/modules/seastate | |
| !${{github.workspace}}/build/reg_tests/glue-codes/openfast-cpp/5MW_Baseline | |
| rtest-OF: | |
| runs-on: ubuntu-22.04 | |
| needs: build-all-release | |
| env: | |
| OMP_NUM_THREADS: 1 | |
| 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-22.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" | |
| - 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-22.04 | |
| needs: build-all-release | |
| env: | |
| OMP_NUM_THREADS: 1 | |
| 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-22.04 | |
| needs: build-all-release | |
| env: | |
| OMP_NUM_THREADS: 1 | |
| 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-22.04 | |
| needs: build-all-release | |
| env: | |
| OMP_NUM_THREADS: 1 | |
| 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-22.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 |