Commit Graph

127 Commits

Author SHA1 Message Date
Darren Tucker
1b8108ebd1 Test against OpenSSL 1.1.0h instead of 1.1.0g.
1.1.0g requires a perl glob module that's not installed by default.
2021-04-27 14:22:20 +10:00
Darren Tucker
9bc20efd39 Use the default VM type for libcrypto ver tests. 2021-04-27 12:37:59 +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
7753260987 Export CC and CFLAGS for c89 test. 2021-04-26 17:20:23 +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
29e194a752 Ensure we can still build with C89. 2021-04-26 14:50:58 +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
b16082aa11 Add fbsd10 test target. 2021-04-26 13:35:44 +10:00
Darren Tucker
2c805f16b2 Disable compiler hardening on nbsd4.
The system compiler supports -fstack-protector-all, but using it will
result in an internal compiler error on some files.
2021-04-25 14:15:02 +10:00
Darren Tucker
6a5d393056 Add nbsd3, nbsd4 and nbsd9 test targets. 2021-04-25 13:01:34 +10:00
Darren Tucker
d1aed05bd2 Comment out nbsd2 test target for now. 2021-04-24 22:03:46 +10:00
Darren Tucker
3737c9f66e Replace "==" (a bashism) with "=". 2021-04-23 19:49:46 +10:00
Darren Tucker
a116b6f5be Add nbsd2 test target. 2021-04-23 16:34:48 +10:00
Darren Tucker
196bf2a9bb Add obsd68 test target. 2021-04-23 14:54:10 +10:00
Darren Tucker
e3ba6574ed Remove dependency on bash. 2021-04-23 14:53:32 +10:00
Darren Tucker
db1f9ab8fe Add obsd67 test target. 2021-04-23 14:41:13 +10:00
Darren Tucker
c039a6bf79 Re-add macos-11.0 test target. 2021-04-23 11:08:23 +10:00
Darren Tucker
a6db3a47b5 Add openindiana test target. 2021-04-23 10:28:28 +10:00
Darren Tucker
3fe7e73b02 Test krb5 on Solaris 11 too. 2021-04-23 10:26:35 +10:00
Darren Tucker
f57fbfe5eb Don't always set SUDO.
Rely on sourcing configs to set as appropriate.
2021-04-22 22:29:33 +10:00
Darren Tucker
e428f29402 Remove now-unused 2nd arg to configs. 2021-04-22 22:29:33 +10:00
Darren Tucker
cb4ff640d7 Add win10 test target. 2021-04-22 22:29:33 +10:00
Darren Tucker
4457837238 Add nbsd8 test target. 2021-04-22 22:29:33 +10:00
Darren Tucker
bd4fba22e1 Add obsd51 target. 2021-04-22 22:29:33 +10:00
Darren Tucker
9403d0e805 Add fbsd13 target. 2021-04-22 22:29:33 +10:00
Darren Tucker
f42b550c28 Add pattern for valgrind-unit. 2021-04-08 14:20:12 +10:00
Darren Tucker
19e5344627 Run unit tests under valgrind.
Run a separate build for the unit tests under Valgrind.  They take long
enough that running in parallel with the other Valgrind tests helps.
2021-04-08 13:35:14 +10:00
Darren Tucker
3674e33fa7 Further split Valgrind tests.
Even split in two, the Valgrind tests take by far the longest to run,
so split them four ways to further increase parallelism.
2021-04-07 17:02:27 +10:00
Darren Tucker
b3ca08cb17 Install libcbor with libfido2. 2021-04-05 23:48:31 +10:00
Darren Tucker
7cd262c1c5 Save config.h and config.log on failure too. 2021-04-03 16:59:10 +11:00
Darren Tucker
867a7dcf00 Don't install moduli during tests.
Now that we have TEST_SSH_MODULI_FILE pointing to the moduli in the
soure directory we don't need to install the file to prevent warnings
about it being missing.
2021-03-13 13:52:53 +11:00
Darren Tucker
de3866383b Only upload config logs if configure fails. 2021-03-01 21:13:24 +11:00
Darren Tucker
24a3a67bd7 Remove macos-11.00 PAM test target too.
These are failing apparently due to some kind of infrastructure problem,
making it look like every commit is busted.
2021-02-26 11:50:37 +11:00
Darren Tucker
fd9fa76a34 Remove macos-11.0 from the test target list.
It has been consistently failing for the past few days with a github
actions internal error.
2021-02-26 01:15:10 +11:00
Darren Tucker
f186a020f2 Add a couple more test VMs. 2021-02-23 16:05:22 +11: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
5fcb051494 Disable rlimit sandbox, doesn't work with valgrind
Only run regress tests, runing unit tests as well makes it run longer
than allowed y github.
2021-02-21 15:39:01 +11:00
Darren Tucker
bb0b9bf453 Upload valgrind logs on failure. 2021-02-20 13:29:41 +11:00
Darren Tucker
ebb3b75e97 Rename "vm" to "os" in selfhosted to match c-cpp.
Should make it easier to share code or maybe merge at some point.
2021-02-19 22:20:00 +11:00
Darren Tucker
76c0be0fe0 Upload regress failure logs in c-cpp too. 2021-02-19 22:19:38 +11:00
Darren Tucker
8751b6c313 Comment out Solaris 64bit PAM build...
until I can figure out why it's failing.
2021-02-19 22:13:36 +11:00
Darren Tucker
e9f6d563c0 Actually run Valgrind tests. 2021-02-19 10:20:17 +11:00
Darren Tucker
41d232e226 Add test against Valgrind. 2021-02-19 10:16:56 +11:00
Darren Tucker
e6528d91f1 Add fbsd12 test target. 2021-02-18 16:30:01 +11:00
Darren Tucker
6506cb2798 Remove unused arg. 2021-02-18 15:21:13 +11:00
Darren Tucker
93c31a6239 Add DEBUG_SK to kitchensink builds. 2021-02-18 14:54:07 +11:00
Darren Tucker
65085740d3 Add bbone test target (arm32). 2021-02-18 14:53:14 +11:00
Darren Tucker
d0763c8d56 Fixing quoting for installing moduli on target guest. 2021-02-18 11:05:48 +11:00
Darren Tucker
b3afc243bc Install moduli on target not host. 2021-02-18 10:41:58 +11:00
Darren Tucker
bc9b0c2570 Skip unit tests on sol11 to speed things up. 2021-02-18 10:10:00 +11:00
Darren Tucker
161873035c Remove SKIP_UNIT as it needs to be a make arg. 2021-02-18 10:09:27 +11:00
Darren Tucker
1c293868e4 Always intall moduli.
Allows us to run tests without falling back to a fixed modulus.  Ensure that
the directory exists.
2021-02-18 10:05:03 +11:00
Darren Tucker
5c8f41ad10 Quote SSHD_CONFOPTS in case it contains spaces. 2021-02-18 09:59:09 +11:00
Darren Tucker
4653116c1f Fix labels on targets (dots vs underscores). 2021-02-18 09:51:18 +11:00
Darren Tucker
4512047f57 More compact representation of config matrix. 2021-02-17 21:47:48 +11:00
Darren Tucker
0406cd09f0 Skip unit tests on hosted VMs to speed things up. 2021-02-17 21:19:18 +11:00
Darren Tucker
4582612e61 Merge macos and ubuntu tests. 2021-02-17 20:46:03 +11:00
Darren Tucker
09f4b84654 Convert most github hosted tests to new config structure. 2021-02-17 20:46:03 +11:00
Darren Tucker
65380ff7e0 Only run selfhosted tests from selfhosted repo. 2021-02-17 18:27:36 +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
237dbb34e2 Remove whitespace. 2021-01-28 14:35:41 +11:00
Darren Tucker
bba229b6f3 Install moduli file before tests.
Reduces warnings during test runs.
2021-01-27 12:34:07 +11:00
Darren Tucker
1b83185593 Run one test with -Werror to catch warnings. 2021-01-27 11:58:26 +11:00
Darren Tucker
8635e7df7e Merge Mac OS X targets into a single config. 2021-01-13 18:00:57 +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
309b642e14 Run tests with sudo for better coverage. 2021-01-08 15:50:41 +11:00
Darren Tucker
c336644351 Add Ubuntu 16.04 and 20.04 test targets. 2021-01-08 15:49:06 +11:00
Darren Tucker
a09e98dcae Output test debug logs on failure. 2020-08-07 15:37:37 +10:00
Darren Tucker
eb122b1eeb Add ability to specify exact test target. 2020-08-07 15:24:55 +10: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