Skip to content

CI/circleci: config tidy-ups, bump up test parallelism#14171

Closed
vszakats wants to merge 12 commits intocurl:masterfrom
vszakats:circleci
Closed

CI/circleci: config tidy-ups, bump up test parallelism#14171
vszakats wants to merge 12 commits intocurl:masterfrom
vszakats:circleci

Conversation

@vszakats
Copy link
Member

@vszakats vszakats commented Jul 12, 2024

  • bump parallel test for Linux jobs.
    Credit-to: Dan Fandrich
    Cherry-picked from CI: enable parallel testing in CI builds #11510
  • bump parallel test for macOS jobs.
  • drop no longer necessary -Wno-vla option.
  • fold long lines.
  • drop --enable-maintainer-mode ./configure option.
  • replace a hard-coded prefix with brew --prefix.
  • update documentation link.
  • move --enable-debug in front.
  • tidy up quotes.

Closes #14171

@vszakats vszakats added the CI Continuous Integration label Jul 12, 2024
@vszakats vszakats changed the title CI: CircleCI config tidy-ups, bump up parallelism CI: CircleCI config tidy-ups, bump up test parallelism Jul 12, 2024
@vszakats vszakats changed the title CI: CircleCI config tidy-ups, bump up test parallelism CI/circleci: config tidy-ups, bump up test parallelism Jul 12, 2024
@vszakats
Copy link
Member Author

vszakats commented Jul 12, 2024

Though, we now have the exact same ARM64 tests in GHA.

Is there any reason to maintain this? (edit: the macOS ones)

@vszakats
Copy link
Member Author

vszakats commented Jul 12, 2024

Well, not exactly: The wolfSSL and wolfSSH tests are unique. Should be checked one by one.

edit: also the Linux ARM ones.

macOS tests however seem similar to the ones in GHA.

@vszakats vszakats closed this in 2a7c8b2 Jul 13, 2024
@vszakats vszakats deleted the circleci branch July 13, 2024 02:04
vszakats pushed a commit to vszakats/curl that referenced this pull request Jul 20, 2024
The test-ci target now uses 2 processes by default, but the amount of
parallelism is tuned for each CI service and build environment based on
results of a number of test runs.  Some CI services use super-
oversubscribed build machines that can barely run the curl tests
already with no parallelism without frequently failing with
timing-induced failures. These continue to be run without parallelism.
Other services provide two fast, unloaded cores and these run with 14
processes, which is a good default for this kind of environment.

Here's a summary of the number of test processes by CI service:

  Appveyor - 2 (Windows MSVC), 1 (others)
  Azure - 2
  Circle CI - 14
  Cirrus - 28 (macOS), 14 (Linux), 7 (FreeBSD), 5 (macOS torture), 2 (Windows)
  GitHub Actions - 3 (macOS), 2 (Linux)

Some of these are a bit conservative to keep timing-induced flakiness down.

The net result is that the first test results should arrive only
3 minutes after a commit submission.

Already merged via separate commits:
- 2a7c8b2 curl#14171
- 7234106

Ref: curl#10818
Closes curl#11510
vszakats pushed a commit that referenced this pull request Aug 3, 2024
The test-ci target now uses 2 processes by default, but the amount of
parallelism is tuned for each CI service and build environment based on
results of a number of test runs.  Some CI services use super-
oversubscribed build machines that can barely run the curl tests
already with no parallelism without frequently failing with
timing-induced failures. These continue to be run without parallelism.
Other services provide two fast, unloaded cores and these run with 14
processes, which is a good default for this kind of environment.

Here's a summary of the number of test processes by CI service:

  Appveyor - 2 (Windows MSVC), 1 (others)
  Azure - 2
  Circle CI - 14
  Cirrus - 28 (macOS), 14 (Linux), 7 (FreeBSD), 5 (macOS torture), 2 (Windows)
  GitHub Actions - 3 (macOS), 2 (Linux)

Some of these are a bit conservative to keep timing-induced flakiness down.

The net result is that the first test results should arrive only
3 minutes after a commit submission.

Already merged via separate commits:
- 2a7c8b2 #14171
- 7234106
- efce544 #14244
- c6cf411

Ref: #10818
Closes #11510
vszakats pushed a commit that referenced this pull request Aug 3, 2024
The test-ci target now uses 2 processes by default, but the amount of
parallelism is tuned for each CI service and build environment based on
results of a number of test runs.  Some CI services use super-
oversubscribed build machines that can barely run the curl tests
already with no parallelism without frequently failing with
timing-induced failures. These continue to be run without parallelism.
Other services provide two fast, unloaded cores and these run with 14
processes, which is a good default for this kind of environment.

Here's a summary of the number of test processes by CI service:

  Appveyor - 2 (Windows MSVC), 1 (others)
  Azure - 2
  Circle CI - 14
  Cirrus - 28 (macOS), 14 (Linux), 7 (FreeBSD), 5 (macOS torture), 2 (Windows)
  GitHub Actions - 3 (macOS), 2 (Linux)

Some of these are a bit conservative to keep timing-induced flakiness down.

The net result is that the first test results should arrive only
3 minutes after a commit submission.

Changes merged via separate commits:
- 2a7c8b2 #14171
- 7234106
- efce544 #14244
- c6cf411

Ref: #10818
Closes #11510
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Continuous Integration tests tidy-up

Development

Successfully merging this pull request may close these issues.

1 participant