inline job and wait for job

This commit is contained in:
Gleb Boushev
2020-11-13 15:06:17 +03:00
parent 3168313b5f
commit 2a363aae6a
2 changed files with 33 additions and 3 deletions

View File

@@ -51,6 +51,32 @@ jobs:
run: |
today=$(date +"%d-%m-%Y")
aws eks update-kubeconfig --name ${{ env.AWS_EKS_NAME }}
kubectl run nightly-$today -it --restart=Never --overrides='{ "apiVersion": "v1", "spec": {"imagePullSecrets": [{"name": "tip-docker-registry-key"}]} }' --image ${{ env.DOCKER_SERVER }}/cloud-sdk-nightly:${{ github.run_id }} -- --testrail-user-password ${{ env.TESTRAIL_USER_PASSWORD }} --jfrog-user-password ${{ env.JFROG_USER_PASSWORD }} --skip-update-firmware
kubectl delete po nightly-$today
cat <<EOF | kubectl apply -f -
apiVersion: batch/v1
kind: Job
metadata:
name: nightly-ci-$today
spec:
template:
labels:
nightly: true
date: $today
spec:
containers:
- name: tests
image: ${{ env.DOCKER_SERVER }}/cloud-sdk-nightly:${{ github.run_id }}
args:
- --testrail-user-password
- ${{ env.TESTRAIL_USER_PASSWORD }}
- --jfrog-user-password
- ${{ env.JFROG_USER_PASSWORD }}
- --skip-update-firmware
imagePullSecrets:
- name: tip-docker-registry-key
restartPolicy: Never
backoffLimit: 0
EOF
kubectl wait job/nightly-ci-$today --for=condition=complete --timeout=3600s
kubectl logs -l job-name=nightly-ci-$today
kubectl delete job/nightly-$today
shell: bash

View File

@@ -312,9 +312,12 @@ for model in TEST_DATA["ap_models"].keys():
logging.info("Model does not require firmware upgrade, skipping sanity tests")
else:
if args.update_firmware:
firmware_update_case = [2831]
logging.info("Model requires firmware update, will update and sleep")
sdk.update_firmware(TEST_DATA["ap_models"][model]["id"], model_firmware_id)
sleep(300)
else:
firmware_update_case = []
test_cases_data = {
2832: { # 2.4 GHz Open
@@ -364,7 +367,7 @@ for model in TEST_DATA["ap_models"].keys():
# Create Test Run
test_run_name = f'Nightly_model_{fw_model}_firmware_{ap_fw}_{strftime("%Y-%m-%d", gmtime())}'
testrail_project_id = testrail.get_project_id(project_name=args.testrail_project)
runId = testrail.create_testrun(name=test_run_name, case_ids=(list(test_cases_data) + [2831]), project_id=testrail_project_id)
runId = testrail.create_testrun(name=test_run_name, case_ids=( [*test_cases_data] + firmware_update_case ), project_id=testrail_project_id)
logging.info(f"Testrail project id: {testrail_project_id}; run ID is: {runId}")
# Check if upgrade worked
@@ -375,6 +378,7 @@ for model in TEST_DATA["ap_models"].keys():
if not test_result:
continue
# Set Proper AP Profile
test_profile_id = TEST_DATA["ap_models"][fw_model]["info"]["profile_id"]
sdk.set_ap_profile(TEST_DATA["ap_models"][model]["id"], test_profile_id)