CI: Use autoconf cache and NIT certificate cache#3109
CI: Use autoconf cache and NIT certificate cache#3109jimklimov wants to merge 53 commits intonetworkupstools:masterfrom
Conversation
|
https://ci.appveyor.com/project/nut-travis/nut/builds/52845240#L2573
Need to take care about variables like Probably a lot of other similar LIBS and other variables we pre-set as |
|
❌ Build nut 2.8.4.3567-master failed (commit 48eea4df7e by @jimklimov) |
0e73863 to
5585671
Compare
… options to USE_AUTOCONF_CACHE and/or CLEAN_AUTOCONF_CACHE [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ACHE:yes and carry over the config.cache between builds [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…TOCONF_CACHE:yes and carry over the config.cache between builds [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…OCONF_CACHE=no [networkupstools#3108] Callers like specific CI recipes should be free to enable certain behaviors though. Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… we want/do use it [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…n dev-test builds [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…DDRS usage Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…k` for less noise Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ig opts" hash [networkupstools#3108] Now even several build environments sharing a source directory with a generated configure script should be able to safely use their individual caches. Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
5585671 to
ca06004
Compare
|
A ZIP file with standard source tarball and another tarball with pre-built docs for commit 58f1bd2 is temporarily available: NUT-tarballs-PR-3109.zip. |
…or config.cache [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…der runs moved to NUT v2.8.6 [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
0fcd331 to
da1b198
Compare
…SHDIR into Windows builds if we want to and can [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
da1b198 to
677092d
Compare
…oggle, like in ci_build.sh Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
80d67d7 to
b64e5fe
Compare
…sh a copy of first-run config.log and config.h as examples of resulting configuration [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…igure_nut(): stash a copy of first-run config.log and config.h as examples of resulting configuration [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…lds to not lose track [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…somehash_files() method detection [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…er()/somehash_files() method detection [networkupstools#3390] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
…ebang via /usr/bin/env [networkupstools#1711] Signed-off-by: Jim Klimov <jimklimov@gmail.com>
|
❌ Build nut 2.8.5.4634-master failed (commit 6888b14f82 by @jimklimov) |
…#3390] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…) with forward slashes too [networkupstools#1711] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…) yet some more [networkupstools#1711] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ry, to not lose track [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…stools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
|
✅ Build nut 2.8.5.4636-master completed (commit bc0cf01319 by @jimklimov)
|
|
✅ Build nut 2.8.5.4637-master completed (commit 2edff0fc56 by @jimklimov)
|
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…stash optional items not needed in production use of the cache, but rather to track its regressions on re-runs etc. [networkupstools#3108] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
5791fc2 to
69059b4
Compare
|
❌ Build nut 2.8.5.4638-master failed (commit 52203378aa by @jimklimov) |
|
✅ Build nut 2.8.5.4639-master completed (commit a6efd9e1d1 by @jimklimov)
|
|
✅ Build nut 2.8.5.4639-master completed (commit a6efd9e1d1 by @jimklimov) |
…of all expected certs for NSS or OpenSSL scenarios [networkupstools#3390] Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Closes issue #3108
Closes issue #3390
Updated code boasts also change detection (based on a hash of
uname -a,configure.acandm4/*.m4sources, andconfigurescript options including the compiler names) and optional storage of the caches outside of the build directory.This way, builds for unchanged conditions use their individual cached discoveries stored in separate directories. This should allow one build system to handle numerous configurations (like the USB/SSL/... matrix in
ci_build.sh) and even platforms (autogenonce, build out-of-tree) with many workers using the shared storage. This also handles a separateconfig.cachefor eachmake distcheck*goal.Currently this does not handle clean-up of the cache, other than hits to the same one (or an in-tree
config.cachefile). Overheads are about 40Kb on systems tested so far.Also currently relies on presence of
md5sumto make some hash, but that is easily extensible if needed on systems that lack it but have anything equivalent (cksum,sha*sum,openssl digest, etc.) - see NDE for ideas if it comes to that.md5sumby that name, scripts refactoredSimilar logic and config applied to NIT certificates, for them to be re-used (generation of crypto material does take its toll, especially on congested hypervisors and weak SBCs). Also in this mode, if
nit.shdoes generate certs in a sufficiently capable operating environment, it would try to populate both OpenSSL and NSS stores, and optionally JKS (for jNut) if it can.