Commit Graph

39 Commits

Author SHA1 Message Date
Darren Tucker 8aa2f9aeb5 Make whitespace consistent. 2021-07-14 11:27:24 +10:00
Darren Tucker 4f4297ee9b Add ARM64 Linux self-hosted runner. 2021-07-14 11:27:24 +10:00
Darren Tucker 2c9e4b319f Disable rocky84 to figure out why agent test fails 2021-07-03 19:17:31 +10:00
Darren Tucker f93fdc4de1 Add rocky84 test target. 2021-06-28 13:06:37 +10:00
Darren Tucker ecc186e46e Retire fbsd7 test target.
It's the slowest of the selfhosted targets (since it's 32bit but has
most of the crypto algos). We still have coverage for 32bit i386.
2021-06-02 13:54:11 +10:00
Darren Tucker 1db69d1b65 Add dfly60 target. 2021-06-02 11:22:12 +10:00
Darren Tucker 2063af7142 Add minix3 test target. 2021-05-27 21:13:38 +10:00
Darren Tucker 8e32e97e78 Add obsd69 test target. 2021-05-01 20:07:47 +10:00
Darren Tucker 40b59024cc Add obsdsnap (OpenBSD snapshot) test target. 2021-04-28 12:22:11 +10:00
Darren Tucker b16082aa11 Add fbsd10 test target. 2021-04-26 13:35:44 +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 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 db1f9ab8fe Add obsd67 test target. 2021-04-23 14:41:13 +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 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 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 f186a020f2 Add a couple more test VMs. 2021-02-23 16:05:22 +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 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 e6528d91f1 Add fbsd12 test target. 2021-02-18 16:30:01 +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 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 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 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