Added schedule for regression workflow (#984)

* Added schedule for regression workflow

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Added new schedule for performance workflow

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Added new schedule for sanity workflow

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Modified default APs in the workflows

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

* Replaced HFCL APs with cig_wf186w, edgecore_eap102 and added in schedule run in the sanity, performance and regression workflows

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>

---------

Signed-off-by: jitendracandela <jitendra.kushavah@candelatech.com>
This commit is contained in:
Jitendrakumar Kushavah
2024-08-16 15:26:04 +05:30
committed by GitHub
parent 088e9ea250
commit 08d3d4ce6d
3 changed files with 70 additions and 61 deletions

View File

@@ -22,7 +22,7 @@ on:
description: "revision of the Open Wifi Helm chart"
ap_models:
required: true
default: "hfcl_ion4xi,edgecore_eap104,cig_wf196,udaya_a6-id2,yuncore_ax820,hfcl_ion4xe,yuncore_fap655,cig_wf189,edgecore_eap105,sercomm_ap72tip,edgecore_eap101,edgecore_eap111"
default: "cig_wf186w,edgecore_eap104,cig_wf196,udaya_a6-id2,yuncore_ax820,edgecore_eap102,yuncore_fap655,cig_wf189,edgecore_eap105,sercomm_ap72tip,edgecore_eap101,edgecore_eap111"
description: "the AP models to test"
ap_version:
required: true
@@ -44,8 +44,8 @@ on:
required: false
default: ""
description: "Tests release branch to use (i.e. 'release/v2.8.0' or 'master'). If left empty, latest release branch is used"
# schedule:
# - cron: "30 18 * * 1-4"
schedule:
- cron: "30 11 * * 1-4"
jobs:
# Set vars
@@ -89,15 +89,15 @@ jobs:
# choose AP models as per the day and slot if the scheduled run gets triggered else provided.
if [[ "$DOW" -eq "1" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf188n,edgecore_oap101-6e,hfcl_ion4xe' }}"
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf189,edgecore_eap105,edgecore_eap111' }}"
elif [[ "$DOW" -eq "2" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap101,yuncore_fap655,yuncore_ax820' }}"
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap104,udaya_a6-id2,edgecore_eap102' }}"
elif [[ "$DOW" -eq "3" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap104,cig_wf186w,edgecore_eap111' }}"
AP_MODELS="${{ github.event.inputs.ap_models || 'yuncore_fap655,sercomm_ap72tip,edgecore_eap101' }}"
elif [[ "$DOW" -eq "4" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap102,cig_wf196' }}"
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186w,cig_wf196,yuncore_ax820' }}"
else
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf188n,edgecore_oap101-6e,hfcl_ion4xe' }}"
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186w,cig_wf196,yuncore_ax820,yuncore_fap655,sercomm_ap72tip,edgecore_eap101' }}"
fi
echo "List of AP models to test - $AP_MODELS"
AP_MODELS=$(echo $AP_MODELS | sed "s/,/\",\"/g" | sed 's/^/[\"/g' | sed 's/$/\"]/g')
@@ -333,13 +333,13 @@ jobs:
run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsec
test-hfcl-ion4xe:
test-edgecore-eap102:
needs: ["vars", "build", "test-yuncore-ax820" ]
runs-on: [ self-hosted, small ]
timeout-minutes: 1440
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'hfcl_ion4xe')"
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap102')"
env:
AP_MODEL: hfcl_ion4xe
AP_MODEL: edgecore_eap102
steps:
- name: Set AP model output
id: ap_model
@@ -536,13 +536,13 @@ jobs:
run: kubectl -n openwifi-${{ needs.vars.outputs.existing_controller }} logs deployment/owsec
test-hfcl-ion4xi:
test-cig-wf186w:
needs: [ "vars", "build"]
runs-on: [ self-hosted, small ]
timeout-minutes: 1440
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'hfcl_ion4xi')"
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'cig_wf186w')"
env:
AP_MODEL: hfcl_ion4xi
AP_MODEL: cig_wf186w
steps:
- name: Set AP model output
id: ap_model
@@ -1146,7 +1146,7 @@ jobs:
test-edgecore-eap104:
needs: ["vars", "build", "test-hfcl-ion4xi" ]
needs: ["vars", "build", "test-cig-wf186w" ]
runs-on: [ self-hosted, small ]
timeout-minutes: 1440
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap104')"
@@ -2573,7 +2573,7 @@ jobs:
report:
if: "!cancelled()"
runs-on: ubuntu-latest
needs: [vars, test-hfcl-ion4xi, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-hfcl-ion4xe, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
needs: [vars, test-cig-wf186w, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-edgecore-eap102, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
strategy:
fail-fast: false
matrix:
@@ -2654,7 +2654,7 @@ jobs:
# Cleanup
cleanup:
needs: [test-hfcl-ion4xi, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-hfcl-ion4xe, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
needs: [test-cig-wf186w, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-edgecore-eap102, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
runs-on: ubuntu-latest
if: always()
steps:

View File

@@ -22,7 +22,7 @@ on:
description: "revision of the Open Wifi Helm chart"
ap_models:
required: true
default: "hfcl_ion4xi,edgecore_eap104,cig_wf196,udaya_a6-id2,yuncore_ax820,hfcl_ion4xe,yuncore_fap655,cig_wf189,edgecore_eap105,sercomm_ap72tip,edgecore_eap101,edgecore_eap111"
default: "cig_wf186w,edgecore_eap104,cig_wf196,udaya_a6-id2,yuncore_ax820,edgecore_eap102,yuncore_fap655,cig_wf189,edgecore_eap105,sercomm_ap72tip,edgecore_eap101,edgecore_eap111"
description: "the AP models to test"
ap_version:
required: true
@@ -41,8 +41,8 @@ on:
default: ""
description: "Tests release branch to use (i.e. 'release/v2.8.0' or 'master'). If left empty, latest release branch is used"
# schedule:
# - cron: "30 11 * * 1-5"
schedule:
- cron: "30 11,18 * * 1-4"
jobs:
# Set vars
@@ -70,29 +70,40 @@ jobs:
echo "existing_controller=$(echo ${{ github.event.inputs.existing_controller || 'qa01' }})" >> $GITHUB_OUTPUT
# Schedule runs at - 11 hours UTC
# Schedule runs at - 11:30 AM UTC(5:00 PM IST), 6:00 PM UTC(11:30 PM IST)
DOW=$(date +%u)
TOD=$(date +%H)
SLOT=$(( 10#$TOD % 24)) # 11 - slot 1
TOD=$(date +%H%M)
SLOT=$(( 10#$TOD % 24))
if [[ "$TOD" == "1130" ]]; then
SLOT=1 # Slot 1: 5:00 PM IST
elif [[ "$TOD" == "1800" ]]; then
SLOT=2 # Slot 2: 11:30 PM IST
else
SLOT=0 # Default or invalid time
fi
echo "Current date is $(date --iso-8601=s)"
echo "Current date of week is $DOW which is $(( 10#$DOW % 7 )) in cron notation"
echo "Current time is $TOD hours, which is $(( 10#$TOD % 24)) in cron notation"
echo "Current slot is $SLOT"
# choose AP models as per the day if the scheduled run gets triggered else input provided.
if [[ "$DOW" -eq "1" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap102,cig_wf196,edgecore_eap101,yuncore_fap655,yuncore_ax820,edgecore_eap111' }}"
elif [[ "$DOW" -eq "2" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf188n,edgecore_oap101-6e,hfcl_ion4xe,edgecore_eap104,cig_wf186w' }}"
elif [[ "$DOW" -eq "3" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap102,cig_wf196,edgecore_eap101,yuncore_fap655,yuncore_ax820' }}"
elif [[ "$DOW" -eq "4" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf188n,edgecore_oap101-6e,edgecore_eap104,cig_wf186w,edgecore_eap111' }}"
elif [[ "$DOW" -eq "5" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'hfcl_ion4xe' }}"
if [[ "$SLOT" -eq "1" ]]; then
echo "Choosing first slot (5 PM IST)"
if [[ "$DOW" -eq "1" || "$DOW" -eq "3" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186w,cig_wf196,yuncore_ax820' }}"
else
AP_MODELS="${{ github.event.inputs.ap_models || 'yuncore_fap655,sercomm_ap72tip,edgecore_eap101' }}"
fi
elif [[ "$SLOT" -eq "2" ]]; then
echo "Choosing second slot (11:30 PM IST)"
if [[ "$DOW" -eq "1" || "$DOW" -eq "3" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap104,udaya_a6-id2,edgecore_eap102' }}"
else
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf189,edgecore_eap105,edgecore_eap111' }}"
fi
else
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap102,cig_wf196,edgecore_eap101,yuncore_fap655,yuncore_ax820,edgecore_eap111' }}"
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186w,cig_wf196,yuncore_ax820,yuncore_fap655,sercomm_ap72tip,edgecore_eap101' }}"
fi
echo "List of AP models to test - $AP_MODELS"
@@ -572,12 +583,12 @@ jobs:
if: failure()
run: kubectl -n openwifi-qa01 logs deployment/owsec
test-hfcl-ion4xe:
test-edgecore-eap102:
needs: [ "vars", "build" ]
runs-on: ubuntu-latest
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'hfcl_ion4xe')"
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap102')"
env:
AP_MODEL: hfcl_ion4xe
AP_MODEL: edgecore_eap102
steps:
- name: Set AP model output
id: ap_model
@@ -661,12 +672,12 @@ jobs:
if: failure()
run: kubectl -n openwifi-qa01 logs deployment/owsec
test-hfcl-ion4xi:
test-cig-wf186w:
needs: [ "vars", "build" ]
runs-on: ubuntu-latest
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'hfcl_ion4xi')"
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'cig_wf186w')"
env:
AP_MODEL: hfcl_ion4xi
AP_MODEL: cig_wf186w
steps:
- name: Set AP model output
id: ap_model
@@ -1201,7 +1212,7 @@ jobs:
report:
if: "!cancelled()"
runs-on: ubuntu-latest
needs: [vars, test-hfcl-ion4xi, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-hfcl-ion4xe, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
needs: [vars, test-cig-wf186w, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-edgecore-eap102, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
strategy:
fail-fast: false
matrix:
@@ -1252,7 +1263,7 @@ jobs:
# Cleanup
cleanup:
needs: [test-hfcl-ion4xi, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-hfcl-ion4xe, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
needs: [test-cig-wf186w, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-edgecore-eap102, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
runs-on: ubuntu-latest
if: always()
steps:

View File

@@ -22,7 +22,7 @@ on:
description: "revision of the Open Wifi Helm chart"
ap_models:
required: true
default: "hfcl_ion4xi,edgecore_eap104,cig_wf196,udaya_a6-id2,yuncore_ax820,hfcl_ion4xe,yuncore_fap655,cig_wf189,edgecore_eap105,sercomm_ap72tip,edgecore_eap101,edgecore_eap111"
default: "cig_wf186w,edgecore_eap104,cig_wf196,udaya_a6-id2,yuncore_ax820,edgecore_eap102,yuncore_fap655,cig_wf189,edgecore_eap105,sercomm_ap72tip,edgecore_eap101,edgecore_eap111"
description: "the AP models to test"
ap_version:
required: true
@@ -44,8 +44,8 @@ on:
required: false
default: ""
description: "Tests release branch to use (i.e. 'release/v2.8.0' or 'master'). If left empty, latest release branch is used"
# schedule:
# - cron: "30 11 * * 0,4,5,6"
schedule:
- cron: "30 11 * * 0,5,6"
jobs:
# Set vars
@@ -89,16 +89,14 @@ jobs:
echo "Current slot is $SLOT"
# choose AP models as per the day if the scheduled run gets triggered else input provided.
if [[ "$DOW" -eq "4" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'hfcl_ion4xe' }}"
elif [[ "$DOW" -eq "5" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf188n,edgecore_oap101-6e,edgecore_eap104' }}"
if [[ "$DOW" -eq "5" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186w,cig_wf196,cig_wf189,edgecore_eap105' }}"
elif [[ "$DOW" -eq "6" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap102,cig_wf196,yuncore_fap655' }}"
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap104,yuncore_ax820,sercomm_ap72tip,edgecore_eap111' }}"
elif [[ "$DOW" -eq "7" ]]; then
AP_MODELS="${{ github.event.inputs.ap_models || 'edgecore_eap101,yuncore_ax820,edgecore_eap111' }}"
AP_MODELS="${{ github.event.inputs.ap_models || 'udaya_a6-id2,edgecore_eap102,yuncore_fap655,edgecore_eap101' }}"
else
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf188n,edgecore_oap101-6e,edgecore_eap104' }}"
AP_MODELS="${{ github.event.inputs.ap_models || 'cig_wf186w,cig_wf196,yuncore_ax820,yuncore_fap655,sercomm_ap72tip,edgecore_eap101' }}"
fi
AP_MODELS=$(echo $AP_MODELS | sed "s/,/\",\"/g" | sed 's/^/[\"/g' | sed 's/$/\"]/g')
@@ -131,13 +129,13 @@ jobs:
# Run tests on APs
test-hfcl-ion4xe:
test-edgecore-eap102:
needs: ["vars", "build", "test-yuncore-ax820"]
runs-on: [self-hosted, small]
timeout-minutes: 1440
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'hfcl_ion4xe')"
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap102')"
env:
AP_MODEL: hfcl_ion4xe
AP_MODEL: edgecore_eap102
steps:
- name: Set AP model output
id: ap_model
@@ -463,13 +461,13 @@ jobs:
if: failure()
run: kubectl -n openwifi-qa01 logs deployment/owsec
test-hfcl-ion4xi:
test-cig-wf186w:
needs: [ "vars", "build"]
runs-on: [ self-hosted, small ]
timeout-minutes: 1440
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'hfcl_ion4xi')"
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'cig_wf186w')"
env:
AP_MODEL: hfcl_ion4xi
AP_MODEL: cig_wf186w
steps:
- name: Set AP model output
id: ap_model
@@ -1795,7 +1793,7 @@ jobs:
run: kubectl -n openwifi-qa01 logs deployment/owsec
test-edgecore-eap104:
needs: ["vars", "build", "test-hfcl-ion4xi"]
needs: ["vars", "build", "test-cig-wf186w"]
runs-on: [self-hosted, small]
timeout-minutes: 1440
if: "!cancelled() && contains(fromJSON(needs.vars.outputs.ap_models), 'edgecore_eap104')"
@@ -4119,7 +4117,7 @@ jobs:
report:
if: "!cancelled()"
runs-on: ubuntu-latest
needs: [vars, test-hfcl-ion4xi, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-hfcl-ion4xe, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
needs: [vars, test-cig-wf186w, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-edgecore-eap102, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
strategy:
fail-fast: false
matrix:
@@ -4172,7 +4170,7 @@ jobs:
# Cleanup
cleanup:
needs: [test-hfcl-ion4xi, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-hfcl-ion4xe, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
needs: [test-cig-wf186w, test-edgecore-eap104, test-cig-wf196, test-udaya-a6-id2, test-yuncore-ax820, test-edgecore-eap102, test-yuncore-fap655, test-cig-wf189, test-edgecore-eap105, test-sercomm-ap72tip, test-edgecore-eap101, test-edgecore-eap111]
runs-on: ubuntu-latest
if: always()
steps: