Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
@click.command("build", context_settings=get_context_settings())
@click.option(
"--dist-git-branch",
help="Comma separated list of target branches in dist-git to release into. "
"(defaults to 'master')",
default="master",
)
@click.option(
"--dist-git-path",
help="Path to dist-git repo to work in. "
"Otherwise clone the repo in a temporary directory.",
)
@click.option(
"--from-upstream",
help="Build the project in koji directly from the upstream repository",
is_flag=True,
default=False,
@click.command("srpm", context_settings=get_context_settings())
@click.option("--dest-dir")
@click.option("--upstream-ref")
@click.option("--version")
@click.argument("repo", default=os.path.abspath(os.path.curdir))
@pass_config
@cover_packit_exception
def sg2srpm(config, dest_dir, upstream_ref, version, repo):
"""
Generate a srpm from packit.
This script is meant to accept a source git repo with a branch as an input and produce a SRPM.
It is expected to do this:
1. clone the repo
@click.command("sg2dg", context_settings=get_context_settings())
@click.option("--dest-dir")
@click.option("--no-new-sources", is_flag=True)
@click.option("--upstream-ref")
@click.option("--version")
@click.argument("repo", default=os.path.abspath(os.path.curdir))
@pass_config
@cover_packit_exception
def sg2dg(config, dest_dir, no_new_sources, upstream_ref, version, repo):
"""
Convert source-git repo to dist-git repo.
1. Create tarball from the source git repo.
2. Create patches from the downstream commits.
3. Copy the redhat/ dir to the dist-git.
@click.command("validate-config", context_settings=get_context_settings())
@click.argument("path_or_url", type=LocalProjectParameter(), default=os.path.curdir)
@cover_packit_exception
def validate_config(path_or_url: LocalProject):
"""
Validate PackageConfig validation.
\b
- checks missing values
- checks incorrect types
PATH_OR_URL argument is a local path or a URL to a git repository with packit configuration file
"""
# we use PackageConfig.load_from_dict for the validation, hence we don't parse it here
output = PackitAPI.validate_package_config(Path(path_or_url.working_dir))
logger.info(output)
# TODO: print more if config.debug
@click.command("propose-update", context_settings=get_context_settings())
@click.option(
"--dist-git-branch",
help="Comma separated list of target branches in dist-git to release into. "
"(defaults to 'master')",
default="master",
)
@click.option(
"--dist-git-path",
help="Path to dist-git repo to work in. "
"Otherwise clone the repo in a temporary directory.",
)
@click.option(
"--local-content",
is_flag=True,
default=False,
help="Do not checkout release tag. Use the current state of the repo.",
@click.command("srpm", context_settings=get_context_settings())
@click.option(
"--output", metavar="FILE", help="Write the SRPM to FILE instead of current dir."
)
@click.option(
"--remote",
default=None,
help=(
"Name of the remote to discover upstream project URL, "
"If this is not specified, default to origin."
),
)
@click.option(
"--upstream-ref",
default=None,
help="Git ref of the last upstream commit in the current branch "
"from which packit should generate patches "
@click.command("create-update", context_settings=get_context_settings())
@click.option(
"--dist-git-branch",
help="Comma separated list of target branches in dist-git to create bodhi update in. "
"(defaults to 'master')",
default="master",
)
@click.option(
"--koji-build",
help="Koji build (NVR) to add to the bodhi update (can be specified multiple times)",
required=False,
multiple=True,
)
# It would make sense to open an editor here,
# just like `git commit` and get notes like that
@click.option(
"--update-notes",
@click.command("watch-fedora-ci", context_settings=get_context_settings())
@click.argument("message_id", nargs=-1, required=False)
@pass_config
@cover_packit_exception
def watcher(config, message_id):
"""
Watch for flags on PRs: try to process those which we know mapping for
:return: int, retcode
"""
api = PackitAPI(config)
if message_id:
for msg_id in message_id:
fedmsg_dict = api.fetch_fedmsg_dict(msg_id)
api.process_ci_result(fedmsg_dict)
return
@click.command("local-build", context_settings=get_context_settings())
@click.option(
"--remote",
default=None,
help=(
"Name of the remote to discover upstream project URL, "
"If this is not specified, default to origin."
),
)
@click.option(
"--upstream-ref",
default=None,
help="Git ref of the last upstream commit in the current branch "
"from which packit should generate patches "
"(this option implies the repository is source-git).",
)
@click.argument(
@click.group("packit", cls=AliasedGroup, context_settings=get_context_settings())
@click.option("-d", "--debug", is_flag=True, help="Enable debug logs.")
@click.option("--fas-user", help="Fedora Account System username.")
@click.option("-k", "--keytab", help="Path to FAS keytab file.")
@click.option(
"--dry-run",
is_flag=True,
help="Do not perform any remote changes (pull requests or comments).",
)
@click.version_option(
version=get_distribution("packitos").version, message="%(version)s"
)
@click.pass_context
def packit_base(ctx, debug, fas_user, keytab, dry_run):
"""Integrate upstream open source projects into Fedora operating system."""
if debug:
# to be able to logger.debug() also in get_user_config()