Skip to content

Update Test.yml

Update Test.yml #7

Workflow file for this run

name: Deploy Perf Env Nightly CI
on:
push:
branches: [ "main" ]
workflow_dispatch:
jobs:
workload:
name: workload
runs-on: ubuntu-latest
strategy:
# run one job every time
max-parallel: 1
# continue to next job if failed
fail-fast: false
matrix:
workload:
- 'vdbench_vm'
- 'vdbench_pod_scale'
- 'vdbench_kata_scale'
- 'vdbench_vm_scale'
- 'clusterbuster'
- 'bootstorm_vm_scale'
- 'windows_vm_scale_windows10'
- 'windows_vm_scale_windows11'
- 'windows_vm_scale_windows_server_2019'
- 'windows_vm_scale_windows_server_2022'
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: ✔️ Run workload ${{ matrix.workload }}
run: |
echo '>>>>>>>>>>>>>>>>>>>>>>>>>> Start E2E workload: ${{ matrix.workload }} >>>>>>>>>>>>>>>>>>>>>>>>>>'
WORKLOAD=$(awk -F_ '{print $1"_"$2}' <<< '${{ matrix.workload }}')
RUN=$(awk -F_ '{print $3}' <<< '${{ matrix.workload }}')
echo workload $workload run $RUN
if [[ '$RUN' == 'scale' ]]
then
echo SCALE SCALE
# bootstorm_vm_scale: no need redis for synchronization but need SCALE and THREADS_LIMIT
if [[ '${{ matrix.workload }}' == 'bootstorm_vm_scale' ]]
then
# Warm-up: Pull the Fedora image from quay.io for each node
echo ssh -t provision "podman run --rm -t -e WORKLOAD='$workload' -e KUBEADMIN_PASSWORD='$KUBEADMIN_PASSWORD' -e SCALE='$SCALE' -e SCALE_NODES=$SCALE_NODES -e REDIS='$REDIS' -e RUN_ARTIFACTS_URL='$RUN_ARTIFACTS_URL' -e BUILD_VERSION='$build_version' -e RUN_TYPE='$RUN_TYPE' -e KATA_CPUOFFLINE_WORKAROUND='True' -e SAVE_ARTIFACTS_LOCAL='False' -e ENABLE_PROMETHEUS_SNAPSHOT='$ENABLE_PROMETHEUS_SNAPSHOT' -e THREADS_LIMIT='$THREADS_LIMIT' -e WINDOWS_URL='$WINDOWS_URL' -e TIMEOUT='$TIMEOUT' -e log_level='INFO' -v '$CONTAINER_KUBECONFIG_PATH':'$CONTAINER_KUBECONFIG_PATH' --privileged 'quay.io/ebattat/benchmark-runner:latest'"
elif [[ '$WORKLOAD' == 'windows_vm' ]]
then
case '${{ matrix.workload }}' in
'windows_vm_scale_windows10') WINDOWS_URL=$WORKLOAD ;;
'windows_vm_scale_windows11') WINDOWS_URL=$WORKLOAD ;;
'windows_vm_scale_windows_server_2019') WINDOWS_URL=$WORKLOAD ;;
'windows_vm_scale_windows_server_2022') WINDOWS_URL=$WORKLOAD ;;
*) echo "Unknown Windows scale workload ${{ matrix.workload }}"; exit 1 ;;
esac
# Warm-up: Load DV for Windows
echo ssh -t provision "podman run --rm -t -e WORKLOAD='$WORKLOAD' -e KUBEADMIN_PASSWORD='$KUBEADMIN_PASSWORD' -e SCALE='$SCALE' -e SCALE_NODES=$SCALE_NODES -e REDIS='$REDIS' -e RUN_ARTIFACTS_URL='$RUN_ARTIFACTS_URL' -e BUILD_VERSION='$build_version' -e RUN_TYPE='$RUN_TYPE' -e KATA_CPUOFFLINE_WORKAROUND='True' -e SAVE_ARTIFACTS_LOCAL='False' -e ENABLE_PROMETHEUS_SNAPSHOT='$ENABLE_PROMETHEUS_SNAPSHOT' -e THREADS_LIMIT='$THREADS_LIMIT' -e WINDOWS_URL='$WINDOWS_URL' -e TIMEOUT='$TIMEOUT' -e log_level='INFO' -v '$CONTAINER_KUBECONFIG_PATH':'$CONTAINER_KUBECONFIG_PATH' --privileged 'quay.io/ebattat/benchmark-runner:latest'"
echo windows $WINDOWS_URL
fi
fi