Merge pull request #15077 from Homebrew/new-merge-flow
dev-cmd/pr-*: support merge workflow changes
This commit is contained in:
commit
69b0243222
@ -23,11 +23,14 @@ module Homebrew
|
|||||||
description: "Pull requests must have this label."
|
description: "Pull requests must have this label."
|
||||||
comma_array "--without-labels",
|
comma_array "--without-labels",
|
||||||
description: "Pull requests must not have these labels (default: " \
|
description: "Pull requests must not have these labels (default: " \
|
||||||
"`do not merge`, `new formula`, `automerge-skip`)."
|
"`do not merge`, `new formula`, `automerge-skip`, `CI-published-bottle-commits`)."
|
||||||
switch "--without-approval",
|
switch "--without-approval",
|
||||||
description: "Pull requests do not require approval to be merged."
|
description: "Pull requests do not require approval to be merged."
|
||||||
switch "--publish",
|
switch "--publish",
|
||||||
description: "Run `brew pr-publish` on matching pull requests."
|
description: "Run `brew pr-publish` on matching pull requests."
|
||||||
|
switch "--autosquash",
|
||||||
|
description: "Instruct `brew pr-publish` to automatically reformat and reword commits " \
|
||||||
|
"in the pull request to the preferred format."
|
||||||
switch "--no-autosquash",
|
switch "--no-autosquash",
|
||||||
description: "Instruct `brew pr-publish` to skip automatically reformatting and rewording commits " \
|
description: "Instruct `brew pr-publish` to skip automatically reformatting and rewording commits " \
|
||||||
"in the pull request to the preferred format."
|
"in the pull request to the preferred format."
|
||||||
@ -41,10 +44,13 @@ module Homebrew
|
|||||||
def pr_automerge
|
def pr_automerge
|
||||||
args = pr_automerge_args.parse
|
args = pr_automerge_args.parse
|
||||||
|
|
||||||
|
odeprecated "`brew pr-publish --no-autosquash`" if args.no_autosquash?
|
||||||
|
|
||||||
without_labels = args.without_labels || [
|
without_labels = args.without_labels || [
|
||||||
"do not merge",
|
"do not merge",
|
||||||
"new formula",
|
"new formula",
|
||||||
"automerge-skip",
|
"automerge-skip",
|
||||||
|
"CI-published-bottle-commits",
|
||||||
]
|
]
|
||||||
tap = Tap.fetch(args.tap || CoreTap.instance.name)
|
tap = Tap.fetch(args.tap || CoreTap.instance.name)
|
||||||
|
|
||||||
@ -68,10 +74,10 @@ module Homebrew
|
|||||||
pr_urls << pr["html_url"]
|
pr_urls << pr["html_url"]
|
||||||
end
|
end
|
||||||
|
|
||||||
publish_args = ["pr-publish"]
|
publish_args = ["pr-publish", "--commit-bottles-to-pr-branch"]
|
||||||
publish_args << "--tap=#{tap}" if tap
|
publish_args << "--tap=#{tap}" if tap
|
||||||
publish_args << "--workflow=#{args.workflow}" if args.workflow
|
publish_args << "--workflow=#{args.workflow}" if args.workflow
|
||||||
publish_args << "--no-autosquash" if args.no_autosquash?
|
publish_args << "--autosquash" if args.autosquash?
|
||||||
if args.publish?
|
if args.publish?
|
||||||
safe_system HOMEBREW_BREW_FILE, *publish_args, *pr_urls
|
safe_system HOMEBREW_BREW_FILE, *publish_args, *pr_urls
|
||||||
else
|
else
|
||||||
|
|||||||
@ -16,20 +16,26 @@ module Homebrew
|
|||||||
Publish bottles for a pull request with GitHub Actions.
|
Publish bottles for a pull request with GitHub Actions.
|
||||||
Requires write access to the repository.
|
Requires write access to the repository.
|
||||||
EOS
|
EOS
|
||||||
|
switch "--commit-bottles-to-pr-branch",
|
||||||
|
description: "Push bottle commits to the pull request branch."
|
||||||
|
switch "--autosquash",
|
||||||
|
description: "If supported on the target tap, automatically reformat and reword commits " \
|
||||||
|
"to our preferred format."
|
||||||
switch "--no-autosquash",
|
switch "--no-autosquash",
|
||||||
description: "Skip automatically reformatting and rewording commits in the pull request " \
|
description: "Skip automatically reformatting and rewording commits in the pull request " \
|
||||||
"to the preferred format, even if supported on the target tap."
|
"to the preferred format, even if supported on the target tap."
|
||||||
|
switch "--large-runner",
|
||||||
|
description: "Run the upload job on a large runner."
|
||||||
flag "--branch=",
|
flag "--branch=",
|
||||||
description: "Branch to publish to (default: `master`)."
|
description: "Branch to use the workflow from (default: `master`)."
|
||||||
flag "--message=",
|
flag "--message=",
|
||||||
|
depends_on: "--autosquash",
|
||||||
description: "Message to include when autosquashing revision bumps, deletions, and rebuilds."
|
description: "Message to include when autosquashing revision bumps, deletions, and rebuilds."
|
||||||
flag "--tap=",
|
flag "--tap=",
|
||||||
description: "Target tap repository (default: `homebrew/core`)."
|
description: "Target tap repository (default: `homebrew/core`)."
|
||||||
flag "--workflow=",
|
flag "--workflow=",
|
||||||
description: "Target workflow filename (default: `publish-commit-bottles.yml`)."
|
description: "Target workflow filename (default: `publish-commit-bottles.yml`)."
|
||||||
|
|
||||||
conflicts "--no-autosquash", "--message"
|
|
||||||
|
|
||||||
named_args :pull_request, min: 1
|
named_args :pull_request, min: 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -37,26 +43,39 @@ module Homebrew
|
|||||||
def pr_publish
|
def pr_publish
|
||||||
args = pr_publish_args.parse
|
args = pr_publish_args.parse
|
||||||
|
|
||||||
|
odeprecated "`brew pr-publish --no-autosquash`" if args.no_autosquash?
|
||||||
|
|
||||||
tap = Tap.fetch(args.tap || CoreTap.instance.name)
|
tap = Tap.fetch(args.tap || CoreTap.instance.name)
|
||||||
workflow = args.workflow || "publish-commit-bottles.yml"
|
workflow = args.workflow || "publish-commit-bottles.yml"
|
||||||
ref = args.branch || "master"
|
ref = args.branch || "master"
|
||||||
|
|
||||||
extra_args = []
|
inputs = {
|
||||||
extra_args << "--no-autosquash" if args.no_autosquash?
|
commit_bottles_to_pr_branch: args.commit_bottles_to_pr_branch?,
|
||||||
extra_args << "--message='#{args.message}'" if args.message.presence
|
autosquash: args.autosquash?,
|
||||||
dispatch_args = extra_args.join " "
|
large_runner: args.large_runner?,
|
||||||
|
}
|
||||||
|
inputs[:message] = args.message if args.message.presence
|
||||||
|
|
||||||
args.named.uniq.each do |arg|
|
args.named.uniq.each do |arg|
|
||||||
arg = "#{tap.default_remote}/pull/#{arg}" if arg.to_i.positive?
|
arg = "#{tap.default_remote}/pull/#{arg}" if arg.to_i.positive?
|
||||||
url_match = arg.match HOMEBREW_PULL_OR_COMMIT_URL_REGEX
|
url_match = arg.match HOMEBREW_PULL_OR_COMMIT_URL_REGEX
|
||||||
_, user, repo, issue = *url_match
|
_, user, repo, issue = *url_match
|
||||||
odie "Not a GitHub pull request: #{arg}" unless issue
|
odie "Not a GitHub pull request: #{arg}" unless issue
|
||||||
|
|
||||||
|
inputs[:pull_request] = issue
|
||||||
|
|
||||||
|
pr_labels = GitHub.pull_request_labels(user, repo, issue)
|
||||||
|
if pr_labels.include?("autosquash")
|
||||||
|
oh1 "Found `autosquash` label on ##{issue}. Requesting autosquash."
|
||||||
|
inputs[:autosquash] = true
|
||||||
|
end
|
||||||
|
|
||||||
if args.tap.present? && !T.must("#{user}/#{repo}".casecmp(tap.full_name)).zero?
|
if args.tap.present? && !T.must("#{user}/#{repo}".casecmp(tap.full_name)).zero?
|
||||||
odie "Pull request URL is for #{user}/#{repo} but `--tap=#{tap.full_name}` was specified!"
|
odie "Pull request URL is for #{user}/#{repo} but `--tap=#{tap.full_name}` was specified!"
|
||||||
end
|
end
|
||||||
|
|
||||||
ohai "Dispatching #{tap} pull request ##{issue}"
|
ohai "Dispatching #{tap} pull request ##{issue}"
|
||||||
GitHub.workflow_dispatch_event(user, repo, workflow, ref, pull_request: issue, args: dispatch_args)
|
GitHub.workflow_dispatch_event(user, repo, workflow, ref, inputs)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -27,11 +27,13 @@ module Homebrew
|
|||||||
switch "-n", "--dry-run",
|
switch "-n", "--dry-run",
|
||||||
description: "Print what would be done rather than doing it."
|
description: "Print what would be done rather than doing it."
|
||||||
switch "--clean",
|
switch "--clean",
|
||||||
depends_on: "--no-autosquash",
|
|
||||||
description: "Do not amend the commits from pull requests."
|
description: "Do not amend the commits from pull requests."
|
||||||
switch "--keep-old",
|
switch "--keep-old",
|
||||||
description: "If the formula specifies a rebuild version, " \
|
description: "If the formula specifies a rebuild version, " \
|
||||||
"attempt to preserve its value in the generated DSL."
|
"attempt to preserve its value in the generated DSL."
|
||||||
|
switch "--autosquash",
|
||||||
|
description: "Automatically reformat and reword commits in the pull request to our " \
|
||||||
|
"preferred format."
|
||||||
switch "--no-autosquash",
|
switch "--no-autosquash",
|
||||||
description: "Skip automatically reformatting and rewording commits in the pull request to our " \
|
description: "Skip automatically reformatting and rewording commits in the pull request to our " \
|
||||||
"preferred format."
|
"preferred format."
|
||||||
@ -46,6 +48,7 @@ module Homebrew
|
|||||||
flag "--committer=",
|
flag "--committer=",
|
||||||
description: "Specify a committer name and email in `git`'s standard author format."
|
description: "Specify a committer name and email in `git`'s standard author format."
|
||||||
flag "--message=",
|
flag "--message=",
|
||||||
|
depends_on: "--autosquash",
|
||||||
description: "Message to include when autosquashing revision bumps, deletions, and rebuilds."
|
description: "Message to include when autosquashing revision bumps, deletions, and rebuilds."
|
||||||
flag "--artifact=",
|
flag "--artifact=",
|
||||||
description: "Download artifacts with the specified name (default: `bottles`)."
|
description: "Download artifacts with the specified name (default: `bottles`)."
|
||||||
@ -62,7 +65,7 @@ module Homebrew
|
|||||||
comma_array "--ignore-missing-artifacts",
|
comma_array "--ignore-missing-artifacts",
|
||||||
description: "Comma-separated list of workflows which can be ignored if they have not been run."
|
description: "Comma-separated list of workflows which can be ignored if they have not been run."
|
||||||
|
|
||||||
conflicts "--no-autosquash", "--message"
|
conflicts "--clean", "--autosquash"
|
||||||
|
|
||||||
named_args :pull_request, min: 1
|
named_args :pull_request, min: 1
|
||||||
end
|
end
|
||||||
@ -223,7 +226,8 @@ module Homebrew
|
|||||||
ohai bump_subject
|
ohai bump_subject
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.autosquash!(original_commit, tap:, reason: "", verbose: false, resolve: false)
|
# TODO: fix test in `test/dev-cmd/pr-pull_spec.rb` and assume `cherry_picked: false`.
|
||||||
|
def self.autosquash!(original_commit, tap:, reason: "", verbose: false, resolve: false, cherry_picked: true)
|
||||||
original_head = tap.path.git_head
|
original_head = tap.path.git_head
|
||||||
|
|
||||||
commits = Utils.safe_popen_read("git", "-C", tap.path, "rev-list",
|
commits = Utils.safe_popen_read("git", "-C", tap.path, "rev-list",
|
||||||
@ -282,9 +286,9 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
rescue
|
rescue
|
||||||
opoo "Autosquash encountered an error; resetting to original cherry-picked state at #{original_head}"
|
opoo "Autosquash encountered an error; resetting to original state at #{original_head}"
|
||||||
system "git", "-C", tap.path, "reset", "--hard", original_head
|
system "git", "-C", tap.path, "reset", "--hard", original_head
|
||||||
system "git", "-C", tap.path, "cherry-pick", "--abort"
|
system "git", "-C", tap.path, "cherry-pick", "--abort" if cherry_picked
|
||||||
raise
|
raise
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -304,11 +308,9 @@ module Homebrew
|
|||||||
Utils::Git.cherry_pick!(path, "--ff", "--allow-empty", *commits, verbose: args.verbose?, resolve: args.resolve?)
|
Utils::Git.cherry_pick!(path, "--ff", "--allow-empty", *commits, verbose: args.verbose?, resolve: args.resolve?)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.formulae_need_bottles?(tap, original_commit, user, repo, pull_request, args:)
|
def self.formulae_need_bottles?(tap, original_commit, labels, args:)
|
||||||
return if args.dry_run?
|
return if args.dry_run?
|
||||||
|
|
||||||
labels = GitHub.pull_request_labels(user, repo, pull_request)
|
|
||||||
|
|
||||||
return false if labels.include?("CI-syntax-only") || labels.include?("CI-no-bottles")
|
return false if labels.include?("CI-syntax-only") || labels.include?("CI-no-bottles")
|
||||||
|
|
||||||
changed_packages(tap, original_commit).any? do |f|
|
changed_packages(tap, original_commit).any? do |f|
|
||||||
@ -424,6 +426,8 @@ module Homebrew
|
|||||||
def self.pr_pull
|
def self.pr_pull
|
||||||
args = pr_pull_args.parse
|
args = pr_pull_args.parse
|
||||||
|
|
||||||
|
odeprecated "`brew pr-pull --no-autosquash`" if args.no_autosquash?
|
||||||
|
|
||||||
# Needed when extracting the CI artifact.
|
# Needed when extracting the CI artifact.
|
||||||
ensure_executable!("unzip", reason: "extracting CI artifacts")
|
ensure_executable!("unzip", reason: "extracting CI artifacts")
|
||||||
|
|
||||||
@ -450,6 +454,11 @@ module Homebrew
|
|||||||
opoo "Current branch is #{tap.path.git_branch}: do you need to pull inside #{tap.path.git_origin_branch}?"
|
opoo "Current branch is #{tap.path.git_branch}: do you need to pull inside #{tap.path.git_origin_branch}?"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
pr_labels = GitHub.pull_request_labels(user, repo, pr)
|
||||||
|
if pr_labels.include?("autosquash") && !args.autosquash?
|
||||||
|
opoo "Pull request is labelled `autosquash`: do you need to pass `--autosquash`?"
|
||||||
|
end
|
||||||
|
|
||||||
pr_check_conflicts("#{user}/#{repo}", pr)
|
pr_check_conflicts("#{user}/#{repo}", pr)
|
||||||
|
|
||||||
ohai "Fetching #{tap} pull request ##{pr}"
|
ohai "Fetching #{tap} pull request ##{pr}"
|
||||||
@ -462,17 +471,18 @@ module Homebrew
|
|||||||
else
|
else
|
||||||
current_branch_head
|
current_branch_head
|
||||||
end
|
end
|
||||||
|
odebug "Pull request merge-base: #{original_commit}"
|
||||||
|
|
||||||
unless args.no_commit?
|
unless args.no_commit?
|
||||||
cherry_pick_pr!(user, repo, pr, path: tap.path, args: args) unless args.no_cherry_pick?
|
cherry_pick_pr!(user, repo, pr, path: tap.path, args: args) unless args.no_cherry_pick?
|
||||||
if !args.no_autosquash? && !args.dry_run?
|
if args.autosquash? && !args.dry_run?
|
||||||
autosquash!(original_commit, tap: tap,
|
autosquash!(original_commit, tap: tap, cherry_picked: !args.no_cherry_pick?,
|
||||||
verbose: args.verbose?, resolve: args.resolve?, reason: args.message)
|
verbose: args.verbose?, resolve: args.resolve?, reason: args.message)
|
||||||
end
|
end
|
||||||
signoff!(tap.path, pull_request: pr, dry_run: args.dry_run?) unless args.clean?
|
signoff!(tap.path, pull_request: pr, dry_run: args.dry_run?) unless args.clean?
|
||||||
end
|
end
|
||||||
|
|
||||||
unless formulae_need_bottles?(tap, original_commit, user, repo, pr, args: args)
|
unless formulae_need_bottles?(tap, original_commit, pr_labels, args: args)
|
||||||
ohai "Skipping artifacts for ##{pr} as the formulae don't need bottles"
|
ohai "Skipping artifacts for ##{pr} as the formulae don't need bottles"
|
||||||
next
|
next
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1661,6 +1661,7 @@ _brew_pr_automerge() {
|
|||||||
case "${cur}" in
|
case "${cur}" in
|
||||||
-*)
|
-*)
|
||||||
__brewcomp "
|
__brewcomp "
|
||||||
|
--autosquash
|
||||||
--debug
|
--debug
|
||||||
--help
|
--help
|
||||||
--ignore-failures
|
--ignore-failures
|
||||||
@ -1685,9 +1686,12 @@ _brew_pr_publish() {
|
|||||||
case "${cur}" in
|
case "${cur}" in
|
||||||
-*)
|
-*)
|
||||||
__brewcomp "
|
__brewcomp "
|
||||||
|
--autosquash
|
||||||
--branch
|
--branch
|
||||||
|
--commit-bottles-to-pr-branch
|
||||||
--debug
|
--debug
|
||||||
--help
|
--help
|
||||||
|
--large-runner
|
||||||
--message
|
--message
|
||||||
--no-autosquash
|
--no-autosquash
|
||||||
--quiet
|
--quiet
|
||||||
@ -1707,6 +1711,7 @@ _brew_pr_pull() {
|
|||||||
-*)
|
-*)
|
||||||
__brewcomp "
|
__brewcomp "
|
||||||
--artifact
|
--artifact
|
||||||
|
--autosquash
|
||||||
--branch-okay
|
--branch-okay
|
||||||
--clean
|
--clean
|
||||||
--committer
|
--committer
|
||||||
|
|||||||
@ -1142,6 +1142,7 @@ __fish_brew_complete_arg 'postinstall' -a '(__fish_brew_suggest_formulae_install
|
|||||||
|
|
||||||
|
|
||||||
__fish_brew_complete_cmd 'pr-automerge' 'Find pull requests that can be automatically merged using `brew pr-publish`'
|
__fish_brew_complete_cmd 'pr-automerge' 'Find pull requests that can be automatically merged using `brew pr-publish`'
|
||||||
|
__fish_brew_complete_arg 'pr-automerge' -l autosquash -d 'Instruct `brew pr-publish` to automatically reformat and reword commits in the pull request to the preferred format'
|
||||||
__fish_brew_complete_arg 'pr-automerge' -l debug -d 'Display any debugging information'
|
__fish_brew_complete_arg 'pr-automerge' -l debug -d 'Display any debugging information'
|
||||||
__fish_brew_complete_arg 'pr-automerge' -l help -d 'Show this message'
|
__fish_brew_complete_arg 'pr-automerge' -l help -d 'Show this message'
|
||||||
__fish_brew_complete_arg 'pr-automerge' -l ignore-failures -d 'Include pull requests that have failing status checks'
|
__fish_brew_complete_arg 'pr-automerge' -l ignore-failures -d 'Include pull requests that have failing status checks'
|
||||||
@ -1152,14 +1153,17 @@ __fish_brew_complete_arg 'pr-automerge' -l tap -d 'Target tap repository (defaul
|
|||||||
__fish_brew_complete_arg 'pr-automerge' -l verbose -d 'Make some output more verbose'
|
__fish_brew_complete_arg 'pr-automerge' -l verbose -d 'Make some output more verbose'
|
||||||
__fish_brew_complete_arg 'pr-automerge' -l with-label -d 'Pull requests must have this label'
|
__fish_brew_complete_arg 'pr-automerge' -l with-label -d 'Pull requests must have this label'
|
||||||
__fish_brew_complete_arg 'pr-automerge' -l without-approval -d 'Pull requests do not require approval to be merged'
|
__fish_brew_complete_arg 'pr-automerge' -l without-approval -d 'Pull requests do not require approval to be merged'
|
||||||
__fish_brew_complete_arg 'pr-automerge' -l without-labels -d 'Pull requests must not have these labels (default: `do not merge`, `new formula`, `automerge-skip`)'
|
__fish_brew_complete_arg 'pr-automerge' -l without-labels -d 'Pull requests must not have these labels (default: `do not merge`, `new formula`, `automerge-skip`, `CI-published-bottle-commits`)'
|
||||||
__fish_brew_complete_arg 'pr-automerge' -l workflow -d 'Workflow file to use with `brew pr-publish`'
|
__fish_brew_complete_arg 'pr-automerge' -l workflow -d 'Workflow file to use with `brew pr-publish`'
|
||||||
|
|
||||||
|
|
||||||
__fish_brew_complete_cmd 'pr-publish' 'Publish bottles for a pull request with GitHub Actions'
|
__fish_brew_complete_cmd 'pr-publish' 'Publish bottles for a pull request with GitHub Actions'
|
||||||
__fish_brew_complete_arg 'pr-publish' -l branch -d 'Branch to publish to (default: `master`)'
|
__fish_brew_complete_arg 'pr-publish' -l autosquash -d 'If supported on the target tap, automatically reformat and reword commits to our preferred format'
|
||||||
|
__fish_brew_complete_arg 'pr-publish' -l branch -d 'Branch to use the workflow from (default: `master`)'
|
||||||
|
__fish_brew_complete_arg 'pr-publish' -l commit-bottles-to-pr-branch -d 'Push bottle commits to the pull request branch'
|
||||||
__fish_brew_complete_arg 'pr-publish' -l debug -d 'Display any debugging information'
|
__fish_brew_complete_arg 'pr-publish' -l debug -d 'Display any debugging information'
|
||||||
__fish_brew_complete_arg 'pr-publish' -l help -d 'Show this message'
|
__fish_brew_complete_arg 'pr-publish' -l help -d 'Show this message'
|
||||||
|
__fish_brew_complete_arg 'pr-publish' -l large-runner -d 'Run the upload job on a large runner'
|
||||||
__fish_brew_complete_arg 'pr-publish' -l message -d 'Message to include when autosquashing revision bumps, deletions, and rebuilds'
|
__fish_brew_complete_arg 'pr-publish' -l message -d 'Message to include when autosquashing revision bumps, deletions, and rebuilds'
|
||||||
__fish_brew_complete_arg 'pr-publish' -l no-autosquash -d 'Skip automatically reformatting and rewording commits in the pull request to the preferred format, even if supported on the target tap'
|
__fish_brew_complete_arg 'pr-publish' -l no-autosquash -d 'Skip automatically reformatting and rewording commits in the pull request to the preferred format, even if supported on the target tap'
|
||||||
__fish_brew_complete_arg 'pr-publish' -l quiet -d 'Make some output more quiet'
|
__fish_brew_complete_arg 'pr-publish' -l quiet -d 'Make some output more quiet'
|
||||||
@ -1170,6 +1174,7 @@ __fish_brew_complete_arg 'pr-publish' -l workflow -d 'Target workflow filename (
|
|||||||
|
|
||||||
__fish_brew_complete_cmd 'pr-pull' 'Download and publish bottles, and apply the bottle commit from a pull request with artifacts generated by GitHub Actions'
|
__fish_brew_complete_cmd 'pr-pull' 'Download and publish bottles, and apply the bottle commit from a pull request with artifacts generated by GitHub Actions'
|
||||||
__fish_brew_complete_arg 'pr-pull' -l artifact -d 'Download artifacts with the specified name (default: `bottles`)'
|
__fish_brew_complete_arg 'pr-pull' -l artifact -d 'Download artifacts with the specified name (default: `bottles`)'
|
||||||
|
__fish_brew_complete_arg 'pr-pull' -l autosquash -d 'Automatically reformat and reword commits in the pull request to our preferred format'
|
||||||
__fish_brew_complete_arg 'pr-pull' -l branch-okay -d 'Do not warn if pulling to a branch besides the repository default (useful for testing)'
|
__fish_brew_complete_arg 'pr-pull' -l branch-okay -d 'Do not warn if pulling to a branch besides the repository default (useful for testing)'
|
||||||
__fish_brew_complete_arg 'pr-pull' -l clean -d 'Do not amend the commits from pull requests'
|
__fish_brew_complete_arg 'pr-pull' -l clean -d 'Do not amend the commits from pull requests'
|
||||||
__fish_brew_complete_arg 'pr-pull' -l committer -d 'Specify a committer name and email in `git`\'s standard author format'
|
__fish_brew_complete_arg 'pr-pull' -l committer -d 'Specify a committer name and email in `git`\'s standard author format'
|
||||||
|
|||||||
@ -1403,6 +1403,7 @@ _brew_postinstall() {
|
|||||||
# brew pr-automerge
|
# brew pr-automerge
|
||||||
_brew_pr_automerge() {
|
_brew_pr_automerge() {
|
||||||
_arguments \
|
_arguments \
|
||||||
|
'--autosquash[Instruct `brew pr-publish` to automatically reformat and reword commits in the pull request to the preferred format]' \
|
||||||
'--debug[Display any debugging information]' \
|
'--debug[Display any debugging information]' \
|
||||||
'--help[Show this message]' \
|
'--help[Show this message]' \
|
||||||
'--ignore-failures[Include pull requests that have failing status checks]' \
|
'--ignore-failures[Include pull requests that have failing status checks]' \
|
||||||
@ -1413,18 +1414,21 @@ _brew_pr_automerge() {
|
|||||||
'--verbose[Make some output more verbose]' \
|
'--verbose[Make some output more verbose]' \
|
||||||
'--with-label[Pull requests must have this label]' \
|
'--with-label[Pull requests must have this label]' \
|
||||||
'--without-approval[Pull requests do not require approval to be merged]' \
|
'--without-approval[Pull requests do not require approval to be merged]' \
|
||||||
'--without-labels[Pull requests must not have these labels (default: `do not merge`, `new formula`, `automerge-skip`)]' \
|
'--without-labels[Pull requests must not have these labels (default: `do not merge`, `new formula`, `automerge-skip`, `CI-published-bottle-commits`)]' \
|
||||||
'--workflow[Workflow file to use with `brew pr-publish`]'
|
'--workflow[Workflow file to use with `brew pr-publish`]'
|
||||||
}
|
}
|
||||||
|
|
||||||
# brew pr-publish
|
# brew pr-publish
|
||||||
_brew_pr_publish() {
|
_brew_pr_publish() {
|
||||||
_arguments \
|
_arguments \
|
||||||
'--branch[Branch to publish to (default: `master`)]' \
|
'--autosquash[If supported on the target tap, automatically reformat and reword commits to our preferred format]' \
|
||||||
|
'--branch[Branch to use the workflow from (default: `master`)]' \
|
||||||
|
'--commit-bottles-to-pr-branch[Push bottle commits to the pull request branch]' \
|
||||||
'--debug[Display any debugging information]' \
|
'--debug[Display any debugging information]' \
|
||||||
'--help[Show this message]' \
|
'--help[Show this message]' \
|
||||||
'(--no-autosquash)--message[Message to include when autosquashing revision bumps, deletions, and rebuilds]' \
|
'--large-runner[Run the upload job on a large runner]' \
|
||||||
'(--message)--no-autosquash[Skip automatically reformatting and rewording commits in the pull request to the preferred format, even if supported on the target tap]' \
|
'--message[Message to include when autosquashing revision bumps, deletions, and rebuilds]' \
|
||||||
|
'--no-autosquash[Skip automatically reformatting and rewording commits in the pull request to the preferred format, even if supported on the target tap]' \
|
||||||
'--quiet[Make some output more quiet]' \
|
'--quiet[Make some output more quiet]' \
|
||||||
'--tap[Target tap repository (default: `homebrew/core`)]' \
|
'--tap[Target tap repository (default: `homebrew/core`)]' \
|
||||||
'--verbose[Make some output more verbose]' \
|
'--verbose[Make some output more verbose]' \
|
||||||
@ -1435,16 +1439,17 @@ _brew_pr_publish() {
|
|||||||
_brew_pr_pull() {
|
_brew_pr_pull() {
|
||||||
_arguments \
|
_arguments \
|
||||||
'--artifact[Download artifacts with the specified name (default: `bottles`)]' \
|
'--artifact[Download artifacts with the specified name (default: `bottles`)]' \
|
||||||
|
'(--clean)--autosquash[Automatically reformat and reword commits in the pull request to our preferred format]' \
|
||||||
'--branch-okay[Do not warn if pulling to a branch besides the repository default (useful for testing)]' \
|
'--branch-okay[Do not warn if pulling to a branch besides the repository default (useful for testing)]' \
|
||||||
'--clean[Do not amend the commits from pull requests]' \
|
'(--autosquash)--clean[Do not amend the commits from pull requests]' \
|
||||||
'--committer[Specify a committer name and email in `git`'\''s standard author format]' \
|
'--committer[Specify a committer name and email in `git`'\''s standard author format]' \
|
||||||
'--debug[Display any debugging information]' \
|
'--debug[Display any debugging information]' \
|
||||||
'--dry-run[Print what would be done rather than doing it]' \
|
'--dry-run[Print what would be done rather than doing it]' \
|
||||||
'--help[Show this message]' \
|
'--help[Show this message]' \
|
||||||
'--ignore-missing-artifacts[Comma-separated list of workflows which can be ignored if they have not been run]' \
|
'--ignore-missing-artifacts[Comma-separated list of workflows which can be ignored if they have not been run]' \
|
||||||
'--keep-old[If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL]' \
|
'--keep-old[If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL]' \
|
||||||
'(--no-autosquash)--message[Message to include when autosquashing revision bumps, deletions, and rebuilds]' \
|
'--message[Message to include when autosquashing revision bumps, deletions, and rebuilds]' \
|
||||||
'(--message)--no-autosquash[Skip automatically reformatting and rewording commits in the pull request to our preferred format]' \
|
'--no-autosquash[Skip automatically reformatting and rewording commits in the pull request to our preferred format]' \
|
||||||
'--no-cherry-pick[Do not cherry-pick commits from the pull request branch]' \
|
'--no-cherry-pick[Do not cherry-pick commits from the pull request branch]' \
|
||||||
'--no-commit[Do not generate a new commit before uploading]' \
|
'--no-commit[Do not generate a new commit before uploading]' \
|
||||||
'--no-upload[Download the bottles but don'\''t upload them]' \
|
'--no-upload[Download the bottles but don'\''t upload them]' \
|
||||||
|
|||||||
@ -1330,11 +1330,13 @@ Find pull requests that can be automatically merged using `brew pr-publish`.
|
|||||||
* `--with-label`:
|
* `--with-label`:
|
||||||
Pull requests must have this label.
|
Pull requests must have this label.
|
||||||
* `--without-labels`:
|
* `--without-labels`:
|
||||||
Pull requests must not have these labels (default: `do not merge`, `new formula`, `automerge-skip`).
|
Pull requests must not have these labels (default: `do not merge`, `new formula`, `automerge-skip`, `CI-published-bottle-commits`).
|
||||||
* `--without-approval`:
|
* `--without-approval`:
|
||||||
Pull requests do not require approval to be merged.
|
Pull requests do not require approval to be merged.
|
||||||
* `--publish`:
|
* `--publish`:
|
||||||
Run `brew pr-publish` on matching pull requests.
|
Run `brew pr-publish` on matching pull requests.
|
||||||
|
* `--autosquash`:
|
||||||
|
Instruct `brew pr-publish` to automatically reformat and reword commits in the pull request to the preferred format.
|
||||||
* `--no-autosquash`:
|
* `--no-autosquash`:
|
||||||
Instruct `brew pr-publish` to skip automatically reformatting and rewording commits in the pull request to the preferred format.
|
Instruct `brew pr-publish` to skip automatically reformatting and rewording commits in the pull request to the preferred format.
|
||||||
* `--ignore-failures`:
|
* `--ignore-failures`:
|
||||||
@ -1345,10 +1347,16 @@ Find pull requests that can be automatically merged using `brew pr-publish`.
|
|||||||
Publish bottles for a pull request with GitHub Actions.
|
Publish bottles for a pull request with GitHub Actions.
|
||||||
Requires write access to the repository.
|
Requires write access to the repository.
|
||||||
|
|
||||||
|
* `--commit-bottles-to-pr-branch`:
|
||||||
|
Push bottle commits to the pull request branch.
|
||||||
|
* `--autosquash`:
|
||||||
|
If supported on the target tap, automatically reformat and reword commits to our preferred format.
|
||||||
* `--no-autosquash`:
|
* `--no-autosquash`:
|
||||||
Skip automatically reformatting and rewording commits in the pull request to the preferred format, even if supported on the target tap.
|
Skip automatically reformatting and rewording commits in the pull request to the preferred format, even if supported on the target tap.
|
||||||
|
* `--large-runner`:
|
||||||
|
Run the upload job on a large runner.
|
||||||
* `--branch`:
|
* `--branch`:
|
||||||
Branch to publish to (default: `master`).
|
Branch to use the workflow from (default: `master`).
|
||||||
* `--message`:
|
* `--message`:
|
||||||
Message to include when autosquashing revision bumps, deletions, and rebuilds.
|
Message to include when autosquashing revision bumps, deletions, and rebuilds.
|
||||||
* `--tap`:
|
* `--tap`:
|
||||||
@ -1374,6 +1382,8 @@ Requires write access to the repository.
|
|||||||
Do not amend the commits from pull requests.
|
Do not amend the commits from pull requests.
|
||||||
* `--keep-old`:
|
* `--keep-old`:
|
||||||
If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL.
|
If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL.
|
||||||
|
* `--autosquash`:
|
||||||
|
Automatically reformat and reword commits in the pull request to our preferred format.
|
||||||
* `--no-autosquash`:
|
* `--no-autosquash`:
|
||||||
Skip automatically reformatting and rewording commits in the pull request to our preferred format.
|
Skip automatically reformatting and rewording commits in the pull request to our preferred format.
|
||||||
* `--branch-okay`:
|
* `--branch-okay`:
|
||||||
|
|||||||
@ -1898,7 +1898,7 @@ Pull requests must have this label\.
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-without\-labels\fR
|
\fB\-\-without\-labels\fR
|
||||||
Pull requests must not have these labels (default: \fBdo not merge\fR, \fBnew formula\fR, \fBautomerge\-skip\fR)\.
|
Pull requests must not have these labels (default: \fBdo not merge\fR, \fBnew formula\fR, \fBautomerge\-skip\fR, \fBCI\-published\-bottle\-commits\fR)\.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-without\-approval\fR
|
\fB\-\-without\-approval\fR
|
||||||
@ -1909,6 +1909,10 @@ Pull requests do not require approval to be merged\.
|
|||||||
Run \fBbrew pr\-publish\fR on matching pull requests\.
|
Run \fBbrew pr\-publish\fR on matching pull requests\.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
\fB\-\-autosquash\fR
|
||||||
|
Instruct \fBbrew pr\-publish\fR to automatically reformat and reword commits in the pull request to the preferred format\.
|
||||||
|
.
|
||||||
|
.TP
|
||||||
\fB\-\-no\-autosquash\fR
|
\fB\-\-no\-autosquash\fR
|
||||||
Instruct \fBbrew pr\-publish\fR to skip automatically reformatting and rewording commits in the pull request to the preferred format\.
|
Instruct \fBbrew pr\-publish\fR to skip automatically reformatting and rewording commits in the pull request to the preferred format\.
|
||||||
.
|
.
|
||||||
@ -1920,12 +1924,24 @@ Include pull requests that have failing status checks\.
|
|||||||
Publish bottles for a pull request with GitHub Actions\. Requires write access to the repository\.
|
Publish bottles for a pull request with GitHub Actions\. Requires write access to the repository\.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
\fB\-\-commit\-bottles\-to\-pr\-branch\fR
|
||||||
|
Push bottle commits to the pull request branch\.
|
||||||
|
.
|
||||||
|
.TP
|
||||||
|
\fB\-\-autosquash\fR
|
||||||
|
If supported on the target tap, automatically reformat and reword commits to our preferred format\.
|
||||||
|
.
|
||||||
|
.TP
|
||||||
\fB\-\-no\-autosquash\fR
|
\fB\-\-no\-autosquash\fR
|
||||||
Skip automatically reformatting and rewording commits in the pull request to the preferred format, even if supported on the target tap\.
|
Skip automatically reformatting and rewording commits in the pull request to the preferred format, even if supported on the target tap\.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
\fB\-\-large\-runner\fR
|
||||||
|
Run the upload job on a large runner\.
|
||||||
|
.
|
||||||
|
.TP
|
||||||
\fB\-\-branch\fR
|
\fB\-\-branch\fR
|
||||||
Branch to publish to (default: \fBmaster\fR)\.
|
Branch to use the workflow from (default: \fBmaster\fR)\.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-message\fR
|
\fB\-\-message\fR
|
||||||
@ -1967,6 +1983,10 @@ Do not amend the commits from pull requests\.
|
|||||||
If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL\.
|
If the formula specifies a rebuild version, attempt to preserve its value in the generated DSL\.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
|
\fB\-\-autosquash\fR
|
||||||
|
Automatically reformat and reword commits in the pull request to our preferred format\.
|
||||||
|
.
|
||||||
|
.TP
|
||||||
\fB\-\-no\-autosquash\fR
|
\fB\-\-no\-autosquash\fR
|
||||||
Skip automatically reformatting and rewording commits in the pull request to our preferred format\.
|
Skip automatically reformatting and rewording commits in the pull request to our preferred format\.
|
||||||
.
|
.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user