test: speed up tests (#1181)

Parallelize isolated workflow tests, consolidate redundant fixtures, and replace fixed waits with deterministic synchronization. Keep the readable curl service probe and use `getent` for hostname resolution.

Measured on the same machine with `make test`:

1. Wall time: 170.50s to 136.12s, down 34.38s or 20.2%.
1. `act/runner`: 138.417s to 124.291s, down 14.126s or 10.2%.
1. `act/runner` coverage: unchanged at 85.2%.
1. `TestDockerExecAbort`: 2.514s to 0.012s package time.

Stability checks:

1. Cancellation and deadline tests: 100 race-enabled repetitions.
1. Host runner suite: 10 race-enabled repetitions.
1. Changed Docker fixtures: 3 consecutive repetitions.

Full race suite, Go and Windows lint, source checks, and security scan pass.

Assisted-by: Codex:GPT-5
Reviewed-on: https://gitea.com/gitea/runner/pulls/1181
Reviewed-by: bircni <bircni@icloud.com>
Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
silverwind
2026-08-22 20:53:55 +00:00
committed by bircni
parent 546eca312e
commit b97c61aa14
17 changed files with 129 additions and 199 deletions
+9 -12
View File
@@ -4,6 +4,9 @@ env:
jobs:
check:
runs-on: ubuntu-latest
defaults:
run:
shell: ${{ env.MY_SHELL }}
steps:
- shell: ${{ env.MY_SHELL }}
run: |
@@ -12,6 +15,12 @@ jobs:
else
exit 1
fi
- run: |
if [[ -n "$BASH" ]]; then
echo "I'm $BASH!"
else
exit 1
fi
check-container:
runs-on: ubuntu-latest
container: node:24-bookworm-slim
@@ -23,15 +32,3 @@ jobs:
else
exit 1
fi
check-job-default:
runs-on: ubuntu-latest
defaults:
run:
shell: ${{ env.MY_SHELL }}
steps:
- run: |
if [[ -n "$BASH" ]]; then
echo "I'm $BASH!"
else
exit 1
fi