Update Test.yml #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |