Commit 0c8f7e29 authored by Zeyi (Rice) Fan's avatar Zeyi (Rice) Fan Committed by Facebook GitHub Bot

add support to custom main branch name

Summary: This diff adds support to customize main branch name when generating GitHub Actions.

Differential Revision: D30679305

fbshipit-source-id: 0fc7eb1c97c27e2b42e60cc1ab69a48ab93b93fa
parent 60d9f5d7
...@@ -772,13 +772,6 @@ class TestCmd(ProjectCmdBase): ...@@ -772,13 +772,6 @@ class TestCmd(ProjectCmdBase):
@cmd("generate-github-actions", "generate a GitHub actions configuration") @cmd("generate-github-actions", "generate a GitHub actions configuration")
class GenerateGitHubActionsCmd(ProjectCmdBase): class GenerateGitHubActionsCmd(ProjectCmdBase):
RUN_ON_ALL = """ [push, pull_request]""" RUN_ON_ALL = """ [push, pull_request]"""
RUN_ON_DEFAULT = """
push:
branches:
- master
pull_request:
branches:
- master"""
def run_project_cmd(self, args, loader, manifest): def run_project_cmd(self, args, loader, manifest):
platforms = [ platforms = [
...@@ -790,6 +783,17 @@ class GenerateGitHubActionsCmd(ProjectCmdBase): ...@@ -790,6 +783,17 @@ class GenerateGitHubActionsCmd(ProjectCmdBase):
for p in platforms: for p in platforms:
self.write_job_for_platform(p, args) self.write_job_for_platform(p, args)
def get_run_on(self, args):
if args.run_on_all_branches:
return self.RUN_ON_ALL
return f"""
push:
branches:
- {args.main_branch}
pull_request:
branches:
- {args.main_branch}"""
# TODO: Break up complex function # TODO: Break up complex function
def write_job_for_platform(self, platform, args): # noqa: C901 def write_job_for_platform(self, platform, args): # noqa: C901
build_opts = setup_build_options(args, platform) build_opts = setup_build_options(args, platform)
...@@ -797,7 +801,7 @@ class GenerateGitHubActionsCmd(ProjectCmdBase): ...@@ -797,7 +801,7 @@ class GenerateGitHubActionsCmd(ProjectCmdBase):
loader = ManifestLoader(build_opts, ctx_gen) loader = ManifestLoader(build_opts, ctx_gen)
manifest = loader.load_manifest(args.project) manifest = loader.load_manifest(args.project)
manifest_ctx = loader.ctx_gen.get_context(manifest.name) manifest_ctx = loader.ctx_gen.get_context(manifest.name)
run_on = self.RUN_ON_ALL if args.run_on_all_branches else self.RUN_ON_DEFAULT run_on = self.get_run_on(args)
# Some projects don't do anything "useful" as a leaf project, only # Some projects don't do anything "useful" as a leaf project, only
# as a dep for a leaf project. Check for those here; we don't want # as a dep for a leaf project. Check for those here; we don't want
...@@ -945,6 +949,11 @@ jobs: ...@@ -945,6 +949,11 @@ jobs:
parser.add_argument( parser.add_argument(
"--ubuntu-version", default="18.04", help="Version of Ubuntu to use" "--ubuntu-version", default="18.04", help="Version of Ubuntu to use"
) )
parser.add_argument(
"--main-branch",
default="master",
help="Main branch to trigger GitHub Action on",
)
def get_arg_var_name(args): def get_arg_var_name(args):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment