in bot/code_coverage_bot/cli.py [0:0]
def setup_cli(ask_repository=True, ask_revision=True):
"""
Setup CLI options parser and taskcluster bootstrap
"""
parser = argparse.ArgumentParser(description="Mozilla Code Coverage Bot")
if ask_repository:
parser.add_argument("--repository", default=os.environ.get("REPOSITORY"))
if ask_revision:
parser.add_argument("--revision", default=os.environ.get("REVISION"))
parser.add_argument(
"--cache-root", required=True, help="Cache root, used to pull changesets"
)
parser.add_argument(
"--working-dir",
required=True,
help="Working dir to download artifacts and build reports",
)
parser.add_argument(
"--task-name-filter",
default="*",
help="Filter Taskcluster tasks using a glob expression",
)
parser.add_argument(
"--taskcluster-secret",
help="Taskcluster Secret path",
default=os.environ.get("TASKCLUSTER_SECRET"),
)
parser.add_argument(
"--local-configuration",
help="Path to a local YAML configuration file",
type=open,
)
parser.add_argument("--taskcluster-client-id", help="Taskcluster Client ID")
parser.add_argument("--taskcluster-access-token", help="Taskcluster Access token")
args = parser.parse_args()
# Auth on Taskcluster
taskcluster_config.auth(args.taskcluster_client_id, args.taskcluster_access_token)
# Then load secrets
secrets.load(
args.taskcluster_secret,
local_secrets=yaml.safe_load(args.local_configuration)
if args.local_configuration
else None,
)
init_logger(
"bot",
channel=secrets.get("APP_CHANNEL", "dev"),
PAPERTRAIL_HOST=secrets.get("PAPERTRAIL_HOST"),
PAPERTRAIL_PORT=secrets.get("PAPERTRAIL_PORT"),
SENTRY_DSN=secrets.get("SENTRY_DSN"),
)
return args