-
Notifications
You must be signed in to change notification settings - Fork 24
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
GC4 ci adjustments #190
base: gc4
Are you sure you want to change the base?
GC4 ci adjustments #190
Conversation
* ubuntu: * only run jobs for "coverage" and "additional warnings" if the main ci build works and use its generated tarball in both cases * add two new artifacts: test binaries and windows source * ubuntu+msys1+msys2+macos: * upload config.log after the build - because we may need it to debug build issues * always upload the testsuite.log (additional build documentation) * ubuntu+msys1+msys2: * use --with-pkgversion to mark CI binaries * msys2+macos: * uploading NIST test results * msys1: * GMP url changes, building it again for performance reasons * building BDB with all relevant patches from MSYS2 * drop GC install log step and therefore extra prefix * using msys-build instead of building Bison (only necessary for GC4) * drop extra CFLAGS previously necessary for local cJSON (fixed in 3.x) * enable NIST85 (+ comment-code in case we ever need to skip something there and/or ignoring failing NIST) --> as after last upstream update everything works * ci cache adjustment: * remove split per matrix * split per software, enabling smaller updates * use CI tarball like for the minimal build, drop flex+bison * drop workflow specific expected failures that now work fine * move env to MSYS job * resolve env vars by build API instead of runner * integrate msys1.yml into ubuntu.yml, renaming to build_nightly.yml * msys2: * split NIST + internal testsuite and run the later with less jobs to prevent hanging * split between "prepare" and "build" job, with the former generating a full distribution inclusive documentation, and the later having less packages installed, allowing to enable i386 again * disable BDB for 32bit build as MSYS2 doesn't provide that any more * switch cjson to json-c (more commonly used, MSYS2 still providing 32bit build) * explicit list of dependencies for configure * msvc: * testsuite skip adjustments from the generated testsuite * enable building binary package and artifact * export dependencies and artifact (cherry picked from commit 7d4a2fd)
95f8be6
to
726eb49
Compare
* ubuntu: * only run jobs for "coverage" and "additional warnings" if the main ci build works and use its generated tarball in both cases * add two new artifacts: test binaries and windows source * ubuntu+msys1+msys2+macos: * upload config.log after the build - because we may need it to debug build issues * always upload the testsuite.log (additional build documentation) * ubuntu+msys1+msys2: * use --with-pkgversion to mark CI binaries * msys2+macos: * uploading NIST test results * msys1: * GMP url changes, building it again for performance reasons * building BDB with all relevant patches from MSYS2 * drop GC install log step and therefore extra prefix * using msys-build instead of building Bison (only necessary for GC4) * drop extra CFLAGS previously necessary for local cJSON (fixed in 3.x) * enable NIST85 (+ comment-code in case we ever need to skip something there and/or ignoring failing NIST) --> as after last upstream update everything works * ci cache adjustment: * remove split per matrix * split per software, enabling smaller updates * use CI tarball like for the minimal build, drop flex+bison * drop workflow specific expected failures that now work fine * move env to MSYS job * resolve env vars by build API instead of runner * integrate msys1.yml into ubuntu.yml, renaming to build_nightly.yml * msys2: * split NIST + internal testsuite and run the later with less jobs to prevent hanging * split between "prepare" and "build" job, with the former generating a full distribution inclusive documentation, and the later having less packages installed, allowing to enable i386 again * disable BDB for 32bit build as MSYS2 doesn't provide that any more * switch cjson to json-c (more commonly used, MSYS2 still providing 32bit build) * explicit list of dependencies for configure * msvc: * testsuite skip adjustments from the generated testsuite * enable building binary package and artifact * export dependencies and artifact (cherry picked from commit 7d4a2fd)
@ddeclerck This is nearly done but the MSVC is broken and I have no clue why (also when comparing with the GC3 one). If I take the resulting binaries from the artifacts I get something that seems to be a working compiler. Any idea? If not I'd suggest to wrap this up - skipping the testsuites (as it was before, just commented out) and package everything "as is" (without gcdiff)... at least we get all other CI environments working (much extended than before). Note: the part that took me the most time was the BSD |
Welcome to the seventh circle of MSVC hell ;)
I'd say (~90% sure) this is due to the trailing backslash at the end of the first include path (please don't ask..). |
This comment was marked as outdated.
This comment was marked as outdated.
I've rechecked - yes, that trailing slash kicks cl.exe into Nirvana. You know, I'd create a PR to fix that if it would be at least open source... checking what cobc does - it removes any trailing slash (since 2020 - r4051 only for MSVC and since r4974 in general) via the I'll adjust the CI definition... |
merging the changes of #189 and make gc4 ci more similar to gc3