Skip to content

CI: ci_config refactoring#65045

Merged
maxknv merged 16 commits intomasterfrom
ci_config_refactoring
Jun 18, 2024
Merged

CI: ci_config refactoring#65045
maxknv merged 16 commits intomasterfrom
ci_config_refactoring

Conversation

@maxknv
Copy link
Copy Markdown
Member

@maxknv maxknv commented Jun 10, 2024

Changelog category (leave one):

  • Not for changelog (changelog entry is not required)

Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):

CI config refactoring

  • Creates ci_definitions.py for permanent ci configuration and parameters
  • Cleans out ci_config.py, makes it more comprehensible and user-friendly for adding new CI jobs
  • Single build report job for all builds
  • More CI unit tests to cover tricky cases: job configs, workflow configuration, ci await

Improvements:

  • Do not pylint ci unit tests (too much bustle)
  • Do not mypy ci unit tests (too much bustle)
  • Do not overwrite Sync status if set (in case entire pipeline is restarted)

Documentation entry for user-facing changes

  • Documentation is written (mandatory for new features)

Information about CI checks: https://clickhouse.com/docs/en/development/continuous-integration/

CI Settings (Only check the boxes if you know what you are doing):

  • Allow: All Required Checks
  • Allow: Stateless tests
  • Allow: Stateful tests
  • Allow: Integration Tests
  • Allow: Performance tests
  • Allow: Normal Builds
  • Allow: Special Builds
  • Allow: All NOT Required Checks
  • Allow: batch 1, 2 for multi-batch jobs
  • Allow: batch 3, 4, 5, 6 for multi-batch jobs

  • Exclude: Style check
  • Stateless tests
  • Stateful tests
  • Integration Tests
  • Stress Tests
  • Exclude: Fast test
  • Exclude: All with ASAN
  • Exclude: All with TSAN, MSAN, UBSAN, Coverage
  • Exclude: All with aarch64, release, debug

  • Do not test
  • Upload binaries for special builds
  • Disable merge-commit
  • Disable CI cache

@maxknv maxknv self-assigned this Jun 10, 2024
@maxknv maxknv force-pushed the ci_config_refactoring branch from 1372431 to f18693a Compare June 10, 2024 10:25
@robot-ch-test-poll robot-ch-test-poll added the pr-not-for-changelog This PR should not be mentioned in the changelog label Jun 10, 2024
@robot-ch-test-poll
Copy link
Copy Markdown
Contributor

robot-ch-test-poll commented Jun 10, 2024

This is an automated comment for commit e13ff4e with description of existing statuses. It's updated for the latest CI running

❌ Click here to open a full report in a separate page

Check nameDescriptionStatus
A SyncIf it fails, ask a maintainer for help⏳ pending
CI runningA meta-check that indicates the running CI. Normally, it's in success or pending state. The failed status indicates some problems with the PR❌ failure
Mergeable CheckChecks if all other necessary checks are successful❌ failure
Stateless testsRuns stateless functional tests for ClickHouse binaries built in various configurations -- release, debug, with sanitizers, etc❌ failure
Successful checks
Check nameDescriptionStatus
ClickHouse build checkBuilds ClickHouse in various configurations for use in further steps. You have to fix the builds that fail. Build logs often has enough information to fix the error, but you might have to reproduce the failure locally. The cmake options can be found in the build log, grepping for cmake. Use these options and follow the general build process✅ success
Docs checkBuilds and tests the documentation✅ success
PR CheckChecks correctness of the PR's body✅ success
Stateful testsRuns stateful functional tests for ClickHouse binaries built in various configurations -- release, debug, with sanitizers, etc✅ success
Style checkRuns a set of checks to keep the code style clean. If some of tests failed, see the related log from the report✅ success
Unit testsRuns the unit tests for different release types✅ success

@maxknv maxknv force-pushed the ci_config_refactoring branch 6 times, most recently from 938d0fc to d4c9c77 Compare June 10, 2024 11:40
@maxknv maxknv marked this pull request as draft June 10, 2024 16:19
@maxknv maxknv force-pushed the ci_config_refactoring branch 13 times, most recently from 4c1d968 to 12d46ca Compare June 13, 2024 12:26
@maxknv maxknv force-pushed the ci_config_refactoring branch from 12d46ca to 6e3199e Compare June 14, 2024 09:58
@maxknv maxknv marked this pull request as ready for review June 14, 2024 14:17
@maxknv maxknv marked this pull request as draft June 14, 2024 14:25
@maxknv maxknv marked this pull request as ready for review June 15, 2024 09:32
@maxknv maxknv force-pushed the ci_config_refactoring branch from 32ff842 to 0d7a491 Compare June 15, 2024 15:49
@maxknv maxknv force-pushed the ci_config_refactoring branch from 0c6507a to 2af2fc1 Compare June 15, 2024 15:59
@maxknv maxknv force-pushed the ci_config_refactoring branch from 5fc0859 to 1d48bd7 Compare June 15, 2024 16:16
@maxknv maxknv force-pushed the ci_config_refactoring branch 6 times, most recently from 7cafa77 to 9a67cec Compare June 15, 2024 19:03
@maxknv maxknv force-pushed the ci_config_refactoring branch from 9a67cec to f81cbba Compare June 15, 2024 19:16
@maxknv maxknv added this pull request to the merge queue Jun 17, 2024
@maxknv maxknv removed this pull request from the merge queue due to a manual request Jun 17, 2024
@maxknv maxknv added this pull request to the merge queue Jun 18, 2024
Merged via the queue into master with commit abb88e4 Jun 18, 2024
@maxknv maxknv deleted the ci_config_refactoring branch June 18, 2024 08:38
@robot-ch-test-poll1 robot-ch-test-poll1 added the pr-synced-to-cloud The PR is synced to the cloud repo label Jun 18, 2024
),
run_command='functional_test_check.py "$CHECK_NAME"',
runner_type=Runners.FUNC_TESTER,
timeout=3600,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@maxknv Are you sure that 1 hour is enough, especially in case of sanitizers? https://s3.amazonaws.com/clickhouse-test-reports/66439/669ce7cd40881a075fe473027e6668d13683c840/stateful_tests__tsan_.html

INFO:root:Going to run func tests: docker run --volume=/home/ubuntu/actions-runner/_work/_temp/test/packages:/package_folder --privileged -e EXTRA_COLUMNS_EXPRESSION="CAST(66439 AS UInt32) AS pull_request_number, '669ce7cd40881a075fe473027e6668d13683c840' AS commit_sha, toDateTime('2024-07-14 08:59:44', 'UTC') AS check_start_time, toLowCardinality('Stateful tests (tsan)') AS check_name, toLowCardinality('m5a.4xlarge') AS instance_type, 'i-02df41d148884f8d8' AS instance_id" -e CLICKHOUSE_CI_LOGS_CREDENTIALS=/tmp/export-logs-config.sh --volume=/home/ubuntu/actions-runner/_work/_temp/test/export-logs-config.sh:/tmp/export-logs-config.sh:ro --volume=/home/ubuntu/actions-runner/_work/ClickHouse/ClickHouse/tests:/usr/share/clickhouse-test --volume=/home/ubuntu/actions-runner/_work/ClickHouse/ClickHouse/utils/grpc-client:/usr/share/clickhouse-utils/grpc-client --volume=/home/ubuntu/actions-runner/_work/ClickHouse/ClickHouse/tests/analyzer_tech_debt.txt:/analyzer_tech_debt.txt --volume=/home/ubuntu/actions-runner/_work/_temp/test/result_path:/test_output --volume=/home/ubuntu/actions-runner/_work/_temp/test/server_log:/var/log/clickhouse-server --security-opt seccomp=unconfined --cap-add=SYS_PTRACE -e S3_URL="https://s3.amazonaws.com/clickhouse-datasets" -e AZURE_CONNECTION_STRING='DefaultEndpointsProtocol=https;AccountName=openbucketforpublicci;AccountKey=33RK96U5TjCX9T48wuCu4QukKDuniFfnERcc6v3npAlx1s8oWMKLZCY3u5PKYAzvuVVxoXvvxyqB+AStxV+PUQ==;EndpointSuffix=core.windows.net' -e ADDITIONAL_OPTIONS="--hung-check --print-time" clickhouse/stateful-test:6532a394c436
...
2024-07-14 03:18:32 Using queries from '/usr/share/clickhouse-test/queries' directory

So something between this two lines tooks 18 minutes, but usually, this 30mins is enough for this tests - https://play.clickhouse.com/play?user=play#U0VMRUNUIHJlcG9ydF91cmwsIG1pbihjaGVja19zdGFydF90aW1lKSwgbWF4KGNoZWNrX2R1cmF0aW9uX21zKS8xMDAwCkZST00gY2hlY2tzCldIRVJFIHJlcG9ydF91cmwgTElLRSAnJXN0YXRlZnVsX3Rlc3RzX190c2FuXyUnCiAgICBBTkQgY2hlY2tfc3RhcnRfdGltZSA+PSBub3coKSAtIElOVEVSVkFMIDI0IEhPVVIKICAgIEFORCBwdWxsX3JlcXVlc3RfbnVtYmVyID0gMApHUk9VUCBCWSAxCk9SREVSIEJZIDI=

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't change timeout values in this PR, I only moved it from one place to another.
We'll take a look into this and align it if needed. Thanks
cc @fm4v

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-not-for-changelog This PR should not be mentioned in the changelog pr-synced-to-cloud The PR is synced to the cloud repo

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants