ci(ariadne): wait for refreshed sonar gate
This commit is contained in:
parent
38327e36e6
commit
82780651f7
20
Jenkinsfile
vendored
20
Jenkinsfile
vendored
@ -246,6 +246,7 @@ project_key = os.getenv('SONARQUBE_PROJECT_KEY', '').strip()
|
|||||||
token = os.getenv('SONARQUBE_TOKEN', '').strip()
|
token = os.getenv('SONARQUBE_TOKEN', '').strip()
|
||||||
report_path = os.getenv('QUALITY_GATE_SONARQUBE_REPORT', 'build/sonarqube-quality-gate.json')
|
report_path = os.getenv('QUALITY_GATE_SONARQUBE_REPORT', 'build/sonarqube-quality-gate.json')
|
||||||
payload = {"status": "ERROR", "note": "missing SONARQUBE_HOST_URL and/or SONARQUBE_PROJECT_KEY"}
|
payload = {"status": "ERROR", "note": "missing SONARQUBE_HOST_URL and/or SONARQUBE_PROJECT_KEY"}
|
||||||
|
analysis_id = ""
|
||||||
if host and project_key:
|
if host and project_key:
|
||||||
query = urllib.parse.urlencode({"projectKey": project_key})
|
query = urllib.parse.urlencode({"projectKey": project_key})
|
||||||
request = urllib.request.Request(f"{host}/api/qualitygates/project_status?{query}", method="GET")
|
request = urllib.request.Request(f"{host}/api/qualitygates/project_status?{query}", method="GET")
|
||||||
@ -436,7 +437,17 @@ def request_json(url: str) -> dict:
|
|||||||
|
|
||||||
|
|
||||||
if host and project_key:
|
if host and project_key:
|
||||||
task_path = os.path.join('build', '.scannerwork', 'report-task.txt')
|
task_path = next(
|
||||||
|
(
|
||||||
|
candidate
|
||||||
|
for candidate in (
|
||||||
|
os.path.join('.scannerwork', 'report-task.txt'),
|
||||||
|
os.path.join('build', '.scannerwork', 'report-task.txt'),
|
||||||
|
)
|
||||||
|
if os.path.exists(candidate)
|
||||||
|
),
|
||||||
|
"",
|
||||||
|
)
|
||||||
if os.path.exists(task_path):
|
if os.path.exists(task_path):
|
||||||
ce_task_id = ""
|
ce_task_id = ""
|
||||||
with open(task_path, encoding="utf-8") as handle:
|
with open(task_path, encoding="utf-8") as handle:
|
||||||
@ -449,10 +460,13 @@ if host and project_key:
|
|||||||
break
|
break
|
||||||
query = urllib.parse.urlencode({"id": ce_task_id})
|
query = urllib.parse.urlencode({"id": ce_task_id})
|
||||||
task = request_json(f"{host}/api/ce/task?{query}").get("task", {})
|
task = request_json(f"{host}/api/ce/task?{query}").get("task", {})
|
||||||
if task.get("status") in {"SUCCESS", "FAILED", "CANCELED"}:
|
if task.get("status") == "SUCCESS":
|
||||||
|
analysis_id = str(task.get("analysisId") or "")
|
||||||
|
break
|
||||||
|
if task.get("status") in {"FAILED", "CANCELED"}:
|
||||||
break
|
break
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
query = urllib.parse.urlencode({"projectKey": project_key})
|
query = urllib.parse.urlencode({"analysisId": analysis_id} if analysis_id else {"projectKey": project_key})
|
||||||
try:
|
try:
|
||||||
payload = request_json(f"{host}/api/qualitygates/project_status?{query}")
|
payload = request_json(f"{host}/api/qualitygates/project_status?{query}")
|
||||||
except Exception as exc: # noqa: BLE001
|
except Exception as exc: # noqa: BLE001
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user