tailscale/.github
Brad Fitzpatrick e2fa9ff140 ssh/tailssh: speed up SSH integration tests
Parallelize the SSH integration tests across OS targets and reduce
per-container overhead:

- CI: use GitHub Actions matrix strategy to run all 4 OS containers
  (ubuntu:focal, ubuntu:jammy, ubuntu:noble, alpine:latest) in parallel
  instead of sequentially (~4x wall-clock improvement)

- Makefile: run docker builds in parallel for local dev too

- Dockerfile: consolidate ~20 separate RUN commands into 5 (one per
  test phase), eliminating Docker layer overhead. Combine test binary
  invocations where no state mutation is needed between them. Fix a bug
  where TestDoDropPrivileges was silently not being run (was passed as a
  second positional arg to -test.run instead of using regex alternation).

- TestMain: replace tail -F + 2s sleep with synchronous log read,
  eliminating 2s overhead per test binary invocation. Set debugTest once
  in TestMain instead of redundantly in each test function.

- session.read(): close channel on EOF so non-shell tests return
  immediately instead of waiting for the 1s silence timeout.

Updates #19244

Change-Id: I2cc8588964fbce0dd7b654fb94e7ff33440b8584
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2026-04-13 14:18:27 -07:00
..
actions/go-cache .github/actions/go-cache: check for pre-built cigocacher (#18833) 2026-03-02 16:01:48 +00:00
ISSUE_TEMPLATE .github/ISSUE_TEMPLATE: add link to wiki/OtherSoftwareInterop 2023-02-01 11:44:13 -08:00
workflows ssh/tailssh: speed up SSH integration tests 2026-04-13 14:18:27 -07:00
CONTRIBUTING.md .github: add CONTRIBUTING.md 2025-04-08 15:55:14 -07:00
dependabot.yml .github/dependabot.yml: disable eager updates for Go. 2021-12-08 10:37:03 -08:00
licenses.tmpl Revert "licenses: add gliderlabs/ssh license" 2024-04-15 11:21:13 -07:00