diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index ae0d29096a4..00000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: "\U0001F41B Bug report" -about: Report a bug or unexpected behavior while using GitHub CLI -title: '' -labels: bug -assignees: '' - ---- - -### Describe the bug - -A clear and concise description of what the bug is. - -### Affected version - -Please run `gh version` and paste the output below. - -### Steps to reproduce the behavior - -1. Type this '...' -2. View the output '....' -3. See error - -### Expected vs actual behavior - -A clear and concise description of what you expected to happen and what actually happened. - -### Logs - -Paste the activity from your command line. Redact if needed. - - diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 0cad7e02ccc..58a02da3e17 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,8 +1,5 @@ -blank_issues_enabled: true +blank_issues_enabled: false contact_links: - - name: Ask a question on how to use GitHub CLI - about: For general-purpose questions and answers, see the Discussions section. - url: https://github.com/cli/cli/discussions - - name: Ask a question about the GitHub API - about: Please check out the GitHub community forum for discussions about the GitHub API. - url: https://github.community/c/github-ecosystem/37 + - name: "GitHub CLI issues" + url: https://github.com/cli/cli/issues/new/choose + about: "Go to the upstream repository for anything unrelated to the snap packaging" diff --git a/.github/ISSUE_TEMPLATE/submit-a-request.md b/.github/ISSUE_TEMPLATE/default.md similarity index 67% rename from .github/ISSUE_TEMPLATE/submit-a-request.md rename to .github/ISSUE_TEMPLATE/default.md index 4f66ac457b6..8f39ec3e3bb 100644 --- a/.github/ISSUE_TEMPLATE/submit-a-request.md +++ b/.github/ISSUE_TEMPLATE/default.md @@ -1,10 +1,6 @@ --- -name: "⭐ Submit a request" -about: Surface a feature or problem that you think should be solved -title: '' -labels: enhancement -assignees: '' - +name: "⭐ Snap Issue" +about: Submit an issue related to the snapcraft packaging of GitHub CLI --- ### Describe the feature or problem you’d like to solve diff --git a/.github/ISSUE_TEMPLATE/feedback.md b/.github/ISSUE_TEMPLATE/feedback.md deleted file mode 100644 index 837c36632a5..00000000000 --- a/.github/ISSUE_TEMPLATE/feedback.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: "\U0001F4E3 Feedback" -about: Give us general feedback about the GitHub CLI -title: '' -labels: feedback -assignees: '' - ---- - -# CLI Feedback - -You can use this template to give us structured feedback or just wipe it and leave us a note. Thank you! - -## What have you loved? - -_eg "the nice colors"_ - -## What was confusing or gave you pause? - -_eg "it did something unexpected"_ - -## Are there features you'd like to see added? - -_eg "gh cli needs mini-games"_ - -## Anything else? - -_eg "have a nice day"_ diff --git a/.gitignore b/.gitignore index a4b73ac7a50..42ea80f520b 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,6 @@ *~ vendor/ + +# snap +/gh_*.snap diff --git a/README.md b/README.md index 8257cf56692..f77f2d175bb 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,14 @@ For more information, see [Linux & BSD installation](./docs/install_linux.md). MSI installers are available for download on the [releases page][]. +### Snapcraft + +Install: + +`sudo snap install gh --classic` + +Updates are automatically checked for (and if available, downloaded) every 6 hours. + ### Codespaces To add GitHub CLI to your codespace, add the following to your [devcontainer file](https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/adding-features-to-a-devcontainer-file): diff --git a/go.mod b/go.mod index 7f0569303d0..56732055c58 100644 --- a/go.mod +++ b/go.mod @@ -56,7 +56,7 @@ require ( golang.org/x/sync v0.16.0 golang.org/x/term v0.33.0 golang.org/x/text v0.27.0 - google.golang.org/grpc v1.73.0 + google.golang.org/grpc v1.74.2 google.golang.org/protobuf v1.36.6 gopkg.in/h2non/gock.v1 v1.1.2 gopkg.in/yaml.v3 v3.0.1 @@ -64,7 +64,7 @@ require ( require ( al.essio.dev/pkg/shellescape v1.6.0 // indirect - cel.dev/expr v0.23.1 // indirect + cel.dev/expr v0.24.0 // indirect cloud.google.com/go v0.121.1 // indirect cloud.google.com/go/auth v0.16.2 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect @@ -101,7 +101,7 @@ require ( github.com/charmbracelet/x/term v0.2.1 // indirect github.com/cli/browser v1.3.0 // indirect github.com/cli/shurcooL-graphql v0.0.4 // indirect - github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f // indirect + github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 // indirect github.com/containerd/stargz-snapshotter/estargz v0.16.3 // indirect github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/go.sum b/go.sum index 5433198cd03..763364a4484 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ al.essio.dev/pkg/shellescape v1.6.0 h1:NxFcEqzFSEVCGN2yq7Huv/9hyCEGVa/TncnOOBBeXHA= al.essio.dev/pkg/shellescape v1.6.0/go.mod h1:6sIqp7X2P6mThCQ7twERpZTuigpr6KbZWtls1U8I890= -cel.dev/expr v0.23.1 h1:K4KOtPCJQjVggkARsjG9RWXP6O4R73aHeJMa/dmCQQg= -cel.dev/expr v0.23.1/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= +cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= +cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -809,8 +809,8 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f h1:C5bqEmzEPLsHm9Mv73lSE9e9bKV23aB1vxOsmZrkl3k= -github.com/cncf/xds/go v0.0.0-20250326154945-ae57f3c0d45f/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443 h1:aQ3y1lwWyqYPiWZThqv1aFbZMiM9vblcSArJRf2Irls= +github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= github.com/containerd/stargz-snapshotter/estargz v0.16.3 h1:7evrXtoh1mSbGj/pfRccTampEyKpjpOnS3CyiV1Ebr8= @@ -2136,8 +2136,8 @@ google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5v google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok= -google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc= +google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4= +google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml new file mode 100644 index 00000000000..3e15930a611 --- /dev/null +++ b/snap/snapcraft.yaml @@ -0,0 +1,46 @@ +name: gh +summary: The GitHub CLI +description: | + https://cli.github.com + + **`gh` - The GitHub CLI tool** + + `gh` is GitHub on the command line, and it's now available in beta. It brings pull requests, issues, and other GitHub concepts to + the terminal next to where you are already working with `git` and your code. + + _Usage_ + + - `gh pr [create, list, status, view, checkout, ...]` + - `gh issue [create, list, status, view, ...]` + - `gh [auth, browse, codespace, gist, org, project, release, repo, ...]` + - `gh [cache, run, workflow, ...]` + - `gh [alias, api, attestation, config, extension, gpg-key, label, preview, ruleset, search, secret, ssh-key, status, variable, ...]` + - `gh help` +adopt-info: gh +grade: stable +confinement: classic +base: core24 +license: MIT +parts: + gh: + plugin: make + source: . + build-snaps: + - go + - snapd + build-packages: + - git + - gcc + stage-packages: + - git + override-pull: | + snapcraftctl pull + snapcraftctl set-version `(git describe --tags | sed 's/^v//') 2>/dev/null || git rev-parse --short HEAD` + override-build: | + LDFLAGS='' make -j2 + cp bin/gh $SNAPCRAFT_PART_INSTALL/ + bin/gh completion -s bash > $SNAPCRAFT_PART_INSTALL/completion.sh +apps: + gh: + command: gh + completer: completion.sh