netcdf-c icon indicating copy to clipboard operation
netcdf-c copied to clipboard

Add Cygwin CI and stop installing unwanted plugins

Open DWesl opened this issue 2 years ago • 3 comments

This adds a CI job for my development platform, which will hopefully avoid issues like #2196 and #2446.

This also avoids installing test plugins (or any plugins if --without-plugin-dir is passed to configure), which is especially noticed by distribution package managers using a DESTDIR install: that issue was previously raised as #2431.

I tried to get CMake CI runs working on Cygwin and MinGW, but couldn't get any tests to pass on Cygwin or complete the build on MinGW; this is likely due to the problems highlighted in #2290.

Includes cross-compilation suggestion from this comment.

Also includes a few markdown cleanups that seem to have been fixed in other ways since I started working; let me know if you want to approach those changes differently

Replaces #2431; replaces #2440 Might close #2468 Might replace #2479 Might close #2396

DWesl avatar Oct 13 '22 14:10 DWesl

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Oct 13 '22 14:10 CLAassistant

This PR will take some time to digest, but thanks for doing this.

DennisHeimbigner avatar Oct 13 '22 18:10 DennisHeimbigner

OK, I think this is ok to merge subject to testing with Visual Studio. [Update tested with visual studio (with filters off) and all tests passed]

DennisHeimbigner avatar Oct 14 '22 18:10 DennisHeimbigner

Do you want me to try to add MSVC testing to CI as part of this PR? CMake should be straightforward; Autotools will need help (specifically, someone telling me what values to specify for CC, CPP, and LD)

DWesl avatar Oct 15 '22 12:10 DWesl

I do note that the Mac build is currently failing for filters.

DennisHeimbigner avatar Oct 15 '22 19:10 DennisHeimbigner

It's passing in #2527 just before the merge, and on #2519, which is the most likely place to have broken things. Given this comment, the only thing I can think of is that I added AM_LDFLAGS to each plugins' _LDFLAGS and maybe -avoid-version doesn't play nicely with -version-info 0:0:0. Given that every plugin now specifies -version-info, I'll replace -avoid-version in AM_LDFLAGS with -version-info

DWesl avatar Oct 15 '22 22:10 DWesl

Apparently -version-info is required for plugins on MacOS and breaks plugins on MinGW and Cygwin, which is not what I expected

DWesl avatar Oct 27 '22 18:10 DWesl

Reviewing extant PR's to pull into v4.9.1-rc2; thanks a lot, I just noticed the checks hadn't run. Running now.

WardF avatar Nov 08 '22 17:11 WardF

@DennisHeimbigner checks are passing, but you are more plugged into the cygwin ecosystem. Any blocking issues I'm not seeing, here? Otherwise I'll merge it later this afternoon :).

WardF avatar Nov 08 '22 18:11 WardF

I think my previous review holds, so it should be ok to merge it.

DennisHeimbigner avatar Nov 08 '22 19:11 DennisHeimbigner

Thanks @DennisHeimbigner !

WardF avatar Nov 08 '22 20:11 WardF