Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
530 commits
Select commit Hold shift + click to select a range
2725b2a
1913_take_any
mcmajam Jan 21, 2023
219019b
1913_take_any
mcmajam Jan 23, 2023
58a4d79
Add floor as an alias for bin
ltrk2 Jan 18, 2023
b4a3ebd
Case insensitive operators
SadiHassan Dec 11, 2022
eae493f
fixed review comment issues
SadiHassan Jan 23, 2023
3121a41
Update unit tests
ltrk2 Jan 25, 2023
0096d82
Improve operators has, !has, has_all, has_any
ltrk2 Jan 16, 2023
e0d587b
Fix build errors
ltrk2 Jan 25, 2023
9e14769
Implement functional tests
ltrk2 Jan 25, 2023
46c41ee
Update unit tests
ltrk2 Jan 25, 2023
30af5f5
bug fix 1331
SadiHassan Jan 25, 2023
8e7fb6e
added arg check
SadiHassan Jan 25, 2023
d2f6072
Update release notes
ltrk2 Jan 25, 2023
e057e27
Kusto-phase3: add kql range() function
kashwy Jan 25, 2023
c66e961
Kusto-phase3: update release note for range() function
kashwy Jan 25, 2023
ff86c0c
Kusto-phase3: Add kql range operator
kashwy Jan 26, 2023
10246ed
Add a missing include
ltrk2 Jan 26, 2023
f0c9ef7
Enable PR Sanity Checks (#197)
larryluogit Jan 27, 2023
5d1ceea
bug_fix_1332
SadiHassan Jan 27, 2023
5b21c8b
style fix -- whitespace
SadiHassan Jan 27, 2023
4024c23
fixed stylecheck --- typo
SadiHassan Jan 30, 2023
c8efe4a
fixed stylecheck --- style_output (part-1)
SadiHassan Jan 30, 2023
82913f7
fixed stylecheck --- style_output (part-2)
SadiHassan Jan 31, 2023
1543a1b
fixed stylecheck --- style_output (part-3)
SadiHassan Jan 31, 2023
642178d
added more functional test + fix build error due to style correction
SadiHassan Jan 31, 2023
d525e94
BuilderBinClangTidy error fix --- (part-1)
SadiHassan Feb 1, 2023
c5d7348
BuilderBinClangTidy error fix --- (part-2)
SadiHassan Feb 1, 2023
35807de
BuilderBinClangTidy error fix --- (part-3)
SadiHassan Feb 2, 2023
72b308b
Kusto-phase3: fix yaml style
kashwy Feb 7, 2023
d2e489e
Kusto-phase3: trigger CI
kashwy Feb 7, 2023
e458ead
2142_dcount_parameter
mcmajam Jan 25, 2023
13bb3c5
2142_dcount_parameter
mcmajam Jan 27, 2023
2ed6bf4
2142_dcount_parameter
mcmajam Feb 3, 2023
451c694
2142_dcount_parameter
mcmajam Feb 3, 2023
221b0a7
2142_dcount_parameter
mcmajam Feb 3, 2023
2272a9c
Fix compilation error
ltrk2 Feb 13, 2023
cbe7bb2
Adapt to changes in IP functions
ltrk2 Feb 13, 2023
512532d
Update unit tests related to IP functions
ltrk2 Feb 13, 2023
1d02e05
Kusto-phase3: fix mv-expand token index issue
kashwy Feb 13, 2023
52215c0
bug_fix_1490
SadiHassan Feb 2, 2023
9a6020b
Handle multi-word needles with has operators
ltrk2 Feb 7, 2023
c4413a8
Update release notes
ltrk2 Feb 14, 2023
683ee14
Fixing empty functions
mcmajam Feb 16, 2023
3fa78ab
Adding math functions
mcmajam Feb 16, 2023
e097ce2
use .size()
mcmajam Feb 16, 2023
e9df824
fix summarize_exception_bug_2113
SadiHassan Jan 20, 2023
a980db3
bug_fix_1413
SadiHassan Feb 6, 2023
945b71d
fixed style error
SadiHassan Feb 6, 2023
3261380
rebased and func test added
SadiHassan Feb 16, 2023
2e20935
Support multi-token needles
ltrk2 Feb 21, 2023
f4e598e
Update unit tests
ltrk2 Feb 22, 2023
cae4b3c
Fix style issues
ltrk2 Feb 22, 2023
0126f4c
Fix a linker error
ltrk2 Feb 22, 2023
e38beee
bug_fix_2159
SadiHassan Feb 12, 2023
f2c0162
rebased and code updated
SadiHassan Feb 16, 2023
80ed9c1
rebase and address review comments
SadiHassan Feb 23, 2023
82b2cc2
Attempt to supress a pylint finding
ltrk2 Feb 23, 2023
df30fc5
variance related functions --- 2252
SadiHassan Feb 24, 2023
9cd2234
Addressed review comments
SadiHassan Feb 24, 2023
289af20
Kusto-phase3 : fixed some sub-query issues.
kashwy Feb 27, 2023
65a0906
Kusto-phase3: fixed style issue, count bugs
kashwy Feb 27, 2023
a5e1569
Kusto-phase3 : fix typo in sub-query
kashwy Feb 27, 2023
611f9b7
Kusto-phase3: add KQL project-away operator
kashwy Feb 22, 2023
0c7a945
Kusto-phase3 : Add test for projectaway
kashwy Feb 24, 2023
5254c25
Kusto-phase3: update release note
kashwy Feb 24, 2023
5d0eb00
Kusto-phase3 : updated function to follow the style
kashwy Feb 27, 2023
b9d093f
Fix linker error for good
ltrk2 Feb 23, 2023
8641c57
lookup() function
SadiHassan Feb 27, 2023
d6dd9c7
removed unused code
SadiHassan Feb 27, 2023
ce8ed4e
Addressed review comments
SadiHassan Feb 27, 2023
116de03
fix style issue
SadiHassan Feb 27, 2023
3c7b42c
Bring everything in line with v23.2
ltrk2 Feb 28, 2023
84ba6b7
implementation of has_ipv4, has_any_ipv4, has_ipv4_prefix, and has_an…
bemitc Feb 8, 2023
fc3c576
address trailing whitespace and ErrorCodes errors
bemitc Feb 8, 2023
02b9f73
add one additional missing ErrorCode
bemitc Feb 8, 2023
51e27e2
space after if and for
bemitc Feb 8, 2023
fdf00eb
eliminate camelcase in variable names
bemitc Feb 8, 2023
0ce8bf8
use direct mapping for non any functions and mop up some stray camelc…
bemitc Feb 8, 2023
6135663
directMap remaining functions instead of a wrapper.
bemitc Feb 9, 2023
17148d9
make args_list const
bemitc Feb 9, 2023
58880e4
handle columns with multiple rows correctly
bemitc Feb 13, 2023
67b0e06
use input_rows_count instead of calculating maximum size across argum…
bemitc Feb 13, 2023
fea953c
fix style
bemitc Feb 13, 2023
535192e
put lambda expression on a single line
bemitc Feb 13, 2023
908d91d
use std::ranges::all_of instead of a for loop
bemitc Feb 13, 2023
0f6d216
clean up functional tests and add unit tests
bemitc Feb 15, 2023
b66ad73
size_t to const auto
bemitc Feb 17, 2023
1d7d972
change some uses of std::string to auto
bemitc Feb 17, 2023
420a524
row count is the same across all arguments, so simplify the argument …
bemitc Feb 17, 2023
1a597e9
const a lambda variable and update functional test and baseline
bemitc Feb 23, 2023
152c7ab
Update src/Functions/Kusto/kqlHasAnyIpv4.cpp
bemitc Feb 23, 2023
190503e
resolution of several minor code review comments
bemitc Feb 27, 2023
3a7d1c3
share argument verification across kqlHasAnyIpv4.cpp and kqlHasAnyIpv…
bemitc Feb 27, 2023
d5caf9f
convert one remaining post increment to pre increment
bemitc Feb 27, 2023
41a8a56
split executeImpl up to make it easier to understand
bemitc Feb 27, 2023
aa6a619
improve heuristic for ip prefixes and avoid a temp std::string creati…
bemitc Feb 28, 2023
e765df3
add updated heuristic to the array case as well
bemitc Feb 28, 2023
2a1d156
update ip prefix heuristic
bemitc Feb 28, 2023
8ce0ff9
add #pragma once
bemitc Mar 1, 2023
25f89fd
fix typo
bemitc Mar 1, 2023
eaf3500
format kqlHasAnyIp.h and kqlHasAnyIpv4.cpp
bemitc Mar 2, 2023
dbfbcf7
add release notes
bemitc Mar 2, 2023
44964ca
Implement KQL getschema
ltrk2 Mar 6, 2023
f8193dc
Finalize KQL getschema
ltrk2 Mar 7, 2023
2e3b434
Resolve findings from style check
ltrk2 Mar 7, 2023
8eb347e
string functions wip
SadiHassan Mar 7, 2023
751fa7d
string functions updated
SadiHassan Mar 7, 2023
dca67dd
fix style check
SadiHassan Mar 7, 2023
c640028
Addressed review comments
SadiHassan Mar 7, 2023
b664b3a
bug fix 1333 resubmit
SadiHassan Jan 24, 2023
3f79c1c
rebased and addressed review comments
SadiHassan Mar 8, 2023
ecaccf0
Bug fix 2167
SadiHassan Mar 8, 2023
07bd256
Implement default aliasing for KQL print
ltrk2 Mar 7, 2023
2ed539d
bug_fix_2161
SadiHassan Mar 8, 2023
ff1c0aa
added alias in unit test
SadiHassan Mar 8, 2023
bf4a10a
Kusto-phase3: fixed the bug core dump if query end with pipe, force p…
kashwy Mar 10, 2023
d6e13c7
Kusto-phase3: fixed kql range issues
kashwy Mar 12, 2023
054f751
bug fix 2424
SadiHassan Mar 13, 2023
a4c75d7
Kusto-phase3 : fix sort issues
kashwy Mar 14, 2023
48aa266
Kusto-phase3: fix typo for sort issue
kashwy Mar 14, 2023
7f70947
implementation of has_ipv6(), has_any_ipv6(), has_ipv6_prefix(), and …
bemitc Mar 10, 2023
ac886a8
add const to some params
bemitc Mar 12, 2023
03b4e92
add functional and unit tests
bemitc Mar 12, 2023
dededfa
update unit test
bemitc Mar 12, 2023
27f75a7
format
bemitc Mar 12, 2023
e70240a
fix mistake in unit test
bemitc Mar 12, 2023
4efc873
remove ErrorCodes::NOT_IMPLEMENTED
bemitc Mar 13, 2023
d3e52c0
eliminate variables in unit tests
bemitc Mar 15, 2023
a979247
undo vscode formatting in unit tests to improve readability
bemitc Mar 15, 2023
7347583
move some duplicated code to header
bemitc Mar 15, 2023
427ae5b
reduce duplicate code
bemitc Mar 16, 2023
ff21edb
add static_cast
bemitc Mar 16, 2023
5c78402
use std::accumulate instead of std::all_of
bemitc Mar 16, 2023
0447440
use std::numeric_limits
bemitc Mar 16, 2023
ab1b2fb
use boost::spirit::x3::repeat
bemitc Mar 16, 2023
01b5150
initialize with an empty string
bemitc Mar 16, 2023
489214f
do initialization inside if
bemitc Mar 16, 2023
b3e1c88
check for full match
bemitc Mar 16, 2023
9f3c3d1
clean up parsing of prefixes with embedded ipv4 addresses
bemitc Mar 16, 2023
d811bf6
Update src/Functions/Kusto/kqlHasAnyIp.cpp
bemitc Mar 16, 2023
feb1097
return std::optional<std::string>
bemitc Mar 16, 2023
6daabd3
switch from list to sequence
bemitc Mar 16, 2023
d9bc7aa
restructure code to be more maintainable
bemitc Mar 17, 2023
16b831a
cleanup minor bool issues
bemitc Mar 17, 2023
fb70845
Update src/Functions/Kusto/kqlHasAnyIp.cpp
bemitc Mar 17, 2023
2670564
Update src/Functions/Kusto/kqlHasAnyIp.cpp
bemitc Mar 17, 2023
e515721
Update src/Functions/Kusto/kqlHasAnyIp.cpp
bemitc Mar 17, 2023
0e54cc3
Update src/Functions/Kusto/kqlHasAnyIp.cpp
bemitc Mar 17, 2023
6771fab
some minor changes suggested by review
bemitc Mar 17, 2023
a361a4b
remove std::move
bemitc Mar 17, 2023
03da838
Implement KQL-style formatting for Interval
ltrk2 Jan 26, 2023
ddbf42b
Refactor functional tests using Jinja2
ltrk2 Jan 27, 2023
52d7a5a
Refactor solution to improve extensibility
ltrk2 Feb 2, 2023
c99ccf7
Use the dialect configuration
ltrk2 Feb 27, 2023
f682745
Update functional tests
ltrk2 Mar 14, 2023
6b6ae79
Update release notes
ltrk2 Mar 14, 2023
6c595b3
function 2395
SadiHassan Mar 9, 2023
1cbd852
native version implemented
SadiHassan Mar 14, 2023
0813695
updated tests
SadiHassan Mar 14, 2023
0fd8e70
some minor changes
SadiHassan Mar 15, 2023
f0d37d4
style correction
SadiHassan Mar 15, 2023
20588da
Revert addition of poco contrib folder
ltrk2 Mar 15, 2023
fd3f0a7
Update release notes
ltrk2 Mar 16, 2023
783274b
Core review changes
mcmajam Mar 14, 2023
da83686
Fix test
mcmajam Mar 14, 2023
73e4023
additional code review changes
mcmajam Mar 15, 2023
51e6070
Code review changes #3
mcmajam Mar 15, 2023
eb96e04
Update readme after release.
mcmajam Mar 16, 2023
d414155
format corrections
mcmajam Mar 16, 2023
a4ed7a0
bug fix 2174, 2175,1075(improvement)
SadiHassan Mar 10, 2023
c0fb792
code updated
SadiHassan Mar 10, 2023
1eab7f8
fixed unit test
SadiHassan Mar 11, 2023
ce57253
rebased and added more test cases with double quotes
SadiHassan Mar 15, 2023
f00771e
Kusto-phase3 : enable range to be inside other funtion for a nested call
kashwy Mar 16, 2023
0454bd5
Implement KQL toscalar
ltrk2 Mar 15, 2023
be4effc
Add further functional tests
ltrk2 Mar 16, 2023
a0bcfbf
Update release notes
ltrk2 Mar 16, 2023
8d8fa84
Remove unused include
ltrk2 Mar 16, 2023
6158e68
Add a unit test
ltrk2 Mar 16, 2023
959e4c3
Revert unnecessary changes
ltrk2 Mar 16, 2023
41aa063
Kusto-phase3: fixed the alias position to enable alias inside function
kashwy Mar 17, 2023
06bf1f6
Correct type mapping for arrays
ltrk2 Mar 17, 2023
9c45289
Implement KQL query-wide default column naming scheme
ltrk2 Mar 17, 2023
53ff2d1
Get rid of unnecessary changes
ltrk2 Mar 17, 2023
e96bd23
Remove unused members
ltrk2 Mar 17, 2023
3385c08
not function
SadiHassan Mar 17, 2023
4b8fca7
updated release note
SadiHassan Mar 17, 2023
ba2c775
between function work in progress
SadiHassan Mar 16, 2023
7b1e258
solved floating point parsing issue by changing Lexer.cpp, but this c…
SadiHassan Mar 17, 2023
c8070a8
updated test cases
SadiHassan Mar 17, 2023
7266375
functional tests
SadiHassan Mar 17, 2023
015e820
floating point handled in kql operator cpp
SadiHassan Mar 17, 2023
6e53c4b
update release notes
SadiHassan Mar 17, 2023
95a38ab
removed change from Lexer.cpp
SadiHassan Mar 17, 2023
723f454
updated native function + parser
SadiHassan Mar 18, 2023
a06a913
unit test separated
SadiHassan Mar 18, 2023
9a9c422
fix unit test for between function
SadiHassan Mar 18, 2023
6a41d7a
Kusto-phase3: enable make-series to use expression
kashwy Mar 18, 2023
dd1aeb8
Kusto-phase3 : format for fix make-series issues
kashwy Mar 18, 2023
afb49e5
KQL URL parse using x3
mcmajam Mar 20, 2023
1ae71c8
Code review 1
mcmajam Mar 22, 2023
8c4c9d7
Additional changes
mcmajam Mar 29, 2023
fd081bb
More changes
mcmajam Mar 31, 2023
6b5a873
Update readme, slight change in username password.
mcmajam Mar 31, 2023
1028897
And again
mcmajam Mar 31, 2023
8cbac4b
format
mcmajam Mar 31, 2023
e2db027
make_string function
SadiHassan Mar 13, 2023
d288bc5
removed commented out codes
SadiHassan Mar 13, 2023
c3cefec
native function implemented
SadiHassan Mar 21, 2023
db018e7
added unit test
SadiHassan Mar 21, 2023
ea56d49
added test case with function
SadiHassan Mar 21, 2023
ffbdd10
code improvement and test case added
SadiHassan Mar 22, 2023
3f49bbb
addressed review coments, added all coverages of unicode, exception etc.
SadiHassan Mar 23, 2023
0470199
addressed review comments
SadiHassan Mar 24, 2023
318276d
Implement indexof_regex
ltrk2 Mar 23, 2023
432a69d
Use re2 instead of std::regex
ltrk2 Mar 27, 2023
429e4f9
support multiple output columns in arg_max and arg_min
bemitc Mar 28, 2023
6216765
add unit test for arg_max() and arg_min()
bemitc Mar 28, 2023
61c8786
release notes
bemitc Mar 29, 2023
6266f2b
update release notes
bemitc Mar 29, 2023
b6b3437
bug_fix_2520 (new_guid)
SadiHassan Mar 31, 2023
718c1ab
addressed review comments
SadiHassan Mar 31, 2023
3792d12
Fix flaky functional test
ltrk2 Apr 3, 2023
8bf1cbc
Merge pull request #283 from ClibMouse/bugfix/fix-flaky-functional-test
ltrk2 Apr 3, 2023
ad807c2
Fix epoch related issue
mcmajam Mar 31, 2023
f08a77a
bug_fix_2512
SadiHassan Apr 3, 2023
2dd95d5
added func test
SadiHassan Apr 3, 2023
0736e65
updated func test
SadiHassan Apr 6, 2023
9270730
isascii() function
SadiHassan Mar 29, 2023
19ce72a
using splitByString() instead of Regex
SadiHassan Mar 30, 2023
0e38999
rebase and addressed review comments
SadiHassan Apr 6, 2023
270c418
Code reivew changes
mcmajam Apr 6, 2023
b1f27ee
Merge pull request #281 from ClibMouse/KQL_epoch_fixes
mcmajam Apr 6, 2023
4b13c94
Merge pull request #278 from ClibMouse/is_ascii_2335
SadiHassan Apr 6, 2023
954b4aa
Merge pull request #282 from ClibMouse/bug_fix_2512
SadiHassan Apr 6, 2023
765f1fc
bug_fix_2511
SadiHassan Apr 10, 2023
5e7da0f
addressed review comments
SadiHassan Apr 10, 2023
fcf3123
Implement a very toned-down version of hll functions
ltrk2 Apr 11, 2023
5100cbc
Merge pull request #285 from ClibMouse/bug_fix_2511
SadiHassan Apr 12, 2023
313e27f
Merge pull request #286 from ClibMouse/feature/kql-hll
ltrk2 Apr 12, 2023
7a4e97a
add project-rename operator
bemitc Apr 6, 2023
d1b0094
add unit and functional tests
bemitc Apr 6, 2023
55f5ca1
add release notes
bemitc Apr 7, 2023
1030317
syntax error if any of the expressions lack an assignment
bemitc Apr 12, 2023
d24facc
improve parsing, exception if we rename the same column multiple time…
bemitc Apr 12, 2023
44ad4ae
move bracket_count outside loop
bemitc Apr 12, 2023
11c74b8
throw an exception if project-rename has duplicate columns
bemitc Jul 11, 2023
5123cbc
update release notes
bemitc Jul 11, 2023
9384cf3
address some code review comments
bemitc Jul 31, 2023
86e3255
remove for loop
bemitc Jul 31, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
343 changes: 343 additions & 0 deletions .github/workflows/clibmouse_pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,343 @@
name: PR Sanity
run-name: ${{ github.actor }} is running PR sanity check 🚀
env:
# Force the stdout and stderr streams to be unbuffered
PYTHONUNBUFFERED: 1

on: # yamllint disable-line rule:truthy
pull_request:
types:
- synchronize
- reopened
- opened
branches:
- Kusto-phase3
paths-ignore:
- 'docker/docs/**'
- 'docs/**'
- 'website/**'
jobs:
CheckLabels:
runs-on: [self-hosted, style-checker]
steps:
- name: Clear repository
run: |
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
- name: Check out repository code
uses: actions/checkout@v2
- name: Labels check
run: |
cd "$GITHUB_WORKSPACE/tests/ci"
python3 run_check.py
PythonUnitTests:
needs: CheckLabels
runs-on: [self-hosted, style-checker]
steps:
- name: Clear repository
run: |
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
- name: Check out repository code
uses: actions/checkout@v2
- name: Python unit tests
run: |
cd "$GITHUB_WORKSPACE/tests/ci"
python3 -m unittest discover -s . -p '*_test.py'
DockerHubPushAarch64:
needs: CheckLabels
runs-on: [self-hosted, style-checker-aarch64]
steps:
- name: Clear repository
run: |
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
- name: Check out repository code
uses: actions/checkout@v2
- name: Images check
run: |
cd "$GITHUB_WORKSPACE/tests/ci"
python3 docker_images_check.py --suffix aarch64
- name: Upload images files to artifacts
uses: actions/upload-artifact@v2
with:
name: changed_images_aarch64
path: ${{ runner.temp }}/docker_images_check/changed_images_aarch64.json
DockerHubPushAmd64:
needs: CheckLabels
runs-on: [self-hosted, style-checker]
steps:
- name: Clear repository
run: |
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
- name: Check out repository code
uses: actions/checkout@v2
- name: Images check
run: |
cd "$GITHUB_WORKSPACE/tests/ci"
python3 docker_images_check.py --suffix amd64
- name: Upload images files to artifacts
uses: actions/upload-artifact@v2
with:
name: changed_images_amd64
path: ${{ runner.temp }}/docker_images_check/changed_images_amd64.json
DockerHubPush:
needs: [DockerHubPushAmd64, DockerHubPushAarch64, PythonUnitTests]
runs-on: [self-hosted, style-checker]
steps:
- name: Clear repository
run: |
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
- name: Check out repository code
uses: actions/checkout@v2
- name: Download changed aarch64 images
uses: actions/download-artifact@v2
with:
name: changed_images_aarch64
path: ${{ runner.temp }}
- name: Download changed amd64 images
uses: actions/download-artifact@v2
with:
name: changed_images_amd64
path: ${{ runner.temp }}
- name: Images check
run: |
cd "$GITHUB_WORKSPACE/tests/ci"
python3 docker_manifests_merge.py --suffix amd64 --suffix aarch64
- name: Upload images files to artifacts
uses: actions/upload-artifact@v2
with:
name: changed_images
path: ${{ runner.temp }}/changed_images.json
StyleCheck:
needs: DockerHubPush
runs-on: [self-hosted, style-checker]
if: ${{ success() || failure() }}
steps:
- name: Set envs
run: |
cat >> "$GITHUB_ENV" << 'EOF'
TEMP_PATH=${{ runner.temp }}/style_check
ROBOT_CLICKHOUSE_SSH_KEY<<RCSK
${{secrets.ROBOT_CLICKHOUSE_SSH_KEY}}
RCSK
EOF
- name: Download changed images
# even if artifact does not exist, e.g. on `do not test` label or failed Docker job
continue-on-error: true
uses: actions/download-artifact@v2
with:
name: changed_images
path: ${{ env.TEMP_PATH }}
- name: Clear repository
run: |
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
- name: Check out repository code
uses: actions/checkout@v2
- name: Style Check
run: |
cd "$GITHUB_WORKSPACE/tests/ci"
python3 style_check.py
- name: Cleanup
if: always()
run: |
# shellcheck disable=SC2046
docker kill $(docker ps -q) ||:
# shellcheck disable=SC2046
docker rm -f $(docker ps -a -q) ||:
sudo rm -fr "$TEMP_PATH"
BuilderDebRelease:
needs: [DockerHubPush]
runs-on: [self-hosted, builder]
steps:
- name: Set envs
run: |
cat >> "$GITHUB_ENV" << 'EOF'
TEMP_PATH=${{runner.temp}}/build_check
IMAGES_PATH=${{runner.temp}}/images_path
REPO_COPY=${{runner.temp}}/build_check/ClickHouse
CACHES_PATH=${{runner.temp}}/../ccaches
BUILD_NAME=package_release
EOF
- name: Download changed images
uses: actions/download-artifact@v3
with:
name: changed_images
path: ${{ env.IMAGES_PATH }}
- name: Check out repository code
uses: ClickHouse/checkout@v1
with:
clear-repository: true
fetch-depth: 0 # for performance artifact
submodules: true
- name: Build
run: |
sudo rm -fr "$TEMP_PATH"
mkdir -p "$TEMP_PATH"
cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH"
cd "$REPO_COPY/tests/ci" && python3 build_check.py "$BUILD_NAME"
- name: Upload build URLs to artifacts
if: ${{ success() || failure() }}
uses: actions/upload-artifact@v3
with:
name: ${{ env.BUILD_URLS }}
path: ${{ env.TEMP_PATH }}/${{ env.BUILD_URLS }}.json
- name: Cleanup
if: always()
run: |
docker ps --quiet | xargs --no-run-if-empty docker kill ||:
docker ps --all --quiet | xargs --no-run-if-empty docker rm -f ||:
sudo rm -fr "$TEMP_PATH"
BuilderBinRelease:
needs: [DockerHubPush]
runs-on: [self-hosted, builder]
steps:
- name: Set envs
run: |
cat >> "$GITHUB_ENV" << 'EOF'
TEMP_PATH=${{runner.temp}}/build_check
IMAGES_PATH=${{runner.temp}}/images_path
REPO_COPY=${{runner.temp}}/build_check/ClickHouse
CACHES_PATH=${{runner.temp}}/../ccaches
BUILD_NAME=binary_release
EOF
- name: Download changed images
uses: actions/download-artifact@v2
with:
name: changed_images
path: ${{ env.IMAGES_PATH }}
- name: Clear repository
run: |
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
- name: Check out repository code
uses: actions/checkout@v2
- name: Build
run: |
git -C "$GITHUB_WORKSPACE" submodule sync --recursive
git -C "$GITHUB_WORKSPACE" submodule update --depth=1 --recursive --init --jobs=10
sudo rm -fr "$TEMP_PATH"
mkdir -p "$TEMP_PATH"
cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH"
cd "$REPO_COPY/tests/ci" && python3 build_check.py "$BUILD_NAME"
- name: Upload build URLs to artifacts
if: ${{ success() || failure() }}
uses: actions/upload-artifact@v2
with:
name: ${{ env.BUILD_URLS }}
path: ${{ env.TEMP_PATH }}/${{ env.BUILD_URLS }}.json
- name: Cleanup
if: always()
run: |
# shellcheck disable=SC2046
docker kill $(docker ps -q) ||:
# shellcheck disable=SC2046
docker rm -f $(docker ps -a -q) ||:
sudo rm -fr "$TEMP_PATH" "$CACHES_PATH"
BuilderBinClangTidy:
needs: [DockerHubPush, StyleCheck]
runs-on: [self-hosted, builder]
steps:
- name: Set envs
run: |
cat >> "$GITHUB_ENV" << 'EOF'
TEMP_PATH=${{runner.temp}}/build_check
IMAGES_PATH=${{runner.temp}}/images_path
REPO_COPY=${{runner.temp}}/build_check/ClickHouse
CACHES_PATH=${{runner.temp}}/../ccaches
BUILD_NAME=binary_tidy
EOF
- name: Download changed images
uses: actions/download-artifact@v3
with:
name: changed_images
path: ${{ env.IMAGES_PATH }}
- name: Check out repository code
uses: ClickHouse/checkout@v1
with:
clear-repository: true
submodules: true
- name: Build
run: |
sudo rm -fr "$TEMP_PATH"
mkdir -p "$TEMP_PATH"
cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH"
cd "$REPO_COPY/tests/ci" && python3 build_check.py "$BUILD_NAME"
- name: Upload build URLs to artifacts
if: ${{ success() || failure() }}
uses: actions/upload-artifact@v3
with:
name: ${{ env.BUILD_URLS }}
path: ${{ env.TEMP_PATH }}/${{ env.BUILD_URLS }}.json
- name: Cleanup
if: always()
run: |
docker ps --quiet | xargs --no-run-if-empty docker kill ||:
docker ps --all --quiet | xargs --no-run-if-empty docker rm -f ||:
sudo rm -fr "$TEMP_PATH" "$CACHES_PATH"
UnitTestsReleaseClang:
needs: [BuilderBinRelease]
runs-on: [self-hosted, fuzzer-unit-tester]
steps:
- name: Set envs
run: |
cat >> "$GITHUB_ENV" << 'EOF'
TEMP_PATH=${{runner.temp}}/unit_tests_asan
REPORTS_PATH=${{runner.temp}}/reports_dir
CHECK_NAME=Unit tests (release-clang)
REPO_COPY=${{runner.temp}}/unit_tests_asan/ClickHouse
EOF
- name: Download json reports
uses: actions/download-artifact@v2
with:
path: ${{ env.REPORTS_PATH }}
- name: Clear repository
run: |
sudo rm -fr "$GITHUB_WORKSPACE" && mkdir "$GITHUB_WORKSPACE"
- name: Check out repository code
uses: actions/checkout@v2
- name: Unit test
run: |
sudo rm -fr "$TEMP_PATH"
mkdir -p "$TEMP_PATH"
cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH"
cd "$REPO_COPY/tests/ci"
python3 unit_tests_check.py "$CHECK_NAME"
- name: Cleanup
if: always()
run: |
# shellcheck disable=SC2046
docker kill $(docker ps -q) ||:
# shellcheck disable=SC2046
docker rm -f $(docker ps -a -q) ||:
sudo rm -fr "$TEMP_PATH"
FunctionalStatelessTestRelease:
needs: [BuilderDebRelease]
runs-on: [self-hosted, func-tester]
steps:
- name: Set envs
run: |
cat >> "$GITHUB_ENV" << 'EOF'
TEMP_PATH=${{runner.temp}}/stateless_release
REPORTS_PATH=${{runner.temp}}/reports_dir
CHECK_NAME=Stateless tests (release)
REPO_COPY=${{runner.temp}}/stateless_release/ClickHouse
KILL_TIMEOUT=10800
EOF
- name: Download json reports
uses: actions/download-artifact@v3
with:
path: ${{ env.REPORTS_PATH }}
- name: Check out repository code
uses: ClickHouse/checkout@v1
with:
clear-repository: true
- name: Functional test
run: |
sudo rm -fr "$TEMP_PATH"
mkdir -p "$TEMP_PATH"
cp -r "$GITHUB_WORKSPACE" "$TEMP_PATH"
cd "$REPO_COPY/tests/ci"
python3 functional_test_check.py "$CHECK_NAME" "$KILL_TIMEOUT"
- name: Cleanup
if: always()
run: |
docker ps --quiet | xargs --no-run-if-empty docker kill ||:
docker ps --all --quiet | xargs --no-run-if-empty docker rm -f ||:
sudo rm -fr "$TEMP_PATH"
25 changes: 20 additions & 5 deletions contrib/googletest-cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,15 +1,30 @@
set (SRC_DIR "${ClickHouse_SOURCE_DIR}/contrib/googletest/googletest")
set (SRC_DIR "${ClickHouse_SOURCE_DIR}/contrib/googletest")

add_library(_gtest "${SRC_DIR}/src/gtest-all.cc")
add_library(_gtest "${SRC_DIR}/googletest/src/gtest-all.cc")
set_target_properties(_gtest PROPERTIES VERSION "1.0.0")
target_compile_definitions (_gtest PUBLIC GTEST_HAS_POSIX_RE=0)
target_include_directories(_gtest SYSTEM PUBLIC "${SRC_DIR}/include")
target_include_directories(_gtest PRIVATE "${SRC_DIR}")
target_include_directories(_gtest SYSTEM PUBLIC "${SRC_DIR}/googletest/include")
target_include_directories(_gtest PRIVATE "${SRC_DIR}/googletest")

add_library(_gtest_main "${SRC_DIR}/src/gtest_main.cc")
add_library(_gtest_main "${SRC_DIR}/googletest/src/gtest_main.cc")
set_target_properties(_gtest_main PROPERTIES VERSION "1.0.0")
target_link_libraries(_gtest_main PUBLIC _gtest)

add_library(_gtest_all INTERFACE)
target_link_libraries(_gtest_all INTERFACE _gtest _gtest_main)
add_library(ch_contrib::gtest_all ALIAS _gtest_all)

add_library(_gmock "${SRC_DIR}/googlemock/src/gmock-all.cc")
set_target_properties(_gmock PROPERTIES VERSION "1.0.0")
target_compile_definitions (_gmock PUBLIC GTEST_HAS_POSIX_RE=0)
target_include_directories(_gmock SYSTEM PUBLIC "${SRC_DIR}/googlemock/include")
target_include_directories(_gmock PRIVATE "${SRC_DIR}/googlemock")
target_link_libraries(_gmock PUBLIC _gtest)

add_library(_gmock_main "${SRC_DIR}/googlemock/src/gmock_main.cc")
set_target_properties(_gmock_main PROPERTIES VERSION "1.0.0")
target_link_libraries(_gmock_main PUBLIC _gmock)

add_library(_gmock_all INTERFACE)
target_link_libraries(_gmock_all INTERFACE _gmock _gmock_main)
add_library(ch_contrib::gmock_all ALIAS _gmock_all)
Loading