From bd979c56ac4ce40d57cb8fef0cba4839cc6f958e Mon Sep 17 00:00:00 2001 From: myrrc Date: Tue, 11 Aug 2020 16:55:37 +0300 Subject: [PATCH] initial template version --- CI.md | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 CI.md diff --git a/CI.md b/CI.md new file mode 100644 index 00000000000..cbe0bdfa4fd --- /dev/null +++ b/CI.md @@ -0,0 +1,55 @@ +## A small note about ClickHouse's CI system. +### CI's checks overview + +0. Merge with master + - Runs only on PRs. + - Checks if the PR can be successfully merged with the master branch. + - Not present in the checks list if there are no conflicts. + - Status if the conflicts are present: "Cannot fetch mergecommit". +1. [Docs check](#docs-check) + - Tries to build the ClickHouse's documentation website. + - Checks the inner cross-links status. +2. Description check + - Run only on PRs. + - Check the conformance of the PR's description with the PULL_REQUEST_TEMPLATE.md +3. Push to dockerhub + - Checks differences between the ClickHouse's current DockerHub image. + - Status on success "nothing to update" or "successfully updated". +4. Marker check + - Checks that all CI's check have been initiated. + - Success status: "All checks were started". +5. [Style check](#style-check) + - Checks the code style according to `utils/check-style/check-style`. + - Status on success: "Style check passed". +6. PVS check + - Static analysis tool, checks code with PVS-studio. +7. Fast test + - First executable check. + - Builds a subset of ClickHouse's code (without embedded compiler, ZooKeeper, etc.). + - Runs a subset of tests (functional, stateless, stateful, and integration ones). + - Blocks the start of Build check on errors. + - Intended to detect some errors and limit the CI run time on broken commits. +8. Build check + - Build ClickHouse with various compilers (gcc-9, clang-10) and various sanitizers: + undfined (UBSan), address (ASan), memory (MSan), and thread (TSan). +9. Special build check + - ??? +10. Compatibility check + - ??? +11. AST fuzzer +12. Functional stateful tests +13. Functional stateless tests +14. Integration tests +15. Stress test +16. Split build smoke test +17. Testflows check +18. Performance tests. + +### Docs check +- [Status page example](https://clickhouse-test-reports.s3.yandex.net/12550/eabcc293eb02214caa6826b7c15f101643f67a6b/docs_check.html) +- `docs_output.txt` contains the building log. [Successful result example](https://clickhouse-test-reports.s3.yandex.net/12550/eabcc293eb02214caa6826b7c15f101643f67a6b/docs_check/docs_output.txt) + +### Style check +- [Status page example](https://clickhouse-test-reports.s3.yandex.net/12550/659c78c7abb56141723af6a81bfae39335aa8cb2/style_check.html) +- `output.txt` contains the check resulting errors (invalid tabulation etc), blank page means no errors. [Succesful + result example](https://clickhouse-test-reports.s3.yandex.net/12550/659c78c7abb56141723af6a81bfae39335aa8cb2/style_check/output.txt)