@@ -4,16 +4,16 @@ name: 'Development Pipeline'
44on :
55 push :
66 paths-ignore :
7+ - ' LICENSE'
8+ - ' README.rst'
79 - ' docs/**'
810 - ' share/**'
911 - ' vs-build/**'
1012
1113 pull_request :
12- types : [opened, synchronize] # labeled, assigned]
13- paths-ignore :
14- - ' docs/**'
15- - ' share/**'
16- - ' vs-build/**'
14+ types : [opened, synchronize, edited, reopened] # labeled, assigned]
15+ # Pull request event triggers are unrelated to paths
16+ # paths-ignore:
1717
1818env :
1919 FORTRAN_COMPILER : gfortran-10
2525# os: [macOS-10.14, ubuntu-18.04]
2626
2727jobs :
28- regression-test :
28+ regression-tests-release :
2929 runs-on : ubuntu-20.04
3030 steps :
3131 - name : Checkout
@@ -59,12 +59,18 @@ jobs:
5959 working-directory : ${{runner.workspace}}/build
6060 run : cmake --build . --target install -- -j ${{env.NUM_PROCS}}
6161
62+ - name : Run AeroDyn tests
63+ uses : ./.github/actions/tests-module-aerodyn
64+ with :
65+ test-target : regression
6266 - name : Run BeamDyn tests
6367 uses : ./.github/actions/tests-module-beamdyn
6468 with :
6569 test-target : regression
6670 - name : Run HydroDyn tests
6771 uses : ./.github/actions/tests-module-hydrodyn
72+ - name : Run SubDyn tests
73+ uses : ./.github/actions/tests-module-subdyn
6874 - name : Run OpenFAST tests
6975 # if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
7076 uses : ./.github/actions/tests-gluecode-openfast
7379 uses : actions/upload-artifact@v2
7480 if : failure()
7581 with :
76- name : test-results
82+ name : regression-tests-release
7783 path : |
7884 ${{runner.workspace}}/build/reg_tests/modules
7985 ${{runner.workspace}}/build/reg_tests/glue-codes/openfast
@@ -84,6 +90,118 @@ jobs:
8490 !${{runner.workspace}}/build/reg_tests/glue-codes/openfast/UAE_VI
8591 !${{runner.workspace}}/build/reg_tests/glue-codes/openfast/WP_Baseline
8692
93+ regression-tests-debug :
94+ runs-on : ubuntu-20.04
95+ steps :
96+ - name : Checkout
97+ uses : actions/checkout@main
98+ with :
99+ submodules : recursive
100+
101+ - name : Setup Python
102+ uses : actions/setup-python@v2
103+ with :
104+ python-version : ' 3.7'
105+ - name : Install dependencies
106+ run : |
107+ python -m pip install --upgrade pip
108+ pip install numpy Bokeh==1.4
109+
110+ - name : Setup Workspace
111+ run : cmake -E make_directory ${{runner.workspace}}/build
112+ - name : Configure Build
113+ working-directory : ${{runner.workspace}}/build
114+ run : |
115+ cmake \
116+ -DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
117+ -DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
118+ -DCMAKE_BUILD_TYPE:STRING=Debug \
119+ -DBUILD_TESTING:BOOL=ON \
120+ -DCTEST_PLOT_ERRORS:BOOL=ON \
121+ ${GITHUB_WORKSPACE}
122+
123+ - name : Build OpenFAST
124+ working-directory : ${{runner.workspace}}/build
125+ run : |
126+ cmake --build . --target aerodyn_driver -- -j ${{env.NUM_PROCS}}
127+ cmake --build . --target beamdyn_driver -- -j ${{env.NUM_PROCS}}
128+ cmake --build . --target hydrodyn_driver -- -j ${{env.NUM_PROCS}}
129+ cmake --build . --target subdyn_driver -- -j ${{env.NUM_PROCS}}
130+
131+ - name : Run AeroDyn tests
132+ uses : ./.github/actions/tests-module-aerodyn
133+ with :
134+ test-target : regression
135+ - name : Run BeamDyn tests
136+ uses : ./.github/actions/tests-module-beamdyn
137+ with :
138+ test-target : regression
139+ - name : Run HydroDyn tests
140+ uses : ./.github/actions/tests-module-hydrodyn
141+ - name : Run SubDyn tests
142+ uses : ./.github/actions/tests-module-subdyn
143+
144+ - name : Failing test artifacts
145+ uses : actions/upload-artifact@v2
146+ if : failure()
147+ with :
148+ name : regression-tests-debug
149+ path : |
150+ ${{runner.workspace}}/build/reg_tests/modules
151+
152+ fastfarm-regression-test :
153+ runs-on : ubuntu-20.04
154+ steps :
155+ - name : Checkout
156+ uses : actions/checkout@main
157+ with :
158+ submodules : recursive
159+
160+ - name : Setup Python
161+ uses : actions/setup-python@v2
162+ with :
163+ python-version : ' 3.7'
164+ - name : Install dependencies
165+ run : |
166+ python -m pip install --upgrade pip
167+ pip install numpy Bokeh==1.4
168+
169+ - name : Setup Workspace
170+ run : cmake -E make_directory ${{runner.workspace}}/build
171+ - name : Configure Build
172+ working-directory : ${{runner.workspace}}/build
173+ run : |
174+ cmake \
175+ -DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
176+ -DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
177+ -DOPENMP:BOOL=ON \
178+ -DBUILD_FASTFARM:BOOL=ON \
179+ -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
180+ -DBUILD_TESTING:BOOL=ON \
181+ -DCTEST_PLOT_ERRORS:BOOL=ON \
182+ ${GITHUB_WORKSPACE}
183+ - name : Build FAST.Farm
184+ # if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
185+ working-directory : ${{runner.workspace}}/build
186+ run : |
187+ cmake --build . --target FAST.Farm -- -j ${{env.NUM_PROCS}}
188+ cmake --build . --target regression_tests -- -j ${{env.NUM_PROCS}}
189+
190+ - name : Run FAST.Farm tests
191+ # if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
192+ run : |
193+ ctest -VV -L fastfarm -j ${{env.NUM_PROCS}}
194+ working-directory : ${{runner.workspace}}/build
195+ shell : bash
196+
197+ - name : Failing test artifacts
198+ uses : actions/upload-artifact@v2
199+ if : failure()
200+ with :
201+ name : test-results
202+ path : |
203+ ${{runner.workspace}}/build/reg_tests/glue-codes/fastfarm
204+
87205 unit-test :
88206 runs-on : ubuntu-20.04
89207 steps :
@@ -111,6 +229,8 @@ jobs:
111229 uses : ./.github/actions/tests-module-nwtclibrary
112230 - name : Run AeroDyn tests
113231 uses : ./.github/actions/tests-module-aerodyn
232+ with :
233+ test-target : unit
114234 - name : Run BeamDyn tests
115235 uses : ./.github/actions/tests-module-beamdyn
116236 with :
@@ -121,6 +241,7 @@ jobs:
121241 compile-all-single-precision :
122242 # Test if single precision compile completes.
123243 # Compiles all targets excluding tests.
244+ # Run with the OpenFAST registry generating the types files.
124245 # Do not run the test suite.
125246
126247 runs-on : ubuntu-20.04
@@ -139,10 +260,65 @@ jobs:
139260 -DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
140261 -DCMAKE_BUILD_TYPE:STRING=Debug \
141262 -DDOUBLE_PRECISION:BOOL=OFF \
263+ -DGENERATE_TYPES:BOOL=ON \
142264 ${GITHUB_WORKSPACE}
143265 - name : Build all
144266 working-directory : ${{runner.workspace}}/build
145267 run : cmake --build . --target all -- -j ${{env.NUM_PROCS}}
146268 - name : Test
147269 working-directory : ${{runner.workspace}}/build
148270 run : ./glue-codes/openfast/openfast -v
271+
272+ cpp-interface-tests :
273+ runs-on : ubuntu-20.04
274+ steps :
275+ - name : Checkout
276+ uses : actions/checkout@main
277+ with :
278+ submodules : recursive
279+
280+ - name : Setup Python
281+ uses : actions/setup-python@v2
282+ with :
283+ python-version : ' 3.7'
284+ - name : Install dependencies
285+ run : |
286+ python -m pip install --upgrade pip
287+ pip install numpy Bokeh==1.4
288+ sudo apt-get update
289+ sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
290+
291+ - name : Setup Workspace
292+ run : cmake -E make_directory ${{runner.workspace}}/build
293+ - name : Configure Build
294+ working-directory : ${{runner.workspace}}/build
295+ run : |
296+ cmake \
297+ -DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
298+ -DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
299+ -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
300+ -DBUILD_OPENFAST_CPP_API:BOOL=ON \
301+ -DBUILD_SHARED_LIBS:BOOL=ON \
302+ -DBUILD_TESTING:BOOL=ON \
303+ -DCTEST_PLOT_ERRORS:BOOL=ON \
304+ ${GITHUB_WORKSPACE}
305+ - name : Build OpenFAST C++ API
306+ # if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
307+ working-directory : ${{runner.workspace}}/build
308+ run : |
309+ cmake --build . --target openfastcpp -- -j ${{env.NUM_PROCS}}
310+ cmake --build . --target regression_tests -- -j ${{env.NUM_PROCS}}
311+
312+ - name : Run OpenFAST C++ API tests
313+ working-directory : ${{runner.workspace}}/build
314+ run : |
315+ ctest -VV -L cpp
316+
317+ - name : Failing test artifacts
318+ uses : actions/upload-artifact@v2
319+ if : failure()
320+ with :
321+ name : test-results
322+ path : |
323+ ${{runner.workspace}}/build/reg_tests/glue-codes/openfast-cpp
324+ !${{runner.workspace}}/build/reg_tests/glue-codes/openfast-cpp/5MW_Baseline
0 commit comments