CI.md: refresh
No binary (build failed)
—
(log yok)
| @@ -97,6 +97,7 @@ changeset | |
| CharConv | |
| charset | |
| charsets | |
| + | checkdocs |
| checksrc | |
| checksums | |
| chgrp | |
| @@ -293,6 +294,7 @@ getinfo | |
| GETing | |
| getpwuid | |
| ggcov | |
| + | GHA |
| Ghedini | |
| giga | |
| Gisle | |
| @@ -931,6 +933,7 @@ VC | |
| vcpkg | |
| vexxhost | |
| Viktor | |
| + | virtualized |
| Virtuozzo | |
| VLAN | |
| VM | |
| @@ -11,19 +11,16 @@ large number of test suites. | |
| Every pull request is verified for each of the following: | |
| - | - ... it still builds, warning-free, on Linux and macOS, with both |
| - | clang and gcc |
| - | - ... it still builds fine on Windows with several MSVC versions |
| - | - ... it still builds with cmake on Linux, with gcc and clang |
| - | - ... it follows rudimentary code style rules |
| - | - ... the test suite still runs 100% fine |
| - | - ... the release tarball (the "dist") still works |
| - | - ... it builds fine in-tree as well as out-of-tree |
| - | - ... code coverage does not shrink drastically |
| - | - ... different TLS backends still compile and pass tests |
| + | - it still builds, warning-free, on Linux, macOS, Windows, BSDs, with both |
| + | clang and gcc, autotools and cmake, out-of-tree and in-tree. |
| + | - it still builds fine on Windows with all supported MSVC versions |
| + | - it follows rudimentary code style rules |
| + | - the test suite still runs 100% fine |
| + | - the release tarball (the "dist") still works |
| + | - different TLS backends and options still compile and pass tests |
| If the pull-request fails one of these tests, it shows up as a red X and you | |
| - | are expected to fix the problem. If you do not understand when the issue is or |
| + | are expected to fix the problem. If you do not understand what the issue is or |
| have other problems to fix the complaint, just ask and other project members | |
| can likely help out. | |
| @@ -31,59 +28,58 @@ Consider the following table while looking at pull request failures: | |
| | CI platform as shown in PR | State | What to look at next | | |
| | ----------------------------------- | ------ | -------------------------- | | |
| - | | CI / CodeQL | stable | quality check results | |
| - | | CI / fuzzing | stable | fuzzing results | |
| - | | CI / macos ... | stable | all errors and failures | |
| - | | Code scanning results / CodeQL | stable | quality check results | |
| - | | FreeBSD FreeBSD: ... | stable | all errors and failures | |
| - | | LGTM analysis: Python | stable | new findings | |
| - | | LGTM analysis: C/C++ | stable | new findings | |
| - | | buildbot/curl_Schannel_ ... | stable | all errors and failures | |
| - | | AppVeyor | flaky | all errors and failures | |
| + | | Linux / macOS / Windows / ... | stable | all errors and failures | |
| + | | Fuzzer | stable | fuzzing results | |
| + | | Code analyzers | stable | new findings | |
| + | | checkdocs / checksrc / dist / ... | stable | all errors and failures | |
| + | | AppVeyor | stable | all errors and failures | |
| + | | buildbot/curl_Schannel ... | stable | all errors and failures | |
| | curl.curl (linux ...) | stable | all errors and failures | | |
| - | | curl.curl (windows ...) | flaky | repetitive errors/failures | |
| - | | CodeQL | stable | new findings | |
| - | Sometimes the tests fail due to a dependency service temporarily being offline |
| - | or otherwise unavailable, for example package downloads. In this case you can |
| - | just try to update your pull requests to rerun the tests later as described |
| - | below. |
| + | Sometimes the tests fail or run slowly due to a dependency service temporarily |
| + | having issues, for example package downloads, or virtualized (non-native) |
| + | environments. Sometimes a flaky failed test may occur in any jobs. |
| + | |
| + | Windows jobs have a number of flaky issues, most often, these: |
| + | - test run hanging and timing out after 20 minutes. |
| + | - test run aborting with 2304 (hex 0900) or 3840 (hex 0F00). |
| + | - test run crashing with fork errors. |
| + | - steps past the test run exiting with -1073741502 (hex C0000142). |
| + | |
| + | In these cases you can just try to update your pull requests to rerun the tests |
| + | later as described below. |
| + | |
| + | A detailed overview of test runs and results can be found on |
| + | [Test Clutch](https://testclutch.curl.se/). |
| ## CI servers | |
| Here are the different CI environments that are currently in use, and how they | |
| are configured: | |
| - | ### GitHub Actions |
| + | ### GitHub Actions (GHA) |
| GitHub Actions runs the following tests: | |
| - | - macOS tests with a variety of different compilation options |
| + | - Tests with a variety of different compilation options, OSes, CPUs. |
| - Fuzz tests ([see the curl-fuzzer repo for more | |
| info](https://github.com/curl/curl-fuzzer)). | |
| - | - CodeQL static analysis |
| + | - Static analysis and sanitizers: clang-tidy, scan-build, address sanitizer, |
| + | memory sanitizer, thread sanitizer, CodeQL, valgrind, torture tests. |
| These are each configured in different files in `.github/workflows`. | |
| - | ### Azure |
| - | |
| - | Not used anymore. |
| - | |
| - | ### AppVeyor |
| + | ### AppVeyor CI |
| AppVeyor runs a variety of different Windows builds, with different compilation | |
| options. | |
| - | As of November 2021 `@bagder`, `@mback2k`, `@jay`, `@vszakats`, `@dfandrich` |
| + | As of October 2025 `@bagder`, `@mback2k`, `@jay`, `@vszakats`, `@dfandrich` |
| and `@danielgustafsson` have administrator access to the AppVeyor CI | |
| environment. Additional admins/group members can be added on request. | |
| The tests are configured in `appveyor.yml`. | |
| - | ### Zuul |
| - | |
| - | Not used anymore. |
| - | |
| ### Circle CI | |
| Circle CI runs a basic Linux test suite on Ubuntu for both x86 and ARM | |
| @@ -94,7 +90,3 @@ website](https://app.circleci.com/pipelines/github/curl/curl). | |
| `@bagder` has access to edit the "Project Settings" on that page. Additional | |
| admins/group members can be added on request. | |
| - | |
| - | ### Cirrus CI |
| - | |
| - | Not used anymore. |