Skip to content

Commit 588e18e

Browse files
authored
Merge branch 'master' into test-benchmark-async
2 parents bfbf9e7 + 7361ad4 commit 588e18e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1985
-1465
lines changed

.circleci/config.yml

Lines changed: 97 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
version: 2.1
22

3+
parameters:
4+
run_default_flow:
5+
default: true
6+
type: boolean
7+
run_benchmark_flow_label:
8+
default: false
9+
type: boolean
10+
311
commands:
412
early-returns:
513
steps:
@@ -56,8 +64,16 @@ commands:
5664
name: Setup automation
5765
command: |
5866
git submodule update --init deps/readies
67+
if [[ $(uname -s) == Darwin ]]; then rm -f /usr/local/bin/python3; fi
5968
./deps/readies/bin/getpy3
69+
- run:
70+
name: Setup automation (part 2)
71+
shell: /bin/bash -l -eo pipefail
72+
command: |
73+
export HOMEBREW_NO_AUTO_UPDATE=1
6074
./deps/readies/bin/getaws
75+
ls -l /usr/local/bin/python* || true
76+
echo "python3: $(command -v python3)"
6177
python3 --version
6278
python3 -m pip list
6379
@@ -83,6 +99,7 @@ commands:
8399
name: Install Redis
84100
shell: /bin/bash -l -eo pipefail
85101
command: |
102+
export HOMEBREW_NO_AUTO_UPDATE=1
86103
./deps/readies/bin/getredis -v '<<parameters.redis_version>>' --force <<parameters.getredis_params>>
87104
- run:
88105
name: System report
@@ -307,8 +324,9 @@ commands:
307324
--redistimeseries_port $PERFORMANCE_RTS_PORT \
308325
--redistimeseries_pass "$PERFORMANCE_RTS_AUTH" \
309326
--push_results_redistimeseries \
310-
--allowed-envs << parameters.allowed_envs >>
311-
benchmark-steps-test:
327+
--allowed-envs << parameters.allowed_envs >> || true
328+
329+
benchmark-steps-test:
312330
parameters:
313331
github_actor:
314332
type: string
@@ -389,6 +407,17 @@ commands:
389407
--push_results_redistimeseries \
390408
--allowed-envs << parameters.allowed_envs >>
391409
410+
- run:
411+
name: Generate Pull Request Performance info
412+
command: |
413+
if [[ -n ${CIRCLE_PULL_REQUEST##*/} ]]; then
414+
redisbench-admin compare \
415+
--defaults_filename ./tests/benchmarks/defaults.yml \
416+
--comparison-branch $CIRCLE_BRANCH \
417+
--auto-approve \
418+
--pull-request ${CIRCLE_PULL_REQUEST##*/}
419+
fi
420+
392421
#----------------------------------------------------------------------------------------------------------------------------------
393422

394423
jobs:
@@ -439,9 +468,9 @@ jobs:
439468
- vm-build-platforms-steps:
440469
platform: <<parameters.platform>>
441470

442-
build-macos:
471+
build-macos-x64:
443472
macos:
444-
xcode: 11.7.0
473+
xcode: 12.5.1
445474
resource_class: macos.x86.medium.gen2
446475
parameters:
447476
upload:
@@ -459,6 +488,26 @@ jobs:
459488
fi
460489
- persist-artifacts
461490

491+
build-macos-m1:
492+
macos:
493+
xcode: 14.2.0
494+
resource_class: macos.m1.large.gen1
495+
parameters:
496+
upload:
497+
type: string
498+
default: "yes"
499+
steps:
500+
- early-returns
501+
- build-steps
502+
- test-steps
503+
- run:
504+
name: Upload artifacts to S3
505+
command: |
506+
if [[ -n $CIRCLE_BRANCH && "<<parameters.upload>>" == "yes" ]]; then
507+
make upload-artifacts SHOW=1 VERBOSE=1
508+
fi
509+
- persist-artifacts
510+
462511
coverage:
463512
docker:
464513
- image: redisfab/rmbuilder:6.2.7-x64-focal
@@ -589,7 +638,6 @@ on-integ-branch: &on-integ-branch
589638
- master
590639
- /^\d+\.\d+.*$/
591640
- /^feature-.*$/
592-
- /^perf.*$/
593641
tags:
594642
ignore: /.*/
595643

@@ -600,7 +648,6 @@ on-integ-branch-cron: &on-integ-branch-cron
600648
- master
601649
- /^\d+\.\d+.*$/
602650
- /^feature-.*$/
603-
- /^perf.*$/
604651

605652
not-on-integ-branch: &not-on-integ-branch
606653
filters:
@@ -609,7 +656,6 @@ not-on-integ-branch: &not-on-integ-branch
609656
- master
610657
- /^\d+\.\d+.*$/
611658
- /^feature-.*$/
612-
- /^perf.*$/
613659
tags:
614660
ignore: /.*/
615661

@@ -627,7 +673,6 @@ on-integ-and-version-tags: &on-integ-and-version-tags
627673
- master
628674
- /^\d+\.\d+.*$/
629675
- /^feature-.*$/
630-
- /^perf.*$/
631676
tags:
632677
only: /^v[0-9].*/
633678

@@ -644,6 +689,8 @@ on-test-branch: &on-test-branch
644689
workflows:
645690
version: 2
646691
default-flow:
692+
when:
693+
<< pipeline.parameters.run_default_flow >>
647694
jobs:
648695
- build-linux-debian:
649696
name: build
@@ -653,16 +700,19 @@ workflows:
653700
context: common
654701
matrix:
655702
parameters:
656-
platform: [jammy, focal, bionic, xenial, rocky8, centos7, bullseye]
703+
platform: [jammy, focal, bionic, xenial, amzn2, rocky8, centos7, bullseye]
657704
- build-arm-platforms:
658705
<<: *on-integ-and-version-tags
659706
context: common
660707
matrix:
661708
parameters:
662-
platform: [jammy, bionic, focal]
663-
- build-macos:
709+
platform: [jammy, focal, bionic]
710+
- build-macos-x64:
664711
<<: *on-integ-and-version-tags
665712
context: common
713+
- build-macos-m1:
714+
context: common
715+
<<: *on-integ-and-version-tags
666716
- coverage:
667717
<<: *on-any-branch
668718
- sanitize:
@@ -679,15 +729,17 @@ workflows:
679729
requires:
680730
- build-platforms
681731
- build-arm-platforms
682-
- build-macos
732+
- build-macos-x64
733+
- build-macos-m1
683734
- upload-artifacts:
684735
name: upload-release-artifacts
685736
<<: *on-version-tags
686737
context: common
687738
requires:
688739
- build-platforms
689740
- build-arm-platforms
690-
- build-macos
741+
- build-macos-x64
742+
- build-macos-m1
691743
- release-qa-tests:
692744
<<: *on-version-tags
693745
context: common
@@ -703,7 +755,17 @@ workflows:
703755
<<: *on-integ-and-version-tags
704756
context: common
705757

706-
758+
benchmark_flow_label:
759+
when:
760+
<< pipeline.parameters.run_benchmark_flow_label >>
761+
jobs:
762+
- benchmark-json-oss-standalone:
763+
<<: *on-any-branch
764+
context: common
765+
- benchmark-json-oss-standalone-profiler:
766+
<<: *on-any-branch
767+
context: common
768+
707769
nightly:
708770
triggers:
709771
- schedule:
@@ -715,7 +777,28 @@ workflows:
715777
matrix:
716778
parameters:
717779
redis_version: ["6.0", "6.2", "7", "unstable"]
780+
781+
nightly-perf-once-a-week:
782+
triggers:
783+
- schedule:
784+
# “At 07:00 on Mondays.”
785+
cron: "00 07 * * 1"
786+
filters:
787+
branches:
788+
only: master
789+
jobs:
718790
- benchmark-json-oss-standalone:
719791
context: common
720792
- benchmark-json-oss-standalone-profiler:
721793
context: common
794+
795+
nightly-twice-a-week:
796+
triggers:
797+
- schedule:
798+
cron: "20 17 * * 0,3"
799+
<<: *on-integ-branch-cron
800+
jobs:
801+
- build-macos-x64:
802+
upload: "no"
803+
- build-macos-m1:
804+
upload: "no"

.github/spellcheck-settings.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ matrix:
44
apsell:
55
lang: en
66
d: en_US
7+
ignore-case: true
78
dictionary:
89
wordlists:
910
- .github/wordlist.txt

.github/wordlist.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ JRedisJSON
99
JS
1010
JSONPath
1111
JSONTestSuite
12+
jedis
1213
Jedis
1314
KeyRef
1415
KeyRefs
@@ -29,6 +30,7 @@ PyPi
2930
README
3031
RSALv
3132
Rafa
33+
Redisson
3234
ReJSON
3335
RediSearch
3436
RedisJSON
@@ -60,13 +62,16 @@ https
6062
io
6163
ioredis
6264
iorejson
65+
jedis
6366
js
6467
json
6568
lang
6669
md
6770
mkorkmaz
6871
nitishm
6972
npm
73+
nredisstack
74+
rustis
7075
nst
7176
nuget
7277
occurances
@@ -86,6 +91,7 @@ repo
8691
rubygems
8792
rueian
8893
rueidis
94+
rustis
8995
schulzf
9096
sdk
9197
seriot
@@ -96,4 +102,4 @@ trie
96102
uint
97103
vachhanihpavan
98104
www
99-
zstd
105+
zstd

.github/workflows/freebsd.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ jobs:
1818
with:
1919
usesh: true
2020
sync: rsync
21+
copyback: false
2122
prepare: pkg install -y bash curl lang/rust devel/llvm-devel
2223
run: |
2324
cargo build --all --all-targets --verbose

.github/workflows/spellcheck.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
steps:
1111
- uses: actions/checkout@v2
1212
- name: Spellcheck
13-
uses: rojopolis/spellcheck-github-actions@0.26.0
13+
uses: rojopolis/spellcheck-github-actions@0.29.0
1414
with:
1515
config_path: .github/spellcheck-settings.yml
1616
task_name: Markdown
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: Check if needs trigger CircleCI benchmark
2+
3+
on:
4+
pull_request:
5+
types: [opened, labeled, unlabeled, synchronize]
6+
7+
jobs:
8+
haslabel:
9+
name: analyse labels
10+
runs-on: ubuntu-latest
11+
outputs:
12+
benchmark: ${{ steps.haslabel.outputs.labeled-run-benchmark }}
13+
steps:
14+
- uses: actions/checkout@v2
15+
- name: Labeled with run-benchmark
16+
id: haslabel
17+
uses: DanielTamkin/HasLabel@v1.0.4
18+
with:
19+
contains: 'run-benchmark'
20+
perf-ci:
21+
name: Trigger CI benchmarks
22+
needs: haslabel
23+
if: needs.haslabel.outputs.benchmark
24+
runs-on: ubuntu-latest
25+
steps:
26+
- uses: actions/checkout@v2
27+
- name: curl-circle-ci
28+
run: |
29+
curl --request POST \
30+
--url https://circleci.com/api/v2/project/gh/${{ github.repository }}/pipeline \
31+
--header 'Circle-Token: ${{ secrets.CIRCLE_CI_SECRET }}' \
32+
--header 'content-type: application/json' \
33+
--data '{"branch": "${{ github.event.pull_request.head.ref }}",
34+
"parameters": {"run_default_flow":true, "run_benchmark_flow_label":true}}'

0 commit comments

Comments
 (0)