Delete tests/pytest/arm64_ci_feishu_notice.py

This commit is contained in:
Charles 2024-01-22 13:56:07 +08:00 committed by GitHub
parent dc92fd3884
commit ad170ecb76
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 0 additions and 84 deletions

View File

@ -1,84 +0,0 @@
import requests
import subprocess
"""This file is used to send notice to feishu robot with daily arm64 ci test result
"""
group_url = 'https://open.feishu.cn/open-apis/bot/v2/hook/56c333b5-eae9-4c18-b0b6-7e4b7174f5c9'
def get_msg(text):
return {
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": "ARM64 CI test report",
"content": [
[{
"tag": "text",
"text": text
}
]]
}
}
}
}
def send_msg(result, testScope, owner, hostname, logDir, others):
text = f'''result: {result}
test scope: {testScope}
owner: {owner}
hostname: {hostname}
log dir: {logDir}
others: {others}\n'''
json = get_msg(text)
headers = {
'Content-Type': 'application/json'
}
req = requests.post(url=group_url, headers=headers, json=json)
inf = req.json()
if "StatusCode" in inf and inf["StatusCode"] == 0:
pass
else:
print(inf)
def check_build_failed():
path = "/home/arm64/log/"
res = False
try:
r = subprocess.Popen("ls | wc -l", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=path)
stdout, stderr = r.communicate()
if r.returncode != 0:
print("Failed to execute 'ls -l' for path '{}' with error: {}".format(path, stderr))
else:
if int(stdout) == 0:
res = True
return res
except Exception as ex:
raise Exception("Failed to check build failed with error: {}".format(str(ex)))
def check_run_case_status():
path = "/home/arm64/log/*/stat.txt"
r = subprocess.Popen("cat {}".format(path), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = r.communicate()
if r.returncode != 0:
print("Failed to execute 'cat {}' with error: {}".format(path, stderr))
else:
for line in stdout.decode().split("\n"):
if "Failed:" in line:
failed_case_num = int(line.split(":")[1].strip())
if 0 == failed_case_num:
return "All cases passed"
else:
return stdout.decode()
def send_notice():
if check_build_failed():
send_msg("Build failed", "arm64_ci_test", "charles", "ecs-3e78", "/home/arm64/log", "arm 64 ci build failed")
run_res = check_run_case_status()
if "All cases passed" != run_res:
send_msg(run_res, "arm64_ci_test", "charles", "ecs-3e78", "/home/arm64/log", "arm 64 ci run case failed")
if __name__ == '__main__':
send_notice()