Skip to content

CI: Collect and export coverage data for Functional tests#89671

Merged
maxknv merged 1 commit intomasterfrom
ci_coverage_test_to_nightly
Nov 11, 2025
Merged

CI: Collect and export coverage data for Functional tests#89671
maxknv merged 1 commit intomasterfrom
ci_coverage_test_to_nightly

Conversation

@maxknv
Copy link
Copy Markdown
Member

@maxknv maxknv commented Nov 6, 2025

Changelog category (leave one):

  • Not for changelog (changelog entry is not required)

Details

This PR implements coverage-per-test data exporting for Functional tests. This data is supposed to be used later to find most relevant test cases for a PR/change.

  1. Adds coverage flavor for functional tests job - run all tests sequentially, store data into local system table and then export to the cidb cluster (table)

  2. Adds coverage job into nightly workflow

  3. Adds script to retrieve changed symbols from pr diff (to later map symbols onto test names)
    example: python ./ci/jobs/scripts/pr_diff_to_symbols.py 89795 ./ci/clickhouse

  4. updates aws cli in test's docker image

  5. removes coverage job from master workflow (deprecated by the change)

  6. removes exporting coverage to ci log cluster (deprecated by the change)

@maxknv maxknv marked this pull request as draft November 6, 2025 19:59
@clickhouse-gh
Copy link
Copy Markdown
Contributor

clickhouse-gh Bot commented Nov 6, 2025

Workflow [PR], commit [392db3b]

Summary:

@clickhouse-gh clickhouse-gh Bot added the pr-not-for-changelog This PR should not be mentioned in the changelog label Nov 6, 2025
@maxknv maxknv force-pushed the ci_coverage_test_to_nightly branch 13 times, most recently from 8ddb5ad to c1f07dc Compare November 10, 2025 16:40
@maxknv maxknv marked this pull request as ready for review November 10, 2025 16:46
@maxknv maxknv force-pushed the ci_coverage_test_to_nightly branch from c1f07dc to 392db3b Compare November 10, 2025 16:52
@maxknv maxknv changed the title CI: Collect and Export coverage-per-test data for Functional tests CI: Collect and export coverage-per-test data for Functional tests Nov 10, 2025
@maxknv maxknv requested review from Felixoid and leshikus November 10, 2025 16:54
@maxknv maxknv changed the title CI: Collect and export coverage-per-test data for Functional tests CI: Collect and export coverage data for Functional tests Nov 10, 2025
Copy link
Copy Markdown
Contributor

@leshikus leshikus left a comment

Choose a reason for hiding this comment

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

Looks great, though there may be many issues when we start using this. For example, the coverage_log is optimized for test lookups, and not symbol lookups. I'm not even sure that we can consider symbols as LowCardinality, there are likely more than 10000 functions in clickhouse (if these are c++ functions in the source code, not sql functions)

@Felixoid
Copy link
Copy Markdown
Member

I never touched coverage, can't contribute here

@maxknv maxknv added this pull request to the merge queue Nov 11, 2025
Merged via the queue into master with commit f106801 Nov 11, 2025
130 checks passed
@maxknv maxknv deleted the ci_coverage_test_to_nightly branch November 11, 2025 10:06
@robot-ch-test-poll4 robot-ch-test-poll4 added the pr-synced-to-cloud The PR is synced to the cloud repo label Nov 11, 2025
@maxknv
Copy link
Copy Markdown
Member Author

maxknv commented Nov 11, 2025

I'm not even sure that we can consider symbols as LowCardinality, there are likely more than 10000 functions in clickhouse (if these are c++ functions in the source code, not sql functions)
yes, i think we'll need to switch the type

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.

4 participants