1313 test-definition :
1414 required : true
1515 description : Test definition
16+ feature :
17+ required : true
18+ description : " Client feature to test"
19+ num_records :
20+ type : number
21+ default : 1000000
22+ description : Number of records to use in workload
23+ insert_mode :
24+ required : true
25+ type : choice
26+ description : Insert mode means don't check for outliers.
27+ options :
28+ - insert
29+ - outlier
1630 workflow_call :
1731 inputs :
1832 # workflow_call hack
@@ -39,6 +53,73 @@ concurrency:
3953 group : ${{ github.workflow }}
4054
4155jobs :
56+ register-test-definition-with-custom-env-var-parameters :
57+ runs-on : ubuntu-24.04
58+ env :
59+ REGISTER_FILE_PATH_IN_REPO : perf_regression/register-client-tests.yaml
60+ steps :
61+ # TODO: composite action for this would be helpful
62+ # TODO: need special testctl not in jfrog yet
63+ - name : Get test-register
64+ uses : actions/checkout@v4
65+ with :
66+ repository : citrusleaf/qe-tools
67+ token : ${{ secrets.CLIENT_BOT_PAT }}
68+ path : qe-tools
69+ sparse-checkout : |
70+ bin/test-register
71+ sparse-checkout-cone-mode : false
72+
73+ - name : Add test-register to PATH
74+ run : echo "$(realpath qe-tools/bin)" >> $GITHUB_PATH
75+
76+ - uses : jfrog/setup-jfrog-cli@v4
77+ env :
78+ JF_URL : ${{ secrets.JFROG_PLATFORM_URL }}
79+ JF_ACCESS_TOKEN : ${{ secrets.JFROG_ACCESS_TOKEN }}
80+
81+ - run : jf rt download --fail-no-op qe-go-dev-local/testctl.amd64.linux qe-tools/bin/testctl
82+ - run : chmod u+x ./testctl
83+ working-directory : qe-tools/bin
84+
85+ - name : Add AWS credentials
86+ run : |
87+ mkdir -p ~/.aws
88+ cd ~/.aws
89+ sections=("default" "qe")
90+ for section in ${sections[@]};
91+ do
92+ cat <<-EOF >> credentials
93+ [$section]
94+ aws_access_key_id = ${{ secrets.QE_TEST_ENQUEUE_AWS_ACCESS_KEY_ID }}
95+ aws_secret_access_key = ${{ secrets.QE_TEST_ENQUEUE_AWS_SECRET_ACCESS_KEY }}
96+ region = us-west-1
97+ EOF
98+ done
99+ shell : bash
100+
101+ - uses : actions/checkout@v4
102+ with :
103+ # Entire repo must be cloned because the test definition includes this repo
104+ path : aerospike-tests-python
105+ # Test definition includes the feature branch name
106+ ref : ${{ github.head_ref }}
107+ fetch-depth : 0
108+
109+ - name : Environment variable overrides
110+ run : |
111+ yq eval -i ${{ env.REGISTER_FILE_PATH_IN_REPO }} ".perf_regression/client_centered.environment.MODE = \"${{ inputs.insert_mode }}\""
112+ yq eval -i ${{ env.REGISTER_FILE_PATH_IN_REPO }} ".perf_regression/client_centered.environment.NUM_RECORDS = \"${{ inputs.num_records }}\""
113+ yq eval -i ${{ env.REGISTER_FILE_PATH_IN_REPO }} ".perf_regression/client_centered.environment.FEATURE = \"${{ inputs.feature }}\""
114+ working-directory : aerospike-tests-python
115+
116+ - run : test-register --config staging ./${{ env.REGISTER_FILE_PATH_IN_REPO }}
117+ working-directory : aerospike-tests-python
118+
119+ # run-changed-tests:
120+ # needs: register-test-definition
121+ # uses: aerospike/aerospike-client-python/.github/workflows/run-qe-test.yml@cicd-performance-regression-tests-using-asmikas-qe-env
122+
42123 add-python-client-to-qe-test-image-for-performance-regression-tests :
43124 env :
44125 WHEEL_ARCH : x86_64
@@ -101,7 +182,10 @@ jobs:
101182 TEST_CONFIG_FILE_NAME : client_perf.yaml
102183 TESTCTL_BINARY_NAME : testctl
103184 runs-on : ubuntu-24.04
104- needs : add-python-client-to-qe-test-image-for-performance-regression-tests
185+ needs : [
186+ add-python-client-to-qe-test-image-for-performance-regression-tests,
187+ register-client-test-with-custom-env-var-parameters
188+ ]
105189 steps :
106190 # - name: Setup Rclone
107191 # uses: AnimMouse/setup-rclone@0d99fa3878a334d3e307c1a8372ad55550fdaea7
0 commit comments