esmf-org / esmf

The Earth System Modeling Framework (ESMF) is a suite of software tools for developing high-performance, multi-component Earth science modeling applications.
https://earthsystemmodeling.org/
Other
156 stars 75 forks source link

BLD: Get ESMF compiling on Cygwin #202

Open DWesl opened 10 months ago

DWesl commented 10 months ago

I updated my ESMF build on Cygwin, and tried to generalize my changes from the last time I did this so ESMF would still compile on Linux.

I also added a CI run to ensure ESMF compilation gets checked. I think I set up the tests to run as well, but I'm less sure of that.

Might close https://github.com/esmf-org/esmf/issues/136; I'm not sure if they're after a Cygwin build of ESMF or a 64-bit MinGW/Windows build of ESMF. PR https://github.com/esmf-org/esmf/pull/149 suggests they're after a MinGW-w64 build but are trying to do it in Cygwin without cross-compilers for whatever reason.

Follow-on to #201.

theurich commented 10 months ago

@oehmke, @billsacks, @danrosen25, @uturuncoglu, I am not sure what's the best move forward here. The branch builds again for me under Linux after fixing some syntax issue in the logic change. However, I have not looked at the action part of the PR, and will not have time for it either. @oehmke I assigned the PR to you just to have a person responsible for it, and made the rest of the core team reviewers. Hope this works for now.

DWesl commented 4 months ago

Presumably the doc build is tested other places, so I skipped that to lower the compilation time and avoid the failure.

The ESMPy tests are also skipped now: I think those were failing and I couldn't figure out why.

At the moment, the action is checking that ESMF and ESMPy build on Cygwin and the ESMF checks pass on Cygwin, and will do that anytime someone opens a PR, pushes commits to a PR, pushes a button to run the action, or hits the "Release" button on GitHub.

If you'd prefer not to spend three hours waiting for all that to run on every PR, I can drop the action now that it's demonstrated the rest of the changes allow Cygwin builds, and leave just the Cygwin changes.