Commit Graph

43 Commits

Author SHA1 Message Date
Darren Tucker 51b345f177
Add libcrypt-devel to cygwin-release deps.
Based on feedback from vinschen at redhat.com.
2022-08-27 21:49:27 +10:00
Darren Tucker 85e1a69243
Add cygwin-release test target.
This also moves the cygwin package install from the workflow file to
setup_ci.sh so that we can install different sets of Cygwin packages
for different test configs.
2022-08-26 19:22:25 +10:00
Darren Tucker fd6ee741ab Add a bit more debug output. 2022-08-19 15:12:57 +10:00
Darren Tucker a9305c4c73 Add Cygwin (on windows-2019) test target.
In addition to installing the requisite Cygwin packages, we also need to
explicitly invoke "sh" for steps that run other scripts since the runner
environment doesn't understand #! paths.
2022-08-19 15:08:57 +10:00
Darren Tucker 5a5c580b48 Check for perms to run agent-getpeereid test.
Ubuntu 22.04 defaults to private home dirs which prevents "nobody"
running ssh-add during the agent-getpeereid test.  Check for this and
add the necessary permissions.
2022-08-18 21:36:39 +10:00
Darren Tucker 48cc68b691 Add GCC address sanitizer build/test. 2022-07-05 18:30:10 +10:00
Darren Tucker 7394ed80c4 Add clang sanitizer tests. 2022-07-03 22:53:44 +10:00
Darren Tucker 4bbe815ba9 Drop leading "v" from release version identifier.
It's present in the git tags but not in the release tarball names.
Also drop extra "/" from URL path.
2022-03-26 22:01:31 +11:00
Darren Tucker f5cdd3b3c2 Use tarballs when testing LibreSSL releases.
This means they'll still work when the combination of -portable and
openbsd github repos no longer match.
2022-03-26 16:28:04 +11:00
Darren Tucker 63bf4f49ed Add test configs for MUSL C library. 2022-02-18 12:12:21 +11:00
Darren Tucker 613a6545fc libhardended_malloc.so moved into out dir. 2022-01-11 20:56:01 +11:00
Darren Tucker d575cf4489 kitchensink test target now needs krb5. 2021-10-22 23:27:41 +11:00
Darren Tucker 4ae39cada2 Test both MIT KRB5 and Heimdal. 2021-10-22 22:54:33 +11:00
Darren Tucker a07664646b Source configs script so setup_ci can use settings 2021-10-22 14:00:05 +11:00
Darren Tucker 34df52c201 Install libedit and pam based on config flags. 2021-10-22 09:42:14 +11:00
Darren Tucker 8c626cc563 Don't use 'here string", it's not POSIX. 2021-10-21 16:53:39 +11:00
Darren Tucker 086a4b5977 Remove -Werror from compiler package to install. 2021-10-21 15:33:27 +11:00
Darren Tucker d4b38144c0 Add tcmalloc test target. 2021-10-12 23:01:40 +11:00
Darren Tucker a3c6375555 Use backticks instead of $(..) for portability.
Older shells (eg /bin/sh on Solaris 10) don't support $() syntax.
2021-09-29 19:30:59 +10:00
Darren Tucker 360fb41ef8 Test all available clang and gcc versions. 2021-09-29 12:05:50 +10:00
David Manouchehri f6a660e5bf Don't prompt for yes/no questions. 2021-09-24 07:52:04 +10:00
Darren Tucker c4565e69ff Really fix test on OpenSSL 1.1.1 stable. 2021-09-08 21:09:49 +10:00
Darren Tucker 9f79e80dc4 Always build OpenSSL shared.
This is the default for current versions but we need it to test against
earlier versions.
2021-04-27 12:32:46 +10:00
Darren Tucker b3cc9fbdff Fix custom OpenSSL tests.
Check out specified OpenSSL version.  Install custom libcrypto where
configure expects to find it.  Remove unneeded OpenSSL config time
options.  Older OpenSSL versions were not make -j safe so remove it.
2021-04-27 11:44:29 +10:00
Darren Tucker 33f62dfbe8 Add c89 here too. 2021-04-26 17:13:44 +10:00
Darren Tucker da9d59f526 Add test against OpenSSL w/out ECC. 2021-04-26 15:34:23 +10:00
Darren Tucker a38016d369 Interop test agains PuTTY. 2021-04-26 14:50:58 +10:00
Darren Tucker 095b0307a7 Support testing against arbitary libcrytpo vers.
Add tests against various LibreSSL and OpenSSL versions.
2021-04-26 14:50:44 +10:00
Darren Tucker 3737c9f66e Replace "==" (a bashism) with "=". 2021-04-23 19:49:46 +10:00
Darren Tucker e3ba6574ed Remove dependency on bash. 2021-04-23 14:53:32 +10:00
Darren Tucker b3ca08cb17 Install libcbor with libfido2. 2021-04-05 23:48:31 +10:00
Darren Tucker ffcdd3d90e Valgrind test: split and move up list.
Since the valgrind test takes so long it approaches the limit allowed by
github, move it to the head of the list so it's the first one started and
split the longest tests out into a second instance that runs concurrently
with the first.
2021-02-23 11:18:49 +11:00
Darren Tucker 41d232e226 Add test against Valgrind. 2021-02-19 10:16:56 +11:00
Darren Tucker 09f4b84654 Convert most github hosted tests to new config structure. 2021-02-17 20:46:03 +11:00
Darren Tucker f031366535 Add self-hosted runners for VMs of other platforms.
Github only hosts a limited number of platforms, and the runner code
is only supported on slightly wider range of platforms.  To increase
our test coverage beyond that, we run the runner natively on a VM host,
where it runs a jobs that boot VMs of other platforms, waits for them
to come up then runs the build and test by ssh'ing into the guest.
This means that the minimum dependencies for the guests are quite low
(basically just sshd, a compiler and make).

The interface to the VM host is fairly simple (basically 3 scripts:
vmstartup, vmrun and vmshutdown), but those are specific to the VM host
so are not in the public repo.  We also mount the working directory on the
host via sshfs, so things like artifact upload by the runner also work.

As part of this we are moving the per-test-target configs into a single
place (.github/configs) where there will be referenced by a single short
"config" key.  I plan to make the github-hosted runners use this too.

The self-hosted runners are run off a private repo on github since that
prevents third parties from accessing them[0], and since runner quota is
limited on private repos, we avoid running the tests we run on the public
repo.

[0] https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories
2021-02-17 18:20:40 +11:00
Darren Tucker 3d59e88c0e make with -j2 to use available CPUs. 2021-01-28 20:55:16 +11:00
Darren Tucker 66dd9ddb5d Add test against openssl head and libressl head. 2021-01-28 15:04:01 +11:00
Darren Tucker 1b83185593 Run one test with -Werror to catch warnings. 2021-01-27 11:58:26 +11:00
Darren Tucker ac112ade99 Add Mac OS X test targets. 2021-01-12 19:33:27 +11:00
Darren Tucker b744914fcb Add test against Graphene hardened malloc. 2021-01-09 00:36:05 +11:00
Darren Tucker c336644351 Add Ubuntu 16.04 and 20.04 test targets. 2021-01-08 15:49:06 +11:00
Darren Tucker 651bb3a319 Add without-openssl without-zlib test target. 2020-08-07 14:26:20 +10:00
Stefan Schindler 9499f2bb01 Add CI with prepare script
* Only use heimdal kerberos implementation
* Fetch yubico/libfido2 (see: https://github.com/Yubico/libfido2)
* Add one target for
    * all features
    * each feature alone
    * no features
2020-08-06 00:01:41 +02:00