mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-21 05:34:18 +08:00
Run Black on all of tools/
Signed-off-by: Edward Z. Yang <ezyangfb.com> Pull Request resolved: https://github.com/pytorch/pytorch/pull/76089 Approved by: https://github.com/albanD
This commit is contained in:
committed by
PyTorch MergeBot
parent
ae864d4fb9
commit
a11c1bbdd0
@ -18,84 +18,85 @@ class Script(TypedDict):
|
||||
|
||||
|
||||
def extract(step: Step) -> Optional[Script]:
|
||||
run = step.get('run')
|
||||
run = step.get("run")
|
||||
|
||||
# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#using-a-specific-shell
|
||||
shell = step.get('shell', 'bash')
|
||||
shell = step.get("shell", "bash")
|
||||
extension = {
|
||||
'bash': '.sh',
|
||||
'pwsh': '.ps1',
|
||||
'python': '.py',
|
||||
'sh': '.sh',
|
||||
'cmd': '.cmd',
|
||||
'powershell': '.ps1',
|
||||
"bash": ".sh",
|
||||
"pwsh": ".ps1",
|
||||
"python": ".py",
|
||||
"sh": ".sh",
|
||||
"cmd": ".cmd",
|
||||
"powershell": ".ps1",
|
||||
}.get(shell)
|
||||
|
||||
is_gh_script = step.get('uses', '').startswith('actions/github-script@')
|
||||
gh_script = step.get('with', {}).get('script')
|
||||
is_gh_script = step.get("uses", "").startswith("actions/github-script@")
|
||||
gh_script = step.get("with", {}).get("script")
|
||||
|
||||
if run is not None and extension is not None:
|
||||
script = {
|
||||
'bash': f'#!/usr/bin/env bash\nset -eo pipefail\n{run}',
|
||||
'sh': f'#!/usr/bin/env sh\nset -e\n{run}',
|
||||
"bash": f"#!/usr/bin/env bash\nset -eo pipefail\n{run}",
|
||||
"sh": f"#!/usr/bin/env sh\nset -e\n{run}",
|
||||
}.get(shell, run)
|
||||
return {'extension': extension, 'script': script}
|
||||
return {"extension": extension, "script": script}
|
||||
elif is_gh_script and gh_script is not None:
|
||||
return {'extension': '.js', 'script': gh_script}
|
||||
return {"extension": ".js", "script": gh_script}
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--out', required=True)
|
||||
parser.add_argument("--out", required=True)
|
||||
args = parser.parse_args()
|
||||
|
||||
out = Path(args.out)
|
||||
if out.exists():
|
||||
sys.exit(f'{out} already exists; aborting to avoid overwriting')
|
||||
sys.exit(f"{out} already exists; aborting to avoid overwriting")
|
||||
|
||||
gha_expressions_found = False
|
||||
|
||||
for p in Path('.github/workflows').iterdir():
|
||||
for p in Path(".github/workflows").iterdir():
|
||||
with open(p, "rb") as f:
|
||||
workflow = yaml.safe_load(f)
|
||||
|
||||
for job_name, job in workflow['jobs'].items():
|
||||
for job_name, job in workflow["jobs"].items():
|
||||
job_dir = out / p / job_name
|
||||
if "steps" not in job:
|
||||
continue
|
||||
steps = job['steps']
|
||||
steps = job["steps"]
|
||||
index_chars = len(str(len(steps) - 1))
|
||||
for i, step in enumerate(steps, start=1):
|
||||
extracted = extract(step)
|
||||
if extracted:
|
||||
script = extracted['script']
|
||||
step_name = step.get('name', '')
|
||||
if '${{' in script:
|
||||
script = extracted["script"]
|
||||
step_name = step.get("name", "")
|
||||
if "${{" in script:
|
||||
gha_expressions_found = True
|
||||
print(
|
||||
f'{p} job `{job_name}` step {i}: {step_name}',
|
||||
file=sys.stderr
|
||||
f"{p} job `{job_name}` step {i}: {step_name}",
|
||||
file=sys.stderr,
|
||||
)
|
||||
|
||||
job_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
sanitized = re.sub(
|
||||
'[^a-zA-Z_]+', '_',
|
||||
f'_{step_name}',
|
||||
).rstrip('_')
|
||||
extension = extracted['extension']
|
||||
filename = f'{i:0{index_chars}}{sanitized}{extension}'
|
||||
"[^a-zA-Z_]+",
|
||||
"_",
|
||||
f"_{step_name}",
|
||||
).rstrip("_")
|
||||
extension = extracted["extension"]
|
||||
filename = f"{i:0{index_chars}}{sanitized}{extension}"
|
||||
(job_dir / filename).write_text(script)
|
||||
|
||||
if gha_expressions_found:
|
||||
sys.exit(
|
||||
'Each of the above scripts contains a GitHub Actions '
|
||||
'${{ <expression> }} which must be replaced with an `env` variable'
|
||||
' for security reasons.'
|
||||
"Each of the above scripts contains a GitHub Actions "
|
||||
"${{ <expression> }} which must be replaced with an `env` variable"
|
||||
" for security reasons."
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
Reference in New Issue
Block a user