77
88 workflow_dispatch :
99 inputs :
10+ runDataPrep :
11+ description : " Run data prep"
12+ required : true
13+ type : boolean
14+ default : ' true'
15+ runNurse :
16+ description : " Run the nurse journey"
17+ required : true
18+ type : boolean
19+ default : ' true'
1020 urn :
11- description : " URN - for a school in the QA environment. This session MUST HAVE A SESSION DATE FOR TODAY."
21+ description : " Required: URN for a school in the QA environment. This must have a session date for today and tomorrow."
22+ required : true
23+ type : string
24+ input_file :
25+ description : " Require: Input file name used for all steps."
1226 required : true
1327 type : string
1428 duration :
15- description : " Duration of nurse journey test, in seconds. This will include ramp-up."
29+ description : " Optional (default 3600) Duration of nurse journey test, in seconds. This will include ramp-up."
1630 required : false
1731 type : number
1832 threads :
19- description : " Threads to run. Equivalent to the number of nurses using the system."
33+ description : " Optional (default 70) Threads to run. Equivalent to the number of nurses using the system."
2034 required : false
2135 type : number
2236 ramp_up :
23- description : " Ramp-up time in seconds. Threads will be gradually started up over this time."
37+ description : " Optional (default 900) Ramp-up time in seconds. Threads will be gradually started up over this time."
2438 required : false
2539 type : number
2640 vaccination_loop :
27- description : " Vaccination loop. The number of vaccinations each nurse will perform before logging and back in again."
41+ description : " Optional (default 20) Vaccination loop. The number of vaccinations each nurse will perform before logging and back in again."
2842 required : false
2943 type : number
30- input_file :
31- description : " Input file name used for all steps."
32- required : false
33- type : string
44+
3445
3546# env:
3647# JMETER_PLUGIN_INSTALL_LIST: "jpgc-udp,jpgc-graphs-basic,jpgc-dummy,bzm-random-csv"
6071 curl -LsS --output jmeter/lib/ext/jmeter-plugins-manager-${{ env.jmeter_plugins_manager_version }}.jar https://jmeter-plugins.org/get/
6172 java -cp jmeter/lib/ext/jmeter-plugins-manager-${{ env.jmeter_plugins_manager_version }}.jar org.jmeterplugins.repository.PluginManagerCMDInstaller
6273 chmod +x jmeter/bin/PluginsManagerCMD.sh
74+ sed -i '/<Logger name="org.apache.jmeter.junit" level="debug" \/>/a \ <Logger name="org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase" level="info" additivity="false"\/>' jmeter/bin/log4j2.xml
6375
6476 - name : Install JMeter plugins
6577 if : env.jmeter_plugins != ''
@@ -80,28 +92,37 @@ jobs:
8092 run : echo "timestamp=$(date '+%Y%m%d%H%M%S')" >> $GITHUB_ENV
8193
8294 - name : Run file import for new file
95+ if : inputs.runDataPrep == true
8396 run : |
8497 mkdir -p import-output
8598 import_output_dir=import-output
86- echo "Placeholder step for file import"
87-
88- # - name: Run Consent Journey for imported records (2K records)
89- # run: |
90- # mkdir -p consent-output
91- # consent_output_dir=consent-output
92- # jmeter/bin/jmeter -n -t performance-tests/E2E/consent-journey.jmx \
93- # -l $consent_output_dir/samples.jtl \
94- # -j $consent_output_dir/jmeter.log \
95- # -e -o $consent_output_dir/consent-report \
96- # -JURN=${{inputs.urn}} \
97- # -JAuthToken=${{secrets.HTTP_AUTH_TOKEN_FOR_TESTS}} \
98- # -JInputFile=${{inputs.input_file}}
99+ jmeter/bin/jmeter -n -t performance-tests/E2E/upload-cohort-data.jmx \
100+ -l $import_output_dir/samples.jtl \
101+ -j $import_output_dir/jmeter.log \
102+ -e -o $import_output_dir/upload-report \
103+ -JURN=${{inputs.urn}} \
104+ -JAuthToken=${{secrets.HTTP_AUTH_TOKEN_FOR_TESTS}} \
105+ -JInputFile=${{inputs.input_file}}
106+
107+ - name : Run Consent Journey for imported records
108+ if : inputs.runDataPrep == true
109+ run : |
110+ mkdir -p consent-output
111+ consent_output_dir=consent-output
112+ jmeter/bin/jmeter -n -t performance-tests/E2E/consent-journey.jmx \
113+ -l $consent_output_dir/samples.jtl \
114+ -j $consent_output_dir/jmeter.log \
115+ -e -o $consent_output_dir/consent-report \
116+ -JURN=${{inputs.urn}} \
117+ -JAuthToken=${{secrets.HTTP_AUTH_TOKEN_FOR_TESTS}} \
118+ -JInputFile=${{inputs.input_file}}
99119
100120 - name : Run nurse journey JMeter test
121+ if : inputs.runNurse == true
101122 run : |
102123 mkdir -p nurse-output
103124 nurse_output_dir=nurse-output
104- jmeter/bin/jmeter -n -t performance-tests/nurse-journey.jmx \
125+ jmeter/bin/jmeter -n -t performance-tests/E2E/ nurse-journey.jmx \
105126 -l $nurse_output_dir/samples.jtl \
106127 -j $nurse_output_dir/jmeter.log \
107128 -e -o $nurse_output_dir/report \
@@ -110,19 +131,21 @@ jobs:
110131 -JDuration=${{inputs.duration}} \
111132 -JThreads=${{inputs.threads}} \
112133 -JRampUp=${{inputs.ramp_up}} \
113- -JVaccinationLoop=${{inputs.vaccination_loop}}
134+ -JVaccinationLoop=${{inputs.vaccination_loop}} \
114135 -JInputFile=${{inputs.input_file}}
115136
116137 - name : Upload consent journey JMeter output
138+ if : inputs.runDataPrep == true
117139 uses : actions/upload-artifact@v4
118140 with :
119141 name : jmeter-consent-journey-output-${{ env.timestamp }}
120142 path : consent-output
121- if-no-files-found : error
143+ if-no-files-found : warn
122144
123145 - name : Upload nurse journey JMeter output
146+ if : inputs.runNurse == true
124147 uses : actions/upload-artifact@v4
125148 with :
126149 name : jmeter-nurse-journey-output-${{ env.timestamp }}
127150 path : nurse-output
128- if-no-files-found : error
151+ if-no-files-found : warn
0 commit comments