| #!/usr/bin/env python3 | |
| import os | |
| import re | |
| def set_output(name: str, val: str) -> None: | |
| if os.getenv("GITHUB_OUTPUT"): | |
| with open(str(os.getenv("GITHUB_OUTPUT")), "a") as env: | |
| print(f"{name}={val}", file=env) | |
| else: | |
| print(f"::set-output name={name}::{val}") | |
| def main() -> None: | |
| ref = os.environ["GITHUB_REF"] | |
| m = re.match(r'^refs/(\w+)/(.*)$', ref) | |
| if m: | |
| category, stripped = m.groups() | |
| if category == "heads": | |
| set_output("branch", stripped) | |
| elif category == "pull": | |
| set_output("branch", "pull/" + stripped.split("/")[0]) | |
| elif category == "tags": | |
| set_output("tag", stripped) | |
| if __name__ == "__main__": | |
| main() |