Make netcdf output parallel consistent #39
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: '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 |