ci: upload benchmark results to opensearch

Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
This commit is contained in:
Moritz Eckert 2023-03-01 16:46:23 +01:00
parent bfca2638d0
commit 29664fc481
4 changed files with 38 additions and 7 deletions

View file

@ -8,6 +8,15 @@ inputs:
kubeconfig: kubeconfig:
description: "The kubeconfig of the cluster to test." description: "The kubeconfig of the cluster to test."
required: true required: true
awsOpenSearchDomain:
description: "AWS OpenSearch Endpoint Domain to upload the results."
required: false
awsOpenSearchUsers:
description: "AWS OpenSearch User to upload the results."
required: false
awsOpenSearchPwd:
description: "AWS OpenSearch Password to upload the results."
required: false
runs: runs:
using: "composite" using: "composite"
@ -126,15 +135,19 @@ runs:
benchmarks/constellation-${{ inputs.cloudProvider }}.json benchmarks/constellation-${{ inputs.cloudProvider }}.json
name: "benchmarks" name: "benchmarks"
- name: Check performance comparison result - name: Upload benchmark results to opensearch
if: (!env.ACT)
shell: bash shell: bash
env:
OPENSEARCH_DOMAIN: ${{ inputs.awsOpenSearchDomain }}
OPENSEARCH_USER: ${{ inputs.awsOpenSearchUsers }}
OPENSEARCH_PWD: ${{ inputs.awsOpenSearchPwd }}
run: | run: |
if [ $COMPARISON_SUCCESS = true ] ; then curl -XPOST \
echo "Comparison successful" -u "${OPENSEARCH_USER}:${OPENSEARCH_PWD}" \
else "${OPENSEARCH_DOMAIN}/benchmarks-${{ inputs.cloudProvider }}-$(date '+%Y')"/_doc \
echo "Comparison failed" --data-binary @benchmarks/constellation-${{ inputs.cloudProvider }}.json \
exit 1 -H 'Content-Type: application/json'
fi
- name: Update benchmark records in S3 - name: Update benchmark records in S3
if: github.ref_name == 'main' if: github.ref_name == 'main'

View file

@ -38,6 +38,15 @@ inputs:
gcpClusterServiceAccountKey: gcpClusterServiceAccountKey:
description: "Service account to use inside the created Constellation cluster on GCP." description: "Service account to use inside the created Constellation cluster on GCP."
required: false required: false
awsOpenSearchDomain:
description: "AWS OpenSearch Endpoint Domain to upload the benchmark results."
required: false
awsOpenSearchUsers:
description: "AWS OpenSearch User to upload the benchmark results."
required: false
awsOpenSearchPwd:
description: "AWS OpenSearch Password to upload the benchmark results."
required: false
azureSubscription: azureSubscription:
description: "The Azure subscription ID to deploy Constellation in." description: "The Azure subscription ID to deploy Constellation in."
required: false required: false
@ -236,6 +245,9 @@ runs:
with: with:
cloudProvider: ${{ inputs.cloudProvider }} cloudProvider: ${{ inputs.cloudProvider }}
kubeconfig: ${{ steps.constellation-create.outputs.kubeconfig }} kubeconfig: ${{ steps.constellation-create.outputs.kubeconfig }}
awsOpenSearchDomain: ${{ inputs.awsOpenSearchDomain }}
awsOpenSearchUsers: ${{ inputs.awsOpenSearchUsers }}
awsOpenSearchPwd: ${{ inputs.awsOpenSearchPwd }}
- name: Run constellation verify test - name: Run constellation verify test
if: inputs.test == 'verify' if: inputs.test == 'verify'

View file

@ -296,6 +296,9 @@ jobs:
test: ${{ inputs.test }} test: ${{ inputs.test }}
kubernetesVersion: ${{ inputs.kubernetesVersion }} kubernetesVersion: ${{ inputs.kubernetesVersion }}
keepMeasurements: ${{ inputs.keepMeasurements }} keepMeasurements: ${{ inputs.keepMeasurements }}
awsOpenSearchDomain: ${{ secrets.AWS_OPENSEARCH_DOMAIN }}
awsOpenSearchUsers: ${{ secrets.AWS_OPENSEARCH_USER }}
awsOpenSearchPwd: ${{ secrets.AWS_OPENSEARCH_PWD }}
azureSubscription: ${{ secrets.AZURE_E2E_SUBSCRIPTION_ID }} azureSubscription: ${{ secrets.AZURE_E2E_SUBSCRIPTION_ID }}
azureTenant: ${{ secrets.AZURE_E2E_TENANT_ID }} azureTenant: ${{ secrets.AZURE_E2E_TENANT_ID }}
azureClientID: ${{ secrets.AZURE_E2E_CLIENT_ID }} azureClientID: ${{ secrets.AZURE_E2E_CLIENT_ID }}

View file

@ -127,6 +127,9 @@ jobs:
cloudProvider: ${{ matrix.provider }} cloudProvider: ${{ matrix.provider }}
osImage: ${{ needs.find-latest-image.outputs.image }} osImage: ${{ needs.find-latest-image.outputs.image }}
kubernetesVersion: ${{ matrix.version }} kubernetesVersion: ${{ matrix.version }}
awsOpenSearchDomain: ${{ secrets.AWS_OPENSEARCH_DOMAIN }}
awsOpenSearchUsers: ${{ secrets.AWS_OPENSEARCH_USER }}
awsOpenSearchPwd: ${{ secrets.AWS_OPENSEARCH_PWD }}
azureSubscription: ${{ secrets.AZURE_E2E_SUBSCRIPTION_ID }} azureSubscription: ${{ secrets.AZURE_E2E_SUBSCRIPTION_ID }}
azureTenant: ${{ secrets.AZURE_E2E_TENANT_ID }} azureTenant: ${{ secrets.AZURE_E2E_TENANT_ID }}
azureClientID: ${{ secrets.AZURE_E2E_CLIENT_ID }} azureClientID: ${{ secrets.AZURE_E2E_CLIENT_ID }}