-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
on-demand GitHub action which runs every quickbuild.sh in DART #691
Conversation
setup - finds all the quickbuilds skips the *template* model build - matrix of jobs, one for each quickbuild.sh Using the standard dart dependency container, no RTTOV at the moment developer_tests/forward_operators/work observations/obs_converters/GMI/work observations/obs_converters/GOES/work observations/obs_converters/AIRS/work observations/obs_converters/NSIDC/work - only needs HDF5 but this is in the RTTOV container Other failures observations/obs_converters/gps/work - needs WRF files observations/obs_converters/quikscat/work - type mismatch needs to be allowed for JPL code, also needs hdf4 observations/obs_converters/GSI2DART/work - GSI MPI type mismatch observations/obs_converters/gps/work - needs prepbufr library
use make -j 4 for compiling case select for mkmf.template (mkmf.templates are in container) Note github replaces HOME with github/home so you can not use ~ in the containter
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hkershaw-brown I've reviewed and tested your code by using your new action on my fork. The action reported three failures from the quickbuilds of the following three obs converters:
- Gps
/usr/bin/ld: cannot find ../../NCEP/prep_bufr/lib/bufrlib.a: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Makefile:227: convert_cosmic_gps_cdf] Error 1
- GSI2DART
173 | call mpi_bcast(sprd_ob,nobs_tot,mpi_real4,0,mpi_comm_world,ierr)
| 1
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/INTEGER(4)).
- Var
Fatal Error: Cannot open module file 'da_constants.mod' for reading at (1): No such file or directory
While some failures are to be expected, it causes the entire action to report back as a failure.
Is this the behavior we want for this action, or is there a way to set which jobs we expect to fail and compare against the results so that the whole check passes?
@hkershaw-brown I think that sounds like a good plan. I'm just a little confused on how we would go about setting the expected fails to have them not run in the matrix? Just like how you are currently skipping the template model, but for the three failing obs converters instead?
Also side note is that GSI2DART compiles with the use of -fallow-argument-mismatch |
yup, just skip them. |
using -fallow-argument-mismatch for GSI2DART. This code is using its own mpi calls not mpi_utilities
skipping known failures, using -fallow-argument-mismatch for GSI2DART 21399b9 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hkershaw-brown I've reviewed your updates and everything looks good. I went ahead and ran the updated workflow on my fork and it passed now that we have skipped the known failures. Approved
Description:
On demand github action to run every quickbuild.sh in DART
Uses container with dart dependencies hdfeos2, hdf4, hdf5, rttov12
Takes ~4 minutes
Fixes issue
Github version the build_everything developer tests #593
Types of changes
Documentation changes needed?
Tests
Run the action on main branch of your fork.
Checklist for merging
Checklist for release
Testing Datasets