Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
435 commits
Select commit Hold shift + click to select a range
b04a4d8
add silly tests
arthurpassos Oct 17, 2024
850aa41
update test
arthurpassos Oct 17, 2024
d37c9b4
add some comments
arthurpassos Oct 17, 2024
ecf4e0f
address a few comments
arthurpassos Oct 18, 2024
bb82ae1
address some more comments
arthurpassos Oct 18, 2024
01b508b
remove unused rep level decoder
arthurpassos Oct 18, 2024
2198c54
Merge pull request #555 from Altinity/24.8_easier_versioning
Enmk Dec 13, 2024
6e48f8a
Merge pull request #63781 from ClickHouse/ft-chunked-protocol
yakov-olkhovskiy Aug 14, 2024
5b62afa
New metrics for ThreadPool
filimonov Jan 26, 2024
ca42ff6
add one more metric
filimonov Feb 9, 2024
5995004
Mark LocalThread metrics obsolete due to https://github.com/ClickHous…
filimonov Aug 20, 2024
943f059
make jobs queue in the ThreadPool stable (i.e. FIFO for the same prio…
filimonov Aug 20, 2024
01838c6
fix style
filimonov Aug 21, 2024
b48e249
Merge pull request #64448 from ClickHouse/pr-local-plan
devcrafter Sep 11, 2024
f1cf4fc
Merge pull request #69602 from ClickHouse/rm_explicit_initial_announc…
nickitat Sep 14, 2024
06a4050
Merge pull request #68424 from ClickHouse/adaptive_parallel_replicas
nickitat Sep 17, 2024
556c04a
Merge pull request #69744 from ClickHouse/fix_pr_protocol
nickitat Sep 19, 2024
bd014e1
Merge pull request #69706 from ClickHouse/pror_events_for_pr
nickitat Sep 19, 2024
19481de
Merge pull request #68355 from zvonand/tryfix-65762-again
Algunenano Sep 20, 2024
7e6b90c
Merge pull request #63151 from ClickHouse/parallel-replicas-beta
nikitamikhaylov Sep 25, 2024
162807b
Merge pull request #70900 from filimonov/linux_capabilities
antonio2368 Oct 28, 2024
611d1d4
Merge pull request #70332 from zvonand/ldap-remote-roles
pufit Nov 19, 2024
d2b3dc0
Merge pull request #72759 from zvonand/hotfix-72756
yariks5s Dec 6, 2024
3cf834b
fix build pt. 1
zvonand Dec 17, 2024
9d7b3d7
Merge pull request #65832 from CurtizJ/add-mutations-snapshot
CurtizJ Sep 5, 2024
1ec0a09
Merge branch 'customizations/24.8.8' into backports/24.8/remote-roles…
zvonand Dec 18, 2024
0c348a2
Small test fix
ianton-ru Dec 17, 2024
3d95afd
Add iptables in intergation-test image, some tests use it
ianton-ru Dec 18, 2024
ebb898b
Merge pull request #570 from Altinity/24.8-altinity-test-fix
Enmk Dec 18, 2024
237858a
Merge branch 'customizations/24.8.8' into backports/24.8/remote-roles…
zvonand Dec 18, 2024
b0cbccb
remove non existing settings from settingschanges
zvonand Dec 18, 2024
ca5b435
Merge branch 'backports/24.8/remote-roles-push' of github.com:Altinit…
zvonand Dec 18, 2024
170bf37
Merge pull request #567 from Altinity/backports/24.8.8/thread_pool_me…
Enmk Dec 19, 2024
98768e4
Merge pull request #556 from Altinity/backports/24.8.8/parquet_bloom_…
Enmk Dec 19, 2024
c73183a
Merge pull request #557 from Altinity/backports/24.8.8/parquet-native…
Enmk Dec 19, 2024
d8cceb3
Merge pull request #68694 from filimonov/thread_pool_thread_creation_…
serxa Oct 5, 2024
4bd65c0
Merge pull request #558 from Altinity/backports/24.8.8/parquet-page-h…
Enmk Dec 19, 2024
b2109be
Merge pull request #568 from Altinity/backports/24.8/70900_EPEM_numactl
Enmk Dec 20, 2024
1a6b755
Merge pull request #69582 from ClickHouse/keeper-better-ssl-support
antonio2368 Sep 17, 2024
15de750
Merge pull request #573 from Altinity/backports/24.8.8/thread_pool_th…
Enmk Dec 20, 2024
25c11de
Merge pull request #566 from Altinity/backports/24.8/69582_keeper_bet…
Enmk Dec 22, 2024
26b194b
Merge pull request #63781 from ClickHouse/ft-chunked-protocol
yakov-olkhovskiy Aug 14, 2024
14e8bd2
Merge pull request #64448 from ClickHouse/pr-local-plan
devcrafter Sep 11, 2024
049c2f6
Merge pull request #69602 from ClickHouse/rm_explicit_initial_announc…
nickitat Sep 14, 2024
cdc6380
Merge pull request #68424 from ClickHouse/adaptive_parallel_replicas
nickitat Sep 17, 2024
b5cf09b
Merge pull request #69744 from ClickHouse/fix_pr_protocol
nickitat Sep 19, 2024
95a19e9
Merge pull request #69706 from ClickHouse/pror_events_for_pr
nickitat Sep 19, 2024
2c94409
Merge pull request #68355 from zvonand/tryfix-65762-again
Algunenano Sep 20, 2024
72afb16
Merge pull request #63151 from ClickHouse/parallel-replicas-beta
nikitamikhaylov Sep 25, 2024
cc34cd2
Merge pull request #70332 from zvonand/ldap-remote-roles
pufit Nov 19, 2024
5103af7
Merge pull request #72759 from zvonand/hotfix-72756
yariks5s Dec 6, 2024
e283f07
fix build pt. 1
zvonand Dec 17, 2024
764d5bb
Merge pull request #65832 from CurtizJ/add-mutations-snapshot
CurtizJ Sep 5, 2024
a558b75
remove non existing settings from settingschanges
zvonand Dec 18, 2024
20ca816
Enable Fuzzers and ARM integration tests
MyroTk Jan 6, 2025
867e269
Update run-fuzzer.sh to use Altinity/ClickHouse repo
MyroTk Jan 7, 2025
55248c6
Add missing configuration in ClientSettings Object
stamsekar Dec 24, 2024
7fff7ad
Merge pull request #72584 from ClickHouse/update-nuraft
antonio2368 Dec 2, 2024
b7d75ce
Merge pull request #72730 from ClickHouse/fix-keeper-internal-ssl
antonio2368 Dec 4, 2024
fafa0a4
Merge branch 'customizations/24.8.8' into customizations/24.8.11
Enmk Jan 9, 2025
6439fec
Update mongo_cert.pem
ianton-ru Jan 9, 2025
fc34cb3
Merge pull request #585 from Altinity/altinity_24.8.8-new_mongo_cert
Enmk Jan 14, 2025
82b2557
kitware gpg fix
MyroTk Jan 14, 2025
819d04f
Update release_branches.yml
MyroTk Jan 14, 2025
95d9d7c
Update integration images to not be amd only
MyroTk Jan 15, 2025
6b58e78
Merge pull request #580 from Altinity/backport/24.8/73777
Enmk Jan 16, 2025
1a4645d
Merge branch 'customizations/24.8.11' into backports/24.8/remote-role…
zvonand Jan 16, 2025
331b418
impl
arthurpassos Jan 16, 2025
4a49154
Merge branch 'customizations/24.8.11' into backports/24.8.11/parquet_…
arthurpassos Jan 16, 2025
361c305
attempt to fix forrmat settings
arthurpassos Jan 17, 2025
4d9bd54
Merge branch 'customizations/24.8.11' into 24.8.8_cicd-tests
MyroTk Jan 17, 2025
7132c15
Merge pull request #579 from Altinity/backport/24.8/72730
Enmk Jan 20, 2025
c65cd3e
Merge branch 'backports/24.8/remote-roles-push' of github.com:Altinit…
zvonand Jan 20, 2025
2702361
fix typo
devcrafter Dec 24, 2024
821803e
Merge pull request #542 from Altinity/backports/24.8/remote-roles-push
Enmk Jan 21, 2025
2700034
Attempt to fix build
Enmk Jan 21, 2025
4aa941c
Merge branch 'customizations/24.8.11' into 24.8.8_cicd-tests
MyroTk Jan 21, 2025
ddf159e
Merge pull request #593 from Altinity/backports/24.8.11/parquet_compr…
Enmk Jan 21, 2025
8fad014
Merge branch 'customizations/24.8.11' into 24.8.8_cicd-tests
MyroTk Jan 21, 2025
036e0e3
Use test_name to determine ipv6 subnet
MyroTk Jan 22, 2025
a022d43
move the env var due
MyroTk Jan 22, 2025
cac1ac4
Enable azure s3 regression tests
MyroTk Dec 18, 2024
7737ad8
Update regression hash
MyroTk Dec 18, 2024
63bb078
Update clickhouse-regression tests to 81564a41aee34004b96df755e777b06…
MyroTk Jan 14, 2025
82be061
Update regression hash and runner labels
MyroTk Jan 17, 2025
1303a26
Update release_branches.yml
MyroTk Jan 17, 2025
781deeb
Merge pull request #576 from Altinity/24.8.8_cicd-tests
Enmk Jan 23, 2025
598238b
Merge pull request #597 from Altinity/24.8_split_docker_ipv6
Enmk Jan 23, 2025
aafbe56
Merge pull request #571 from Altinity/24.8.8_regression
Enmk Jan 23, 2025
6fa7aaa
Using altinity/clickhouse-server:24.3.5.47.altinitystable for aarch64
Enmk Jan 24, 2025
b728176
Merge pull request #604 from Altinity/24.8-fix-integration-test_backw…
Enmk Jan 26, 2025
32cf34b
Merge pull request #582 from Altinity/customizations/24.8.11
Enmk Jan 27, 2025
43bdb6c
Do not associate run with random PR if there is no PR
Enmk Jan 27, 2025
04bb9f2
Using proper path to report if head_ref contains '/'
Enmk Jan 28, 2025
70a7c76
Some debugging and also do not fail the job
Enmk Jan 28, 2025
1b5f6d8
Copying changes for test crossout from other branch
strtgbb Jan 28, 2025
6ea4a4d
Triggering workflow by tag + fixed generating version from tag
Enmk Jan 28, 2025
43ea2f7
Merge pull request #606 from Altinity/24.8-fix-version-from-tag
Enmk Jan 28, 2025
07c1db1
Merge branch 'releases/24.8.11' into customizations/24.8.11
Enmk Jan 28, 2025
2cabb61
see if it's possible to cross out 'server died' fail
strtgbb Jan 29, 2025
1b4c7cb
update broken_tests.json with known fails
strtgbb Jan 29, 2025
271e7f3
try to suppress server died and job timeout fails
strtgbb Jan 29, 2025
0687512
split stateless known fails from analyzer fails
strtgbb Jan 29, 2025
f140fa0
Properly turn Job Timeout into a skip for integration
strtgbb Jan 30, 2025
9c39933
Merge branch 'customizations/24.8.11' into 24.8_override_broken_tests
strtgbb Jan 30, 2025
1c95855
Prevent Service died and Job Timeout setting the result state to failure
strtgbb Jan 30, 2025
4467165
Move 02181_format_describe_query to bugs
strtgbb Jan 30, 2025
05a7853
try forcing troublesome ubsan tests into sequential mode
strtgbb Jan 30, 2025
fe8032f
Now suspect 03222_pr_asan_index_granularity for ubsan fails, undo pre…
strtgbb Jan 31, 2025
8e83532
revert no longer needed server died changes
strtgbb Jan 31, 2025
fae9690
increase timeout for integration asan
strtgbb Jan 31, 2025
362a3c5
fix syntax
strtgbb Jan 31, 2025
32709cc
Revert setting timeout fail to skipped. Will rely on increased timeout
strtgbb Jan 31, 2025
8cc8349
Merge pull request #605 from Altinity/24.8_override_broken_tests
MyroTk Feb 3, 2025
09110de
unmark previously broken ubsan tests
strtgbb Feb 3, 2025
a80413a
proof of concept for regression tests in ci_running
strtgbb Feb 4, 2025
41c2b02
add back missing base_ref and head_ref
strtgbb Feb 4, 2025
ffaf474
Use the correct sha and report url
strtgbb Feb 4, 2025
3ac6e46
Merge branch 'customizations/24.8.11' into 24.8-fix-db-upload
strtgbb Feb 4, 2025
3d665e2
fix quoting
strtgbb Feb 4, 2025
ca2661c
set status and description for all regression tests
strtgbb Feb 4, 2025
3173413
fix file name
strtgbb Feb 5, 2025
216130c
update hash to use requests instead of pygithub
strtgbb Feb 5, 2025
3f1d1b6
update hash to use shorter status message
strtgbb Feb 5, 2025
25be027
update regression hash again
strtgbb Feb 5, 2025
d689c26
update regression hash again
strtgbb Feb 5, 2025
64606a9
fix regression not differentiating architecture in ci_running
strtgbb Feb 5, 2025
fb3ab1f
Merge branch 'customizations/24.8.11' into 24.8_override_broken_tests
MyroTk Feb 5, 2025
db8940c
Merge pull request #609 from Altinity/24.8_override_broken_tests
MyroTk Feb 5, 2025
3b9f85e
Merge pull request #611 from Altinity/24.8-fix-db-upload
MyroTk Feb 5, 2025
f2c71ca
Merge branch 'customizations/24.8.11' into add_regression_to_ci_running
MyroTk Feb 5, 2025
14bc97f
enable uploads to regression db
strtgbb Feb 6, 2025
1f8be1f
increase integration tests timeout
strtgbb Feb 7, 2025
4cf2f86
script for creating combined ci report
strtgbb Feb 7, 2025
00230a1
venv not installed by default, try without
strtgbb Feb 8, 2025
176b1a7
fix typo
strtgbb Feb 8, 2025
7bf0f0a
another typo
strtgbb Feb 9, 2025
ee93267
need to isntall dependencies explicitly
strtgbb Feb 9, 2025
d53c213
need to specify secrets
strtgbb Feb 9, 2025
2365916
cleanup
strtgbb Feb 10, 2025
adba730
fix typo
strtgbb Feb 10, 2025
ed49677
Account for regression reruns
strtgbb Feb 10, 2025
12e717f
change title
strtgbb Feb 10, 2025
d49fede
rename actions-job-url to actions-run-url because that's what it real…
strtgbb Feb 10, 2025
7655591
fix regression query
strtgbb Feb 11, 2025
420d17c
add toc and order by
strtgbb Feb 11, 2025
73af40e
docstrings
strtgbb Feb 11, 2025
e116e0d
working table sorting
strtgbb Feb 11, 2025
896c2b9
better line wrapping of test names and layout tweak
strtgbb Feb 11, 2025
948640c
increase timeout for arm integration tests
strtgbb Feb 11, 2025
66f7c1c
more responsive table size
strtgbb Feb 11, 2025
e45724a
little tweaks
strtgbb Feb 11, 2025
03590fe
adjust column order
strtgbb Feb 11, 2025
4ab146d
drop redundant rows from the regression fails table
strtgbb Feb 11, 2025
b7e8e4d
increase arm integration timeout again
strtgbb Feb 12, 2025
691d580
Merge pull request #610 from Altinity/add_regression_to_ci_running
MyroTk Feb 12, 2025
1c21448
Add Known Fails section to automated report
strtgbb Feb 12, 2025
cfb1c75
Remove trailing spaces in sql
strtgbb Feb 12, 2025
ccfc6cf
Merge pull request #624 from Altinity/24.8_known_fails_report
MyroTk Feb 13, 2025
5c23fa3
Merge remote-tracking branch 'altinity/customizations/24.8.11' into c…
Enmk Feb 18, 2025
4268672
Fix CI: Not adding compare url in case of tag
Enmk Jan 29, 2025
2dfcbfd
Merge pull request #59138 from Enmk/fix_replace_partition_stop_the_world
alexey-milovidov Sep 30, 2024
5567bbe
Merge remote-tracking branch 'altinity/customizations/24.8.13' into c…
Enmk Feb 19, 2025
8bad783
Obtaining list of changed files by comparing not against master, but …
Enmk Feb 20, 2025
3c13405
Merge pull request #71405 from rschu1ze/demote-log-level-for-auth-fai…
rschu1ze Nov 5, 2024
9b631e4
Update automated report format
strtgbb Feb 19, 2025
7079e21
Checkout proper base to compute changed files
Enmk Feb 21, 2025
0bc0271
Merge pull request #649 from Altinity/fixes/24.8_fix_fuzzer_tests
Enmk Feb 21, 2025
d995164
Merge branch 'customizations/24.8.14' into 24.8_known_fails_report
strtgbb Feb 21, 2025
80e9c16
Merge pull request #71539 from ClickHouse/enable-merge-filters-optimi…
KochetovNicolai Nov 13, 2024
3f37990
Cleaned up settings changes history
Enmk Feb 20, 2025
551e995
Merge pull request #71894 from udiz/fix-arrayWithConstant-size-estima…
jsc0218 Nov 20, 2024
8028017
Merge branch 'customizations/24.8.14' into backports/24.8/71405_demot…
Enmk Feb 22, 2025
38d0acf
Add tests for stacktraces to all packages in install_check
strtgbb Feb 17, 2025
cebe818
Stacktrace tests should have different names even for tgz
strtgbb Feb 17, 2025
c6e6ba4
try to fix stack trace test
strtgbb Feb 18, 2025
ae81259
try again
strtgbb Feb 18, 2025
dc042a5
Move stacktrace test into server test
strtgbb Feb 18, 2025
fc17026
Merge pull request #632 from Altinity/24.8_test-stacktrace
Enmk Feb 24, 2025
65c13de
Merge pull request #639 from Altinity/24.8_known_fails_report
MyroTk Feb 24, 2025
b00079c
Proper version for docker images
Enmk Feb 25, 2025
41b8bd3
Fixed explicitly setting version from string
Enmk Feb 25, 2025
629a39b
Only reset version if there are no git tags checked out
Enmk Feb 25, 2025
6b10aae
Another attempt
Enmk Feb 25, 2025
60638a3
comments
Enmk Feb 26, 2025
3bfb487
Merge pull request #659 from Altinity/fixes/24.8/CICD_proper_version_…
Enmk Feb 27, 2025
723778c
Updated version flavour to be `altinitytest`
Enmk Feb 27, 2025
2e39e70
Merge pull request #72190 from filimonov/patch-12
nickitat Dec 3, 2024
252854e
Added enable_parallel_replicas to settings history
Enmk Feb 27, 2025
71a444c
Merge pull request #638 from Altinity/backports/24.8/59138_fix_replac…
Enmk Feb 27, 2025
0069ebd
Merge pull request #657 from Altinity/backports/24.8/72190_prefer_loc…
Enmk Mar 1, 2025
56357e7
Merge pull request #651 from Altinity/backports/24.8/71405_demote_log…
Enmk Mar 1, 2025
def5764
Merge pull request #650 from Altinity/backports/24.8/71894_fixed_arra…
Enmk Mar 1, 2025
4aee1a7
Added allow_reorder_prewhere_conditions setting
Enmk Mar 3, 2025
f8bc907
24.8 Update regression hash
strtgbb Mar 4, 2025
9f89a64
Workaround uncertain dtype for report
strtgbb Mar 5, 2025
c4edc98
Merge pull request #74749 from azat/intermediate-connections-fix
azat Feb 5, 2025
5782247
approach1
arthurpassos Nov 20, 2024
06a231c
missing double quotes
arthurpassos Nov 20, 2024
afae6d2
minor adjustment and tests
arthurpassos Nov 20, 2024
c5da3c4
draft / poc
arthurpassos Nov 1, 2024
f36e6a8
add a test
arthurpassos Nov 1, 2024
4658728
merge minmax and bf eval
arthurpassos Nov 5, 2024
58db88b
extern logical_error
arthurpassos Nov 6, 2024
c6ec587
update test
arthurpassos Nov 6, 2024
12b498d
update test
arthurpassos Nov 6, 2024
fb77c44
explicit in constructor
arthurpassos Nov 6, 2024
f8ba549
update tests
arthurpassos Dec 3, 2024
11f50b2
update comment
arthurpassos Dec 3, 2024
8a38a71
address some comments
arthurpassos Dec 3, 2024
bd46b20
address some comments
arthurpassos Dec 3, 2024
a66ca3e
small fix
arthurpassos Dec 3, 2024
c74a725
refactor
arthurpassos Dec 4, 2024
ace36ba
remove commented out code
arthurpassos Dec 4, 2024
f731ec6
define err code
arthurpassos Dec 4, 2024
e6af915
check element.monotonic_functions_chain.empty()
arthurpassos Dec 4, 2024
4178f8b
avoid multiple virtual f calls
arthurpassos Dec 4, 2024
8e024fb
style changes
arthurpassos Dec 5, 2024
0b25c7c
hehe
arthurpassos Dec 5, 2024
2e0faf0
workaround darwin uint64 issue
arthurpassos Dec 5, 2024
06a6e8e
final adjustments
arthurpassos Dec 6, 2024
4343a01
Update ArrowColumnToCHColumn.cpp
arthurpassos Dec 6, 2024
f89950b
forgot to include this file
arthurpassos Dec 6, 2024
7acadb4
perhaps this will wokr
arthurpassos Dec 6, 2024
370333b
...
arthurpassos Dec 7, 2024
659a28f
lol
arthurpassos Dec 11, 2024
dcafca5
add missing columndescriptor check
arthurpassos Dec 12, 2024
13b1101
conflicts
arthurpassos Mar 11, 2025
03aa08a
conflicts
arthurpassos Mar 11, 2025
8f88f6d
Merge pull request #76940 from hanfei1991/hanfei/fix-02783_parsedatet…
hanfei1991 Feb 28, 2025
1977743
Merge pull request #682 from Altinity/backports/24.8/76940_fix_statel…
Enmk Mar 11, 2025
73b004d
Merge branch 'customizations/24.8.14' into backports/24.8/71539_enabl…
Enmk Mar 11, 2025
d9f48cd
Merge branch 'customizations/24.8.14' into onkar/crossport
onkar Mar 11, 2025
bd4d269
Update SettingsChangesHistory.cpp
Enmk Mar 12, 2025
c1dceb1
Update to new regression hash
strtgbb Mar 12, 2025
dbccfde
Merge pull request #77495 from GrigoryPervakov/master
azat Mar 12, 2025
1a7dddd
changed tab to 4 spaces
Enmk Mar 12, 2025
111c66c
Merge pull request #680 from Altinity/backports/24.8/72105_support_pa…
Enmk Mar 12, 2025
26cba9c
Merge pull request #668 from Altinity/strtgbb-patch-4
Enmk Mar 13, 2025
64505a8
Merge pull request #685 from Altinity/backports/24.8/77495_fix-test_r…
Enmk Mar 13, 2025
ecb24ce
Merge branch 'customizations/24.8.14' into backports/24.8/71539_enabl…
Enmk Mar 13, 2025
dc9c28a
Merge pull request #681 from Altinity/backports/24.8/merge_parquet_bf…
Enmk Mar 13, 2025
bfafe3d
Merge pull request #640 from Altinity/backports/24.8/71539_enable_mer…
Enmk Mar 13, 2025
6505945
Merge pull request #678 from onkar/onkar/crossport
Enmk Mar 13, 2025
d9966ba
fix parquet mem alignment issue
arthurpassos Jan 13, 2025
bdb237d
remove std namespace qualifier
arthurpassos Jan 13, 2025
b2d0dda
fix tabs
arthurpassos Jan 13, 2025
1244161
call unalignedLoad
arthurpassos Jan 13, 2025
40f384d
Merge pull request #687 from Altinity/backports/24.8/74534_fix_ubsan_…
Enmk Mar 14, 2025
3be2ae7
Merge pull request #686 from Altinity/backports/24.8/74749_fix_reuse_…
Enmk Mar 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .github/actionlint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ self-hosted-runner:
- func-tester
- func-tester-aarch64
- fuzzer-unit-tester
- altinity-on-demand
- altinity-type-cpx51
- altinity-in-ash
- altinity-image-x86-system-ubuntu-22.04
- style-checker
- style-checker-aarch64
- release-maker
10 changes: 10 additions & 0 deletions .github/actions/common_setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,16 @@ runs:
run: |
# to remove every leftovers
sudo rm -fr "$TEMP_PATH" && mkdir -p "$TEMP_PATH"
- name: Setup zram
shell: bash
run: |
sudo modprobe zram
MemTotal=$(grep -Po "(?<=MemTotal:)\s+\d+" /proc/meminfo) # KiB
Percent=200
ZRAM_SIZE=$(($MemTotal / 1024 / 1024 * $Percent / 100)) # Convert to GiB
.github/retry.sh 30 2 sudo zramctl --size ${ZRAM_SIZE}GiB --algorithm zstd /dev/zram0
sudo mkswap /dev/zram0 && sudo swapon -p 100 /dev/zram0
sudo sysctl vm.swappiness=200
- name: Tune vm.mmap_rnd_bits for sanitizers
shell: bash
run: |
Expand Down
31 changes: 31 additions & 0 deletions .github/actions/docker_setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Docker setup
description: Setup docker
inputs:
test_name:
description: name of the test, used in determining ipv6 configs.
default: None
type: string
runs:
using: "composite"
steps:
- name: Docker IPv6 configuration
shell: bash
env:
ipv6_subnet: ${{ contains(inputs.test_name, 'Integration') && '2001:db8:1::/64' || '2001:3984:3989::/64' }}
run: |
# make sure docker uses proper IPv6 config
sudo touch /etc/docker/daemon.json
sudo chown ubuntu:ubuntu /etc/docker/daemon.json
sudo cat <<EOT > /etc/docker/daemon.json
{
"ipv6": true,
"fixed-cidr-v6": "${{ env.ipv6_subnet }}"
}
EOT
sudo chown root:root /etc/docker/daemon.json
sudo systemctl restart docker
sudo systemctl status docker
- name: Docker info
shell: bash
run: |
docker info
294 changes: 294 additions & 0 deletions .github/create_combined_ci_report.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,294 @@
#!/usr/bin/env python3
import argparse
import os
from pathlib import Path
from itertools import combinations
import json

import requests
from clickhouse_driver import Client
import boto3
from botocore.exceptions import NoCredentialsError

DATABASE_HOST_VAR = "CHECKS_DATABASE_HOST"
DATABASE_USER_VAR = "CHECKS_DATABASE_USER"
DATABASE_PASSWORD_VAR = "CHECKS_DATABASE_PASSWORD"
S3_BUCKET = "altinity-build-artifacts"


def get_checks_fails(client: Client, job_url: str):
"""
Get tests that did not succeed for the given job URL.
Exclude checks that have status 'error' as they are counted in get_checks_errors.
"""
columns = (
"check_status, check_name, test_status, test_name, report_url as results_link"
)
query = f"""SELECT {columns} FROM `gh-data`.checks
WHERE task_url='{job_url}'
AND test_status IN ('FAIL', 'ERROR')
AND check_status!='error'
ORDER BY check_name, test_name
"""
return client.query_dataframe(query)


def get_checks_known_fails(client: Client, job_url: str, known_fails: dict):
"""
Get tests that are known to fail for the given job URL.
"""
assert len(known_fails) > 0, "cannot query the database with empty known fails"
columns = (
"check_status, check_name, test_status, test_name, report_url as results_link"
)
query = f"""SELECT {columns} FROM `gh-data`.checks
WHERE task_url='{job_url}'
AND test_status='BROKEN'
AND test_name IN ({','.join(f"'{test}'" for test in known_fails.keys())})
ORDER BY test_name, check_name
"""

df = client.query_dataframe(query)

df.insert(
len(df.columns) - 1,
"reason",
df["test_name"]
.astype(str)
.apply(
lambda test_name: known_fails[test_name].get("reason", "No reason given")
),
)

return df


def get_checks_errors(client: Client, job_url: str):
"""
Get checks that have status 'error' for the given job URL.
"""
columns = (
"check_status, check_name, test_status, test_name, report_url as results_link"
)
query = f"""SELECT {columns} FROM `gh-data`.checks
WHERE task_url='{job_url}'
AND check_status=='error'
ORDER BY check_name, test_name
"""
return client.query_dataframe(query)


def drop_prefix_rows(df, column_to_clean):
"""
Drop rows from the dataframe if:
- the row matches another row completely except for the specified column
- the specified column of that row is a prefix of the same column in another row
"""
to_drop = set()
reference_columns = [col for col in df.columns if col != column_to_clean]
for (i, row_1), (j, row_2) in combinations(df.iterrows(), 2):
if all(row_1[col] == row_2[col] for col in reference_columns):
if row_2[column_to_clean].startswith(row_1[column_to_clean]):
to_drop.add(i)
elif row_1[column_to_clean].startswith(row_2[column_to_clean]):
to_drop.add(j)
return df.drop(to_drop)


def get_regression_fails(client: Client, job_url: str):
"""
Get regression tests that did not succeed for the given job URL.
"""
# If you rename the alias for report_url, also update the formatters in format_results_as_html_table
# Nested SELECT handles test reruns
query = f"""SELECT arch, job_name, status, test_name, results_link
FROM (
SELECT
architecture as arch,
test_name,
argMax(result, start_time) AS status,
job_url,
job_name,
report_url as results_link
FROM `gh-data`.clickhouse_regression_results
GROUP BY architecture, test_name, job_url, job_name, report_url, start_time
ORDER BY start_time DESC, length(test_name) DESC
)
WHERE job_url='{job_url}'
AND status IN ('Fail', 'Error')
"""
df = client.query_dataframe(query)
df = drop_prefix_rows(df, "test_name")
df["job_name"] = df["job_name"].str.title()
return df


def url_to_html_link(url: str) -> str:
if not url:
return ""
text = url.split("/")[-1]
if not text:
text = "results"
return f'<a href="{url}">{text}</a>'


def format_test_name_for_linewrap(text: str) -> str:
"""Tweak the test name to improve line wrapping."""
return text.replace(".py::", "/")


def format_results_as_html_table(results) -> str:
if len(results) == 0:
return "<p>Nothing to report</p>"
results.columns = [col.replace("_", " ").title() for col in results.columns]
html = (
results.to_html(
index=False,
formatters={
"Results Link": url_to_html_link,
"Test Name": format_test_name_for_linewrap,
},
escape=False,
) # tbody/thead tags interfere with the table sorting script
.replace("<tbody>\n", "")
.replace("</tbody>\n", "")
.replace("<thead>\n", "")
.replace("</thead>\n", "")
.replace('<table border="1"', '<table style="min-width: min(900px, 98vw);"')
)
return html


def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="Create a combined CI report.")
parser.add_argument(
"--actions-run-url", required=True, help="URL of the actions run"
)
parser.add_argument(
"--pr-number", required=True, help="Pull request number for the S3 path"
)
parser.add_argument(
"--commit-sha", required=True, help="Commit SHA for the S3 path"
)
parser.add_argument(
"--no-upload", action="store_true", help="Do not upload the report"
)
parser.add_argument(
"--known-fails", type=str, help="Path to the file with known fails"
)
parser.add_argument(
"--mark-preview", action="store_true", help="Mark the report as a preview"
)
return parser.parse_args()


def main():
args = parse_args()

db_client = Client(
host=os.getenv(DATABASE_HOST_VAR),
user=os.getenv(DATABASE_USER_VAR),
password=os.getenv(DATABASE_PASSWORD_VAR),
port=9440,
secure="y",
verify=False,
settings={"use_numpy": True},
)

s3_path = (
f"https://s3.amazonaws.com/{S3_BUCKET}/{args.pr_number}/{args.commit_sha}/"
)
report_destination_url = s3_path + "combined_report.html"
ci_running_report_url = s3_path + "ci_running.html"

response = requests.get(ci_running_report_url)
if response.status_code == 200:
ci_running_report: str = response.text
else:
print(
f"Failed to download CI running report. Status code: {response.status_code}, Response: {response.text}"
)
exit(1)

fail_results = {
"checks_fails": get_checks_fails(db_client, args.actions_run_url),
"checks_known_fails": [],
"checks_errors": get_checks_errors(db_client, args.actions_run_url),
"regression_fails": get_regression_fails(db_client, args.actions_run_url),
}

if args.known_fails:
if not os.path.exists(args.known_fails):
print(f"Known fails file {args.known_fails} not found.")
exit(1)

with open(args.known_fails) as f:
known_fails = json.load(f)

if known_fails:
fail_results["checks_known_fails"] = get_checks_known_fails(
db_client, args.actions_run_url, known_fails
)

combined_report = (
ci_running_report.replace("ClickHouse CI running for", "Combined CI Report for")
.replace(
"<table>",
f"""<h2>Table of Contents</h2>
{'<p style="font-weight: bold;color: #F00;">This is a preview. FinishCheck has not completed.</p>' if args.mark_preview else ""}
<ul>
<li><a href="#ci-jobs-status">CI Jobs Status</a></li>
<li><a href="#checks-errors">Checks Errors</a> ({len(fail_results['checks_errors'])})</li>
<li><a href="#checks-fails">Checks New Fails</a> ({len(fail_results['checks_fails'])})</li>
<li><a href="#regression-fails">Regression New Fails</a> ({len(fail_results['regression_fails'])})</li>
<li><a href="#checks-known-fails">Checks Known Fails</a> ({len(fail_results['checks_known_fails'])})</li>
</ul>

<h2 id="ci-jobs-status">CI Jobs Status</h2>
<table>""",
1,
)
.replace(
"</table>",
f"""</table>

<h2 id="checks-errors">Checks Errors</h2>
{format_results_as_html_table(fail_results['checks_errors'])}

<h2 id="checks-fails">Checks New Fails</h2>
{format_results_as_html_table(fail_results['checks_fails'])}

<h2 id="regression-fails">Regression New Fails</h2>
{format_results_as_html_table(fail_results['regression_fails'])}

<h2 id="checks-known-fails">Checks Known Fails</h2>
{format_results_as_html_table(fail_results['checks_known_fails'])}
""",
1,
)
)
report_path = Path("combined_report.html")
report_path.write_text(combined_report, encoding="utf-8")

if args.no_upload:
print(f"Report saved to {report_path}")
exit(0)

# Upload the report to S3
s3_client = boto3.client("s3")

try:
s3_client.put_object(
Bucket=S3_BUCKET,
Key=f"{args.pr_number}/{args.commit_sha}/combined_report.html",
Body=combined_report,
ContentType="text/html; charset=utf-8",
)
except NoCredentialsError:
print("Credentials not available for S3 upload.")

print(report_destination_url)


if __name__ == "__main__":
main()
22 changes: 22 additions & 0 deletions .github/retry.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash
# Execute command until exitcode is 0 or
# maximum number of retries is reached
# Example:
# ./retry <retries> <delay> <command>
retries=$1
delay=$2
command="${@:3}"
exitcode=0
try=0
until [ "$try" -ge $retries ]
do
echo "$command"
eval "$command"
exitcode=$?
if [ $exitcode -eq 0 ]; then
break
fi
try=$((try+1))
sleep $2
done
exit $exitcode
Loading
Loading