|
| 1 | +parameters: |
| 2 | +- name: arguments |
| 3 | + type: string |
| 4 | + default: '' |
| 5 | +- name: connection |
| 6 | + type: string |
| 7 | + default: '' |
| 8 | +- name: serviceBusQueueName |
| 9 | + type: string |
| 10 | + default: '' |
| 11 | +- name: serviceBusNamespace |
| 12 | + type: string |
| 13 | + default: '' |
| 14 | +- name: condition |
| 15 | + type: string |
| 16 | + default: 'true' |
| 17 | + |
| 18 | +# Scenarios |
| 19 | +- name: scenarios |
| 20 | + type: object |
| 21 | + default: |
| 22 | + |
| 23 | +# TLS |
| 24 | + |
| 25 | + - displayName: "HttpSys Windows: TLS Handshakes" |
| 26 | + arguments: --scenario tls-handshakes-httpsys $(tlsJobs) --property scenario=HttpSysTLSHandshakes --application.options.requiredOperatingSystem windows |
| 27 | + |
| 28 | + - displayName: "HttpSys Windows: mTLS Handshakes" |
| 29 | + arguments: --scenario mTls-handshakes-httpsys $(tlsJobs) --property scenario=HttpSysMutualTLSHandshakes --application.options.requiredOperatingSystem windows |
| 30 | + |
| 31 | + - displayName: "HttpSys Windows: TLS Renegotiation" |
| 32 | + arguments: --scenario tls-renegotiation-httpsys $(tlsJobs) --property scenario=HttpSysTLSRenegotiation --application.options.requiredOperatingSystem windows |
| 33 | + |
| 34 | + - displayName: "Kestrel Linux: TLS Handshakes" |
| 35 | + arguments: --scenario tls-handshakes-kestrel $(tlsJobs) --property scenario=KestrelTLSHandshakes --application.options.requiredOperatingSystem linux |
| 36 | + |
| 37 | + - displayName: "Kestrel Linux: mTLS Handshakes" |
| 38 | + arguments: --scenario mTls-handshakes-kestrel $(tlsJobs) --property scenario=KestrelMutualTLSHandshakes --application.options.requiredOperatingSystem linux |
| 39 | + |
| 40 | + - displayName: "Kestrel Linux: TLS Renegotiation" |
| 41 | + arguments: --scenario tls-renegotiation-kestrel $(tlsJobs) --property scenario=KestrelTLSRenegotiation --application.options.requiredOperatingSystem linux |
| 42 | + |
| 43 | +# Rejection |
| 44 | + |
| 45 | + - displayName: "HttpSys Windows: Encoded URL symbols" |
| 46 | + arguments: --scenario httpsys-encoded-url $(rejectionJobs) --property scenario=RejectionEncodedUrlHttpSys --application.options.requiredOperatingSystem windows |
| 47 | + |
| 48 | + - displayName: "HttpSys Windows: Invalid Header" |
| 49 | + arguments: --scenario httpsys-header-symbols $(rejectionJobs) --property scenario=RejectionInvalidHeaderHttpSys --application.options.requiredOperatingSystem windows |
| 50 | + |
| 51 | + - displayName: "HttpSys Windows: Host Header Mismatch" |
| 52 | + arguments: --scenario httpsys-hostheader-mismatch $(rejectionJobs) --property scenario=RejectionHostHeaderMismatchHttpSys --application.options.requiredOperatingSystem windows |
| 53 | + |
| 54 | + - displayName: "Kestrel Linux: Encoded URL symbols" |
| 55 | + arguments: --scenario kestrel-encoded-url $(rejectionJobs) --property scenario=RejectionEncodedUrlKestrel --application.options.requiredOperatingSystem linux |
| 56 | + |
| 57 | + - displayName: "Kestrel Linux: Invalid Header" |
| 58 | + arguments: --scenario kestrel-header-symbols $(rejectionJobs) --property scenario=RejectionInvalidHeaderKestrel --application.options.requiredOperatingSystem linux |
| 59 | + |
| 60 | + - displayName: "Kestrel Linux: Host Header Mismatch" |
| 61 | + arguments: --scenario kestrel-hostheader-mismatch $(rejectionJobs) --property scenario=RejectionHostHeaderMismatchKestrel --application.options.requiredOperatingSystem linux |
| 62 | + |
| 63 | +steps: |
| 64 | +- ${{ each s in parameters.scenarios }}: |
| 65 | + - task: PublishToAzureServiceBus@2 |
| 66 | + displayName: "${{ s.displayName }}" |
| 67 | + condition: succeededOrFailed() |
| 68 | + timeoutInMinutes: 10 |
| 69 | + inputs: |
| 70 | + connectedServiceName: ${{ parameters.connection }} |
| 71 | + serviceBusQueueName: ${{ parameters.serviceBusQueueName }} |
| 72 | + serviceBusNamespace: ${{ parameters.serviceBusNamespace }} |
| 73 | + waitForCompletion: true |
| 74 | + useDataContractSerializer: "false" |
| 75 | + messageBody: | |
| 76 | + { |
| 77 | + "name": "crank", |
| 78 | + "condition": "(${{ parameters.condition }})", |
| 79 | + "retries": 1, |
| 80 | + "args": [ "${{ s.arguments }} $(azureProfile) --config https://raw.githubusercontent.com/aspnet/Benchmarks/main/scenarios/steadystate.profile.yml --application.framework net10.0 --application.collectDependencies true ${{ parameters.arguments }} --application.options.collectCounters true --no-metadata --no-measurements --load.options.reuseBuild true --session $(session) --description \"${{ s.displayName }} $(System.JobDisplayName)\" --property buildId=\"$(buildId)\" --property buildNumber=\"$(buildNumber)\" --command-line-property --table TrendBenchmarks --sql SQL_CONNECTION_STRING --cert-tenant-id SQL_SERVER_TENANTID --cert-client-id SQL_SERVER_CLIENTID --cert-path SQL_SERVER_CERT_PATH --cert-sni --chart" ] |
| 81 | + } |
0 commit comments