Commit Graph

16 Commits

Author SHA1 Message Date
Darren Tucker 8a421b9277
Really mkdir /usr/local/etc in CI tests. 2024-03-26 18:38:14 +11:00
Darren Tucker 18dbe8eff6
Ensure /usr/local/etc exists before using in tests. 2024-03-26 17:13:52 +11:00
Darren Tucker 131fcbcaff
Adjust test jobs for new log directory. 2023-03-01 23:23:02 +11:00
Darren Tucker 99500df246
Don't run openbsd-compat tests on Cygwin.
Add "compat-tests" to the default TEST_TARGET so we can override as
necessary.  Override TEST_TARGET for Cygwin as the tests don't currently
compile there.
2022-11-04 17:30:58 +11:00
Darren Tucker edd24101c7
Run compat regress tests too. 2022-11-03 08:17:39 +11:00
Darren Tucker 4df246ec75 Fix conditional for running hostbased tests. 2022-08-11 10:24:56 +10:00
Darren Tucker fdbd5bf507 Test hostbased auth on github runners. 2022-08-10 17:37:58 +10:00
Darren Tucker 6a24567a29 Improve github test driver script.
- use a trap to always output any failed regress logs (since the script
   sets -e, the existing log output is never invoked).
 - pass LTESTS and SKIP_LTESTS when re-running with sshd options (eg.
   UsePAM).
2021-08-16 14:42:48 +10:00
Darren Tucker e3ba6574ed Remove dependency on bash. 2021-04-23 14:53:32 +10:00
Darren Tucker e428f29402 Remove now-unused 2nd arg to configs. 2021-04-22 22:29:33 +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 5c8f41ad10 Quote SSHD_CONFOPTS in case it contains spaces. 2021-02-18 09:59:09 +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 309b642e14 Run tests with sudo for better coverage. 2021-01-08 15:50:41 +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