Skip to content

Commit b048f9d

Browse files
committed
Misc: Allow specifying SHA directly to script
1 parent e3fc6d6 commit b048f9d

File tree

1 file changed

+23
-9
lines changed

1 file changed

+23
-9
lines changed

misc/scripts/accept-expected-changes-from-ci.py

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -221,11 +221,18 @@ def get_log_content(status: GithubStatus) -> str:
221221
return content
222222

223223

224-
def main(pr_number: int):
225-
LOGGER.info(f"Getting status URL for codeql PR #{pr_number}")
226-
github_sha = subprocess.check_output(
227-
["gh", "api", f"repos/github/codeql/pulls/{pr_number}", "--jq", ".head.sha"]
228-
).decode("utf-8").strip()
224+
def main(pr_number: Optional[int], sha_override: Optional[str] = None):
225+
if not pr_number and not sha_override:
226+
raise Exception("Must specify either a PR number or a SHA")
227+
228+
if sha_override:
229+
github_sha = sha_override
230+
else:
231+
LOGGER.info(f"Getting status URL for codeql PR #{pr_number}")
232+
github_sha = subprocess.check_output(
233+
["gh", "api", f"repos/github/codeql/pulls/{pr_number}", "--jq", ".head.sha"]
234+
).decode("utf-8").strip()
235+
229236
local_sha = subprocess.check_output(
230237
["git", "rev-parse", "HEAD"]
231238
).decode("utf-8").strip()
@@ -411,15 +418,22 @@ def ok_job_name(job_name: str) -> bool:
411418
if semmle_code_changed:
412419
print("Expected output in semmle-code changed!")
413420

414-
def get_pr_number() -> int:
421+
422+
def call_main():
423+
pr_number = None
424+
override_sha = None
415425
if len(sys.argv) < 2:
416426
pr_number_response = subprocess.check_output([
417427
"gh", "pr", "view", "--json", "number"
418428
]).decode("utf-8")
419429

420-
return json.loads(pr_number_response)["number"]
430+
pr_number = json.loads(pr_number_response)["number"]
421431
else:
422-
return int(sys.argv[1])
432+
if len(sys.argv[1]) > 10:
433+
override_sha = sys.argv[1]
434+
else:
435+
pr_number = int(sys.argv[1])
436+
main(pr_number, override_sha)
423437

424438

425439
if __name__ == "__main__":
@@ -443,4 +457,4 @@ def get_pr_number() -> int:
443457
sys.exit(1)
444458

445459
os.chdir(CODEQL_REPO_DIR)
446-
main(get_pr_number())
460+
call_main()

0 commit comments

Comments
 (0)