| 1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/usr/bin/env python
- # internal use only
- # called by CI jobs when it uses a project related to IDF
- import os
- import json
- import argparse
- import subprocess
- def checkout_branch(proj_name, customized_revision, default_ref_name):
- try:
- ref_to_use = customized_revision[proj_name.lower()]
- except (KeyError, TypeError):
- ref_to_use = default_ref_name
- try:
- subprocess.check_call(["git", "checkout", ref_to_use])
- print("CI using ref {} for project {}".format(ref_to_use, proj_name))
- except subprocess.CalledProcessError:
- print("using default branch")
- if __name__ == "__main__":
- parser = argparse.ArgumentParser()
- parser.add_argument("project",
- help="the name of project")
- args = parser.parse_args()
- project_name = args.project
- customized_project_revisions = os.getenv("BOT_CUSTOMIZED_REVISION")
- if customized_project_revisions:
- customized_project_revisions = json.loads(customized_project_revisions)
- ci_ref_name = os.getenv("CI_COMMIT_REF_NAME")
- checkout_branch(project_name, customized_project_revisions, ci_ref_name)
|