Commit Graph

296 Commits

Author SHA1 Message Date
Darren Tucker 99668f2e6e
Configure with --target instead of deprecated form. 2023-03-28 09:50:06 +11:00
Darren Tucker f751d9306c
Pass rpath when building 64bit Solaris. 2023-03-27 22:18:49 +11:00
Darren Tucker a64b935cd4
Explicitly disable OpenSSL on AIX test VM. 2023-03-27 22:18:46 +11:00
Darren Tucker fbd3811ddb
Explicitly disable security key test on aix51 VM.
We don't know how to build the shared objects required for the security
key tests so skip them.
2023-03-27 11:08:00 +11:00
Darren Tucker 4922ac3be8
Split libcrypto and other config flags.
This should allow the automatic OpenSSL version selection in the tests
to work better.
2023-03-26 14:49:43 +11:00
Darren Tucker 4a948b1469
Specify test target if we build without OpenSSL.
When we decide we can't use the versions of OpenSSL available, also
restrict the tests we run to avoid the ones that need OpenSSL.
2023-03-26 14:39:45 +11:00
Darren Tucker b308c636f5
Find suitable OpenSSL version.
Check the installed OpenSSL versions for a suitable one, and if there
isn't (and we don't have a specific version configured) then build
without OpenSSL.
2023-03-26 14:22:53 +11:00
Damien Miller 021ea5c286
Github testing support for BoringSSL 2023-03-24 15:39:48 +11:00
Damien Miller 7280401bdd
remove support for old libcrypto
OpenSSH now requires LibreSSL 3.1.0 or greater or
OpenSSL 1.1.1 or greater

with/ok dtucker@
2023-03-24 13:56:25 +11:00
Darren Tucker abda22fb48
Test latest OpenSSL 1.1, 3.0 and LibreSSL 3.7. 2023-03-19 15:36:13 +11:00
Darren Tucker 610ac1cb07
Show 9.3 branch instead of 9.2. 2023-03-16 21:38:04 +11:00
Darren Tucker 8bf61e9561
Add Coverity badges. 2023-03-03 14:50:03 +11:00
Darren Tucker 131fcbcaff
Adjust test jobs for new log directory. 2023-03-01 23:23:02 +11:00
Darren Tucker 52b75db610
Remove extended ACLs from working dirs.
This should allow umask to work as expected and prevent tests from
failing due to excessive permissions on private keys.
2023-02-25 14:43:28 +11:00
Darren Tucker 357fb8ae14
Also run unit tests on AIX VMs.
In the past these tests took too long, but these days it only adds
about 5 min to the run.
2023-02-21 17:51:09 +11:00
Darren Tucker d3b8d4198b
Add CentOS 7 test targets. 2023-02-10 14:26:44 +11:00
Darren Tucker 95b6bbd255
Replace 9.1 with 9.2 on CI status page. 2023-02-07 08:46:06 +11:00
Darren Tucker 79efd95ab5
Skip connection-timeout test on minix3.
Minix 3's Unix domain sockets don't seem to work the way we expect, so
skip connection-timeout test on that platform.  While there, group
together all similarly skipped tests and explicitly comment.
2023-02-01 17:19:33 +11:00
Darren Tucker a20b7e9997
Skip connection-timeout test under Valgrind.
Valgrind slows things down so much that the timeout test fails.  Skip
this test until we figure out if we can make it work.
2023-01-31 19:35:44 +11:00
Darren Tucker d03e245e03
Retry package installation 3 times.
When setting up the CI environment, retry package installation 3 times
before going up.  Should help prevent spurious failures during
infrastructure issues.
2023-01-13 23:05:08 +11:00
Darren Tucker 715bc25dcf
Skip dynamic-forward test on minix3.
This test relies on loopback addresses which minix does not have.
Previously the test would not run at all since it also doesn't have
netcat, but now we use our own netcat it tries and fails.
2023-01-08 18:13:03 +11:00
Darren Tucker ed8444572a
Add tests for LibreSSL 3.7.0 and OpenSSL 1.1.1s. 2022-12-19 18:42:34 +11:00
Darren Tucker abb9a8aadd
Use sudo when resetting perms on directories. 2022-12-18 21:36:25 +11:00
Darren Tucker 2f5664c590
Set group perms on regress dir.
This ensures that the tests don't fail due to StrictMode checks.
2022-12-18 21:19:33 +11:00
Darren Tucker 137196300f
Fetch regress logs from obj dir. 2022-12-18 21:13:42 +11:00
Darren Tucker 5f93c48365
obsdsnap test VMs runs-on libvirt too. 2022-12-13 20:59:54 +11:00
Darren Tucker 8386886fb1
Run upstream obsdsnap tests on ephemeral runners. 2022-12-13 20:55:37 +11:00
Darren Tucker b6e01459b5
Move obsdsnap test VMs to ephemeral runners. 2022-12-13 20:48:56 +11:00
Darren Tucker ce3c3e78ce
Add SANDBOX_DEBUG to the kitchensink test build. 2022-12-07 18:58:25 +11:00
Darren Tucker f84b9cffd5
Skip unit tests on slow riscv64 hardware. 2022-11-28 22:39:25 +11:00
Darren Tucker 9f2747e0be
Rework how selfhosted tests interact with runners.
Previously there was one runner per test target (mostly VMs).  This had
a few limitations:
 - multiple tests that ran on the same target (eg multiple build
   configs) were serialized on availability or that runner.
 - it needed manual balancing of VMs over host machines.

To address this, make VMs that use ephemeral disks (ie most of them)
all use a pool of runners with the "libvirt" label.  This requires that
we distinguish between "host" and "target" for those.  Native runners
and VMs with persistent disks (eg the constantly-updated snapshot ones)
specify the same host and target.

This should improve test throughput.
2022-11-28 22:39:08 +11:00
Darren Tucker d664ddaec8
Run vmstartup from temp dir.
This will allow us to create ephemeral disk images per-runner.
2022-11-27 12:19:37 +11:00
Darren Tucker 0fa16e952b
Make "config" in matrix singular and pass in env.
This will allow the startup scripts to adapt their behaviour based on
the type and config.
2022-11-27 12:14:00 +11:00
Darren Tucker e8857043af
Add "libvirt" label to dfly30. 2022-11-27 11:45:43 +11:00
Darren Tucker 9775473d84
Rename "os" in matrix to "target".
This is in preparation to distinguish this from the host that the runner
runs on in case where they are separate (eg VMs).
2022-11-27 11:20:35 +11:00
Darren Tucker 04fd00ceff
Remove unused self-hosted test targets. 2022-11-27 09:23:04 +11:00
Darren Tucker c9d9fcad2a
Remove explicit "default" test config argument.
Not specifying the test config implicitly selects default args.
2022-11-27 09:16:15 +11:00
Darren Tucker 8926956f22
Add dfly62 test target. 2022-11-11 11:25:37 +11:00
Darren Tucker ca98d3f8c6
Skip reexec test on OpenSSL 1.1.1 specifically.
OpenSSL 1.1.1 has a bug in its RNG that breaks reexec fallback, so skip
that test.  See bz#3483 for details.
2022-11-09 20:59:20 +11:00
Darren Tucker 419aa8a312
Shutdown any VM before trying to check out repo.
In the case where the previous run did not clean up, the checkout will
fail as it'll leave a stale mount.
2022-11-08 12:42:52 +11:00
Darren Tucker a32c07cbb7
Run vm startup and shutdown from runner temp dir.
Should work even if the github workspace dir is on a stale sshfs mount.
2022-11-08 12:01:33 +11:00
Darren Tucker 2b40a7dfcd
Add valrind-5 test here too. 2022-11-08 11:03:31 +11:00
Darren Tucker 2ea03d1f6d
Update checkout and upload actions.
Update actions/checkout and actions/upload-artifact to main branch for
compatibility with node.js v16.
2022-11-08 10:29:32 +11:00
Darren Tucker 4e316ff0f1
Split out rekey test since it runs the longest. 2022-11-08 10:29:32 +11:00
Darren Tucker f58acaf8c7
Fix merge conflict. 2022-11-07 15:10:59 +11:00
Darren Tucker 162e574102
Branch-specific links for master status badges. 2022-11-07 15:07:33 +11:00
Darren Tucker e4b7c12ab2
Add CIFuzz status badge. 2022-11-07 14:46:38 +11:00
Darren Tucker b496b9f831
Do not run CIFuzz on selfhosted tree.
We already run it on the regular tree, no need to double up.
2022-11-07 14:45:37 +11:00
Darren Tucker 2138b1c4dd
Whitespace change to trigger CIFuzz workflow. 2022-11-07 14:41:58 +11:00
Darren Tucker 4670b97ef8
Run cifuzz workflow on the actions as regular CI. 2022-11-07 14:34:04 +11:00
David Korczynski 79391e66ce
Add CIFuzz integration 2022-11-07 14:31:45 +11:00
Darren Tucker e1c6fcc142
Link to branch-specific queries for V_9_1 status. 2022-11-07 12:46:58 +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 9655217231
Rerun tests on changes to Makefile.in in any dir. 2022-11-03 23:07:50 +11:00
Darren Tucker 73550a218e
Increase selfhosted job timeout.
The default job timeout of 360 (6h) is not enough to complete the
regress tests for some of the slow VMs depending on the load on the host.
Increase to 600 (10h).
2022-11-03 13:41:16 +11:00
Darren Tucker ba05370963
Add tests for OpenSSL 3.0.7 and LibreSSL 3.6.1. 2022-11-03 08:40:06 +11:00
Darren Tucker edd24101c7
Run compat regress tests too. 2022-11-03 08:17:39 +11:00
Darren Tucker a75cffc270
Add LibreSSL 3.6.0 to test suite.
While there, bump OpenSSL to latest 1.1.1q release.
2022-10-07 03:54:56 +11:00
Darren Tucker fcc0f0c0e9
Add 9.1 branch to CI status page. 2022-10-06 21:18:16 +11:00
Darren Tucker ef211eee63
Test commits to all branches of portable.
Only test OpenBSD upstream on commits to master since that's what it
tracks.
2022-10-05 06:31:48 +11:00
Darren Tucker 03277a4aa4
Move sftp from valgrind-2 to 3 to rebalance. 2022-08-31 20:26:30 +10:00
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 9f81736cf1
Add Windows 2022 test targets. 2022-08-27 09:37:40 +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 6851f4b8c3 Install Cygwin packages based on OS not config. 2022-08-19 17:22:18 +10:00
Darren Tucker 1b470b9036 Fix cygwin conditional steps. 2022-08-19 15:19:19 +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 5e820bf79c Replace deprecated ubuntu-18.04 runners with 22.04 2022-08-12 14:56:55 +10:00
Darren Tucker d0c4fa5859 Rerun tests if any .github config file changes. 2022-08-11 14:23:58 +10:00
Darren Tucker 113fe6c77a Skip hostbased during Valgrind tests.
Valgrind doesn't let ssh exec ssh-keysign (because it's setuid) so skip
it during the Valgrind based tests.

See https://bugs.kde.org/show_bug.cgi?id=119404 for a discussion of this
(ironically there the problematic binary was ssh(1) back when it could
still be setuid).
2022-08-11 13:50:05 +10: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 dba7099ffc Remove deprecated MacOS 10.15 runners. 2022-07-27 18:40:12 +10:00
Darren Tucker eb679e2959 Move vmshutdown to first step.
If a previous run on a physical runner has failed to clean up, the next
run will fail because it'll try to check out the code to a broken
directory mount.  Make cleanup the first step.
2022-07-15 21:31:48 +10:00
Darren Tucker 46b91b70ff Rename bbone test target to ARM. 2022-07-15 20:25:27 +10:00
Darren Tucker e75bbc1d88 Capture stderr output from configure. 2022-07-12 14:37:15 +10:00
Darren Tucker fb2f3a61bf Move unset to before we set anything. 2022-07-12 12:54:24 +10:00
Darren Tucker c483a5c0fb Test against openssl-3.0.5. 2022-07-06 11:52:54 +10:00
Darren Tucker 669a56bcfe Update sanitizer test targets:
- remove clang-sanitize-memory for now.  It takes so long that the test
   times out.
 - add gcc sanitize-address and sanitize-undefined test targets.
2022-07-05 18:35:53 +10:00
Darren Tucker 48cc68b691 Add GCC address sanitizer build/test. 2022-07-05 18:30:10 +10:00
Darren Tucker 55c60bdd39 Move sanitizer logs into regress for collection. 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 c71a1442d0 Update OpenSSL tests to the most recent releases. 2022-06-29 18:28:47 +10:00
Darren Tucker 1781f507c1 Test against OpenSSL 1.1.1o and 3.0.3. 2022-05-27 18:19:48 +10:00
Darren Tucker c53906e0c5 Test against LibreSSL 3.5.3. 2022-05-27 18:18:31 +10:00
Darren Tucker f38cf74f20 Also retest OpenBSD upstream on .yml changes. 2022-05-06 14:50:18 +10:00
Darren Tucker 217b518e0f Add ubsan minimal testcase on OpenBSD.
As suggested by djm@.
2022-05-06 14:39:34 +10:00
Darren Tucker 4835544d2d Add Mac OS X 12 test target. 2022-04-30 11:00:02 +10:00
Darren Tucker 97a6a8b8c1 Only run tests when source files change.
Also run tests on changes to V_9_0 branch.
2022-04-29 18:34:38 +10:00
Darren Tucker 7bf2eb958f Add debian-riscv64 test target. 2022-04-26 23:30:59 +10:00
Darren Tucker 3913c93552 Update OpenSSL and LibreSSL versions in tests. 2022-04-25 17:21:24 +10:00
Darren Tucker d2b888762b Retire fbsd6 test VM.
It's long since out of support, relatively slow (it's i686) and the
compiler has trouble with PIE.
2022-04-16 14:31:13 +10:00
Darren Tucker 3741df98ff Disable security key on fbsd6 test host. 2022-04-04 23:52:11 +10:00
Darren Tucker 32c12236f2 Specify TEST_SHELL=bash on AIX.
The system shells cause the agent-restrict test to fail due to some
quoting so explicitly specify bash until we can get configure to
autmatically work around that.
2022-04-04 15:16:51 +10:00
Darren Tucker 6c49eb5fab Only run regression tests on slow VMs. 2022-04-01 23:21:40 +11:00
Darren Tucker f67e479039 Increase test timeout to allow slow VMs to finish 2022-04-01 23:21:06 +11:00
Darren Tucker 5b054d7640 Skip slow tests on (very) slow test targets. 2022-04-01 13:16:47 +11:00
Darren Tucker e937514920 Add AIX 5.1 test target. 2022-03-28 17:51:03 +11:00