-
Notifications
You must be signed in to change notification settings - Fork 49
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
bugfix: dockerfile build and CI error reporting #494
Conversation
4b5b10c
to
7bfea71
Compare
@scrasmussen @mkavulich @dustinswales This fixes creating the container, although most of the tests are actually failing in the container, so we probably need to debug that within the container. |
4a6f0ec
to
ffb73cb
Compare
@scrasmussen Were all of the whitespace changes intentional? The reason that I ask is that the GFS_typedefs.F90 and CCPP_typedefs.F90 files are often compared with those found in fv3atm, and I'd like to not introduce more trivial differences between the two repos. If it's important, it's fine, but we should introduce the same whitespace changes to the fv3atm repo sometime to sync them up. |
docker/Dockerfile
Outdated
&& cd bin \ | ||
&& cmake ../src \ | ||
&& make -j4 | ||
&& ./contrib/get_aerosol_climo.sh |
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.
I think we shouldn't download this new aerosol data by default: it balloons the size of the container from 3.3 GB to a whopping 15.5 GB. We can update the instructions so users can download this data interactively if need be.
Actually now that I think about it, maybe it's best to have all the contrib/
data downloaded separately from the container, using a bind mount to get that data into the container. That would reduce the whole container down to 1.9 GB. Do you think that makes sense?
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.
I was setting up the Docker file to download the repo, build it, and prepare everything to run. We could certainly slim down the Docker file to not download the contrib/
data. Happy to set it up however we want it!
@scrasmussen Do you know if there are any new CI failures actually introduced by this PR or that they are simply being reported more accurately? |
Can anyone else see why the docker CI task is still failing? I'm not seeing the actual error - reporting stops at 75% of some task. |
@grantfirl @scrasmussen It's only an educated guess but I bet the test is failing because of the enormous size of the new aerosol data, hitting some limit either in the Github runner or the Docker setup therein. Another reason to have that data downloaded separately. |
07d90cb
to
ffb73cb
Compare
I guess intentional in that I my editor is setup to remove all trailing whitespace whenever I save. But it is not intentional in that is important in the grand scheme of things. It follows most style-guides but I'm happy to undo those changes for |
…mands into multiple RUN statements for quicker debugging by making the failing step easier to find Installing ccmake in cmake-curses-gui fixes some CMake issues that were occurring, unsure why. Changing venv install location, old one wasn't working. Python packages needed to be updated. Switching to parallel builds. Make sure python package f90nml can be found in paths
…hub actions flag to run_scm.py so it will stop on first error
…ases exists Continue docker run so report of all failed tests gets produced.
ffb73cb
to
b394f93
Compare
@scrasmussen I don't see any reason to change how the output appears right now. There's no labels on the first info print anyway so all the user sees is One thing I would change is to print a summary of all test results, instead of just failures. Or maybe include this as an option? This isn't necessary though, just preference. |
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.
@scrasmussen @grantfirl based on today's discussion at the CCPP meeting I think it's good to go ahead and merge this change to fix the Docker problems, the remaining issues will be taken care of in other PRs.
@scrasmussen @mkavulich What's the story with 1a54e8d? Is the change to physics really needed? If so, we need a PR into main for ccpp-physics that needs to get merged first. |
This leads to a more accurate error message. If the return statement on the aerosol data isn't there, then it will still fail but later in the subroutine. But the reason for failure isn't clear unless the user dives into the code, this change clearly reports the reason for the error. I just created PR#1081 in the CCPP-Physics |
@mkavulich Good idea! I'll add this right now |
@scrasmussen I merged NCAR/ccpp-physics#1081 into main. Could you please update the ccpp/physics submodule pointer to point to the top of main? As soon as you finish @mkavulich 's request, I agree that we should just merge this in. |
@grantfirl those two things should be good to go (maybe just wait for the CI to finish to make sure things look correct?), if I missed anything or you need anything else please let me know! |
In the past, all of us have agreed to turn off automatic white space changes in code editors because it makes reviewing harder. We should merge this due to the release, but for future PRs, I think that we don't want to include a bunch of whitespace changes. |
ISSUE FIXED: Docker Github Actions CI was failing
DESCRIPTION OF CHANGES:
--break-system-packages
. No need for a virtual environment now.LABEL
andENV foo=bar