323 lines
12 KiB
YAML
323 lines
12 KiB
YAML
name: self-hosted build and check
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ main ]
|
|
workflow_dispatch:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
self-PC-build:
|
|
runs-on:
|
|
- self-hosted
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Compilation Process
|
|
run: |
|
|
current_date=`date -d "8 hours" +%Y%m%d"_"%H%M`
|
|
cp -rvf ${{ github.workspace }} /home/vip_sqa/build
|
|
cd /home/vip_sqa/build
|
|
|
|
rm -rf /home/vip_sqa/build_case/result/*
|
|
|
|
docker run -id -v /home/vip_sqa/build:/GPU_SQA/build -v /home/vip_sqa/build_case:/GPU_SQA/to_test --name ${current_date} gpu_sqa
|
|
docker exec ${current_date} bash -c "cd /GPU_SQA/script; source build_case.sh ${current_date}; chmod 777 -R /GPU_SQA/to_test/${current_date}; rm -rf /GPU_SQA/build/*"
|
|
docker stop ${current_date}
|
|
docker rm ${current_date}
|
|
|
|
|
|
TIM-VX:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build]
|
|
|
|
steps:
|
|
- name: check_TIM-VX_result
|
|
run: |
|
|
start_time=$(date +%s)
|
|
max_duration=3600
|
|
|
|
while true
|
|
do
|
|
current_time=$(date +%s)
|
|
|
|
elapsed_time=$((current_time - start_time))
|
|
|
|
if [[ $elapsed_time -ge $max_duration ]];then
|
|
echo "TIM-VX result check has exceeded 1 hour."
|
|
echo "Please check the local board."
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -e /home/vip_sqa/build_case/result/TIM-VX_unit_test_qua.txt ]];then
|
|
total_num=`cat /home/vip_sqa/build_case/result/TIM-VX_unit_test_qua.txt | grep "Total" | awk -F ':' '{print $2}' | sed 's/ //g'`
|
|
pass_num=`cat /home/vip_sqa/build_case/result/TIM-VX_unit_test_qua.txt | grep "Pass" | awk -F ':' '{print $2}' | sed 's/ //g'`
|
|
known_issue_num=`cat /home/vip_sqa/build_case/result/TIM-VX_unit_test_qua.txt | grep "known_issue" | awk -F ':' '{print $2}' | sed 's/ //g'`
|
|
if [[ "$(($pass_num+$known_issue_num))" == "$total_num" ]];then
|
|
break
|
|
else
|
|
exit 1
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of TIM-VX. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
inception_v3_quant:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_inception_v3_quant.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_inception_v3_quant.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
mobilenet_v2_b8_quant:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_mobilenet_v2_b8_quant.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_mobilenet_v2_b8_quant.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Wait a minute.'
|
|
sleep 60
|
|
done
|
|
|
|
mobilenet_v2_quant:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_mobilenet_v2_quant.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_mobilenet_v2_quant.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
mobilenet_v3_b4_quant:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_mobilenet_v3_b4_quant.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_mobilenet_v3_b4_quant.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
mobilenet_v3_quant:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_mobilenet_v3_quant.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_mobilenet_v3_quant.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
mv3_depth_quant:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_mv3_depth_quant.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_mv3_depth_quant.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
resnet_quant:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_resnet_quant.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_quant.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
tfhub-efficientdet-lite0:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_tfhub-efficientdet-lite0.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_tfhub-efficientdet-lite0.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
tfhub-efficientdet-lite1:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_tfhub-efficientdet-lite1.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_tfhub-efficientdet-lite1.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
tfhub-efficientdet-lite2:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_tfhub-efficientdet-lite2.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_tfhub-efficientdet-lite2.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
yolo_v4_tiny_quant:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/public_model_yolo_v4_tiny_quant.txt ]];then
|
|
if [[ `grep -inE "fail|GPU hang|Memory fault|Out of memory|Call trace|aborted|Segmentation fault" /home/vip_sqa/build_case/result/public_model_yolo_v4_tiny_quant.txt` ]];then
|
|
exit 1
|
|
else
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|
|
|
|
private_model:
|
|
runs-on:
|
|
- self-hosted
|
|
needs: [self-PC-build,TIM-VX,yolo_v4_tiny_quant,tfhub-efficientdet-lite2,tfhub-efficientdet-lite1,tfhub-efficientdet-lite0,resnet_quant,mv3_depth_quant,mobilenet_v3_quant,mobilenet_v3_b4_quant,mobilenet_v2_quant,mobilenet_v2_b8_quant,inception_v3_quant]
|
|
|
|
steps:
|
|
- name: check_tflite-vx-delegate_private_model
|
|
run: |
|
|
while true
|
|
do
|
|
if [[ -e /home/vip_sqa/build_case/result/private_model_qua.txt ]];then
|
|
crash_num=`cat /home/vip_sqa/build_case/result/private_model_qua.txt | grep -i "crash" | awk -F ':' '{print $2}' | sed 's/ //g'`
|
|
fail_num=`cat /home/vip_sqa/build_case/result/private_model_qua.txt | grep -i "fail" | awk -F ':' '{print $2}' | sed 's/ //g'`
|
|
if [[ "$crash_num" -gt 0 || "$fail_num" -gt 0 ]];then
|
|
exit 1
|
|
else
|
|
echo "tflite-vx-delegate_private_model successful."
|
|
break
|
|
fi
|
|
fi
|
|
echo 'Waiting for the results of tflite-vx-delegate_model. Waiting 1 minutes for next check...'
|
|
sleep 60
|
|
done
|