Commit graph

1685 commits

Author SHA1 Message Date
Mislav Marohnić
1260023547 repo sync: Use the new merge-upstream API if available
This helps avoid the errors when a new commit from upstream is not yet
available in the fork, resulting in a HTTP 404 when trying to update the
ref in the fork.

If the merge-upstream API is unavailable (404) or errors out (409/422),
the functionality falls back to the previous functionality of manually
updating refs. This ensures that `--force` still has effect.
2021-12-21 16:44:27 +01:00
Mislav Marohnić
95a71f75c5 Improve setting multiple secrets
- Store multiple secrets in parallel
- Perform repo ID resolution in parallel with looking up the encryption key
- Avoid resolving repo IDs more than once
- Allow passing `--env-file=-` to read from stdin
- Fix storing user secrets from file
2021-12-20 23:35:31 +01:00
lpessoa
5589583e4d Adding set secrets from env files
Allows to set multiple secrets from an env file.

    gh secret set -f secrets.env

The env file follows a simple format as defined in https://github.com/joho/godotenv

    SPAM=eggs
    FOO="bar"
2021-12-20 23:33:54 +01:00
Ayush Rawal
ca25026613
Avoid showing non-open PRs on the default branch (#4285)
Co-authored-by: Andrew Hsu <xuzuan@gmail.com>
Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-12-20 18:46:12 +00:00
Cristian Dominguez
f2d23d8c88
Allow editing commit subject when squash-merging a PR (#3344)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-12-20 18:25:17 +00:00
Cristian Dominguez
ddaef8baa4
Add --json export flag for workflow runs (#3869)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-12-17 15:55:45 +00:00
tison
0d3dd7e758
extension upgrade: do not consider up-to-date to be a failure (#4857)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-12-16 12:59:22 +01:00
Benjamin Chadwick
3ea69c8c9b
pr checks: count "cancelled" jobs as failing instead of neutral (#4850) 2021-12-16 12:01:53 +01:00
Mislav Marohnić
5cd977e328 💅 normalize prompt style for text inputs 2021-12-14 18:38:46 +01:00
Mislav Marohnić
c90fc18b0c Avoid creating repo when cancelling from interactive mode 2021-12-14 18:18:08 +01:00
Mislav Marohnić
3e40780074 💅 repo create cleanups 2021-12-14 18:05:42 +01:00
Mislav Marohnić
21e6d95982 Fix repo create printing created URL in no-TTY mode 2021-12-14 17:49:43 +01:00
Benjamin Chadwick
4bbbf46321
Fix browse last commit when using the repo override flag (#4845) 2021-12-13 15:00:22 +01:00
Mislav Marohnić
2d0b9460be
Merge pull request #4318 from g14a/gh-repo-edit
gh repo edit
2021-12-10 13:44:39 +01:00
Mislav Marohnić
db50b54513 Simplify GraphQL mutations whose response we are not interested in 2021-12-08 13:35:19 +01:00
Des Preston
886f5e0e78 Avoid race condition when updating labels
Update labels using the `addLabelsToLabelable` and
`removeLabelsFromLabelable` mutations instead of via the `updateIssue`
mutation that replaces the entire set of labels. This prevents the edit
operation from clobbering any unseen changes to the list of labels.

Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-12-08 13:29:47 +01:00
Sergio Guzmán Mayorga
43ae0e5f87
Add interactive tag selector to create release (#4525) 2021-12-08 16:20:15 +04:00
Tomohiro Nishimura
a9d397be69
Add --generate-notes flag to gh release create command. (#4467) 2021-12-08 15:20:59 +04:00
Mislav Marohnić
29816b63c3
Merge pull request #4862 from cli/api-err-409
api: handle HTTP 409 error message from the server
2021-12-07 19:37:19 +01:00
Mislav Marohnić
7d199fa783 repo edit: add ability to add or remove repository topics 2021-12-07 19:28:29 +01:00
Gowtham Munukutla
98217fc38c gh repo edit
Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-12-07 19:28:29 +01:00
Mislav Marohnić
ead6bf87d9 api: handle HTTP 409 error message from the server
Previously, "errors" field was either an array of strings or an array of
error objects. This covers an additional case when "errors" is a string:

    $ gh api orgs/cli/actions/permissions/repositories
    {
      "message": "Conflict",
      "errors": "Actions are enabled for all repositories",
      "documentation_url": "https://docs.github.com/rest/reference/actions#list-selected-repositories-enabled-for-github-actions-in-an-organization"
    }
2021-12-06 19:54:54 +01:00
rsteube
24c41b5e88 gist view: fix missing files shorthand
converted to `BoolVar`
2021-12-03 10:45:33 +01:00
Alan Donovan
5fea604f78
gh cs cp --help: fix typo 2021-12-02 17:09:20 -05:00
Des Preston
94a640bd2a
Add auth setup-git for setting up gh as a git credential helper (#4246)
Adds a new command `gh auth setup-git [<hostname>]` that sets up git to
use the GitHub CLI as a credential helper.

The gist is that it runs these two git commands for each hostname the
user is authenticated with.

```
git config --global --replace-all 'credential.https://github.com.helper' ''
git config --global --add 'credential.https://github.com.helper' '!gh auth git-credential'
```

If a hostname flag is given, it'll setup GH CLI as a credential helper
for only that hostname.

If the user is not authenticated with any git hostnames, or the user is
not authenticated with the hostname given as a flag, it'll print an
error.

Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-12-02 16:38:34 +00:00
Nate Smith
a056fbf0cb
Merge pull request #4838 from cli/go-1.17-fmt
Generate Go 1.17-style `go:build` directives
2021-12-02 10:24:56 -06:00
Sergio Guzmán Mayorga
f13f0e7d87
Add secret set --no-store to print the encrypted secret (#4423)
Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-12-02 16:05:10 +00:00
Mislav Marohnić
d02f184bd1 go fmt 2021-12-02 16:12:24 +01:00
Nate Smith
7e7735d450
Merge pull request #4729 from cli/config-list
Add `gh config list`
2021-12-01 17:34:59 -06:00
Nate Smith
6906dea671
Merge pull request #4833 from cli/diff-color
pr diff color output fixes
2021-12-01 10:48:31 -06:00
Mislav Marohnić
c33eb3bee1 pr diff: support very long lines 2021-12-01 17:03:11 +01:00
Mislav Marohnić
4a6aa0e938 pr diff: respect global NO_COLOR/CLICOLOR_FORCE settings
In the absence of an explicit `--color` setting, or when `--color=auto`
is passed, the pr diff command should fall back to respecting the global
colorization setting as inferred from the environment.
2021-12-01 17:03:11 +01:00
Nate Smith
59082a1fde
Merge pull request #4802 from cli/mislav/bin-ext-create
Extensions create 💅
2021-11-30 16:36:24 -06:00
Nate Smith
56faf17b06
Merge pull request #4718 from cli/bin-ext-create
make extension create binary aware
2021-11-30 16:36:00 -06:00
Mislav Marohnić
acc1759434 Allow downloading the archive of the latest release 2021-11-30 15:52:51 +01:00
Mislav Marohnić
8e311847db Ensure that we never download "legacy" archive formats
The `zipball_url` and `tarball_url` fields on the Release API payload
always link to "legacy" archives that are of a different format than
those one would get if they downloaded an archive from a Release using
the web interface. The GitHub API does not seem to publish links to
non-legacy archives.

This adds a redirect hack to turn "legacy" Codeload URLs into non-legacy
ones with the goal of ensuring the consistency of user experience when
downloading archives.
2021-11-30 15:52:51 +01:00
lpessoa
8058c4ea34 Adding gh release download for .zip and .tar.gz
Co-authored-by: Mislav Marohnić <mislav@github.com>
2021-11-30 15:52:51 +01:00
Parth
c987c5711d
pr merge: pull after switching branches (#4748) 2021-11-29 18:26:35 +01:00
Mislav Marohnić
323e53ebe3
Merge pull request #4803 from cli/issue-view-resilient
Improve `issue view` re: overfetching, PR support
2021-11-29 17:08:22 +01:00
Des Preston
bdd95e11ab
Don't swallow duplicate key error (#4807) 2021-11-25 13:22:42 +01:00
Mislav Marohnić
34fc5fb75c Improve issue view re: overfetching, PR support
- Supports passing a PR as argument, not just issues
- Makes it non-fatal when project cards were not able to load
- Cleans up legacy method for fetching issues
2021-11-24 18:49:36 +01:00
Mislav Marohnić
a573eb5d80
Fix codespace code command under WSL (#4747)
The `codespace code` command used the `skratchdot/open-golang` library
to open `vscode://` URLs, which uses `xdg-open` for Linux under the
hood, which isn't available under WSL.

This switches over to using the `cli/browser` package which has explicit
support for WSL by invoking `wslview` when found.
2021-11-24 16:18:24 +00:00
Parth
39bd9aafdc
pr merge: allow deleting remote branch if local branch does not exist (#4769) 2021-11-24 16:50:25 +01:00
Mislav Marohnić
a65b9a3831 💅 simplify filesystem operations while creating extensions
- doing mkdir before `git init <dir>` is not necessary; git will
  create the directory if it doesn't exist
- passing both `-C` and `--git-dir` is not needed for git invocations
- reading the current working directory isn't necessary for specifying
  nested paths to operate in
- use `git add .` instead of explicitly naming all paths; we generate a
  gitignore for binaries that we want to avoid adding
- generate cross-platform gitignore for Go binary extensions
- add helpers to simplify writing files, tests
2021-11-24 13:46:36 +01:00
Mislav Marohnić
e506910a08 Add newlines to generated files 2021-11-24 11:59:00 +01:00
vilmibm
6950c6ee32 binary extension create
- add a wizard to gh extension create
- add --precompiled-go
- add --precompiled-other
- build out scaffolding for both types of binary extensions
2021-11-23 16:53:45 -06:00
Mislav Marohnić
3cf3d6d2d4 Avoid overfetching in non-interactive issue edit 2021-11-23 21:10:37 +01:00
Mislav Marohnić
c8d5a6be02 Accept pull requests in issue edit argument 2021-11-23 20:39:19 +01:00
Mislav Marohnić
b75e705840 Remove overfetching from issue transfer 2021-11-23 19:39:40 +01:00
Mislav Marohnić
5be6b67ce7 Remove overfetching from issue delete 2021-11-23 19:39:40 +01:00