curl-curl/.github
Viktor Szakats 2cbcde90e7
GHA/linux: split valgrind jobs to job-pairs for parallelism, to finish in 10m
To make CI turnaround time shorter, by cutting the longest running jobs.
After this patch all jobs should finish around 10-11 minutes. Down from
15-16 minutes before this patch.

Suggested-by: Stefan Eissing

The fuzzing workflow is now the slowest (with a 7-minute startup time
needed to build deps from source on each run), followed by macOS
and Windows torture tests (both split in two now). Without fuzzing, it's
under 10 minutes.

Notes:
- an extra cost with job-pairs is installing prereqs,
  configuring/building curl and tests twice. GitHub doesn't support
  making a matrix job a prereq for another workflow that may fix this:
    https://github.com/orgs/community/discussions/42335
  This overhead is significant on Windows: 11m20 -> 9m20 + 8m40
- job-pairs are annoying to maintain and keep in sync.
- splitting tests into halves is a manual process and needs to be
  revisited from time to time. Possibly something to automate with
  a runtests option, e.g. with `1 of 50%` and `2 of 50%`?

Also:
- split torture tests in two equal pieces, replacing the `FTP` + `!FTP`
  split used earlier.

Related perf improvements from today:
- make scan-build 2x fast:
  ff958fc4b2 #20159
- drop build-only Testi386 fuzz workflow (from curl), saving 9m per run:
  0106023c1f
  https://github.com/curl/curl-fuzzer/pull/236

Closes #20153
2026-01-02 15:51:00 +01:00
..
ISSUE_TEMPLATE ISSUE_TEMPLATE/docs: correct the field identifiers 2024-07-12 12:22:15 +02:00
scripts badwords.pl: don't mention the whitelisted finds 2026-01-02 11:21:31 +01:00
workflows GHA/linux: split valgrind jobs to job-pairs for parallelism, to finish in 10m 2026-01-02 15:51:00 +01:00
CODEOWNERS CI: add whitespace checker 2024-06-27 13:33:30 +02:00
CONTRIBUTING.md docs: fix link CONTRIBUTE.md link 2025-08-23 23:14:04 +02:00
dependabot.yml GHA/dependabot: tidy-ups 2025-11-02 17:45:50 +01:00
FUNDING.yml copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
labeler.yml cmake: match filename suffixes with file content 2025-12-20 11:34:27 +01:00
lock.yml copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
stale.yml badwords: fix issues found in scripts and other files 2025-11-17 17:18:07 +01:00