1
1
version : 2.1
2
2
3
+ parameters :
4
+ run_default_flow :
5
+ default : true
6
+ type : boolean
7
+ run_benchmark_flow_label :
8
+ default : false
9
+ type : boolean
10
+
3
11
commands :
4
12
early-returns :
5
13
steps :
@@ -56,8 +64,16 @@ commands:
56
64
name : Setup automation
57
65
command : |
58
66
git submodule update --init deps/readies
67
+ if [[ $(uname -s) == Darwin ]]; then rm -f /usr/local/bin/python3; fi
59
68
./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
60
74
./deps/readies/bin/getaws
75
+ ls -l /usr/local/bin/python* || true
76
+ echo "python3: $(command -v python3)"
61
77
python3 --version
62
78
python3 -m pip list
63
79
@@ -83,6 +99,7 @@ commands:
83
99
name : Install Redis
84
100
shell : /bin/bash -l -eo pipefail
85
101
command : |
102
+ export HOMEBREW_NO_AUTO_UPDATE=1
86
103
./deps/readies/bin/getredis -v '<<parameters.redis_version>>' --force <<parameters.getredis_params>>
87
104
- run :
88
105
name : System report
@@ -307,8 +324,9 @@ commands:
307
324
--redistimeseries_port $PERFORMANCE_RTS_PORT \
308
325
--redistimeseries_pass "$PERFORMANCE_RTS_AUTH" \
309
326
--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 :
312
330
parameters :
313
331
github_actor :
314
332
type : string
@@ -389,6 +407,17 @@ commands:
389
407
--push_results_redistimeseries \
390
408
--allowed-envs << parameters.allowed_envs >>
391
409
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
+
392
421
# ----------------------------------------------------------------------------------------------------------------------------------
393
422
394
423
jobs :
@@ -439,9 +468,9 @@ jobs:
439
468
- vm-build-platforms-steps :
440
469
platform : <<parameters.platform>>
441
470
442
- build-macos :
471
+ build-macos-x64 :
443
472
macos :
444
- xcode : 11.7.0
473
+ xcode : 12.5.1
445
474
resource_class : macos.x86.medium.gen2
446
475
parameters :
447
476
upload :
@@ -459,6 +488,26 @@ jobs:
459
488
fi
460
489
- persist-artifacts
461
490
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
+
462
511
coverage :
463
512
docker :
464
513
- image : redisfab/rmbuilder:6.2.7-x64-focal
@@ -589,7 +638,6 @@ on-integ-branch: &on-integ-branch
589
638
- master
590
639
- /^\d+\.\d+.*$/
591
640
- /^feature-.*$/
592
- - /^perf.*$/
593
641
tags :
594
642
ignore : /.*/
595
643
@@ -600,7 +648,6 @@ on-integ-branch-cron: &on-integ-branch-cron
600
648
- master
601
649
- /^\d+\.\d+.*$/
602
650
- /^feature-.*$/
603
- - /^perf.*$/
604
651
605
652
not-on-integ-branch : ¬-on-integ-branch
606
653
filters :
@@ -609,7 +656,6 @@ not-on-integ-branch: ¬-on-integ-branch
609
656
- master
610
657
- /^\d+\.\d+.*$/
611
658
- /^feature-.*$/
612
- - /^perf.*$/
613
659
tags :
614
660
ignore : /.*/
615
661
@@ -627,7 +673,6 @@ on-integ-and-version-tags: &on-integ-and-version-tags
627
673
- master
628
674
- /^\d+\.\d+.*$/
629
675
- /^feature-.*$/
630
- - /^perf.*$/
631
676
tags :
632
677
only : /^v[0-9].*/
633
678
@@ -644,6 +689,8 @@ on-test-branch: &on-test-branch
644
689
workflows :
645
690
version : 2
646
691
default-flow :
692
+ when :
693
+ << pipeline.parameters.run_default_flow >>
647
694
jobs :
648
695
- build-linux-debian :
649
696
name : build
@@ -653,16 +700,19 @@ workflows:
653
700
context : common
654
701
matrix :
655
702
parameters :
656
- platform : [jammy, focal, bionic, xenial, rocky8, centos7, bullseye]
703
+ platform : [jammy, focal, bionic, xenial, amzn2, rocky8, centos7, bullseye]
657
704
- build-arm-platforms :
658
705
<< : *on-integ-and-version-tags
659
706
context : common
660
707
matrix :
661
708
parameters :
662
- platform : [jammy, bionic, focal ]
663
- - build-macos :
709
+ platform : [jammy, focal, bionic ]
710
+ - build-macos-x64 :
664
711
<< : *on-integ-and-version-tags
665
712
context : common
713
+ - build-macos-m1 :
714
+ context : common
715
+ << : *on-integ-and-version-tags
666
716
- coverage :
667
717
<< : *on-any-branch
668
718
- sanitize :
@@ -679,15 +729,17 @@ workflows:
679
729
requires :
680
730
- build-platforms
681
731
- build-arm-platforms
682
- - build-macos
732
+ - build-macos-x64
733
+ - build-macos-m1
683
734
- upload-artifacts :
684
735
name : upload-release-artifacts
685
736
<< : *on-version-tags
686
737
context : common
687
738
requires :
688
739
- build-platforms
689
740
- build-arm-platforms
690
- - build-macos
741
+ - build-macos-x64
742
+ - build-macos-m1
691
743
- release-qa-tests :
692
744
<< : *on-version-tags
693
745
context : common
@@ -703,7 +755,17 @@ workflows:
703
755
<< : *on-integ-and-version-tags
704
756
context : common
705
757
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
+
707
769
nightly :
708
770
triggers :
709
771
- schedule :
@@ -715,7 +777,28 @@ workflows:
715
777
matrix :
716
778
parameters :
717
779
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 :
718
790
- benchmark-json-oss-standalone :
719
791
context : common
720
792
- benchmark-json-oss-standalone-profiler :
721
793
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"
0 commit comments