From 301afe52e5b4f7adf1235b759d93bb74c4d6447b Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Thu, 13 Feb 2020 17:20:03 +0000 Subject: [PATCH 01/16] initial snap --- snap/snapcraft.yaml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 snap/snapcraft.yaml diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml new file mode 100644 index 00000000000..5afbb960493 --- /dev/null +++ b/snap/snapcraft.yaml @@ -0,0 +1,30 @@ +name: gh +summary: The GitHub CLI +description: https://cli.github.com +adopt-info: gh +grade: stable +confinement: devmode # classic +base: core18 +license: MIT +package-management: # snap refresh snapcraft --channel=edge/pr-2911 + repositories: + - source: ppa:longsleep/golang-backports +parts: + gh: + plugin: make + artifacts: + - bin/gh + make-parameters: ["LDFLAGS="] + source: . + build-packages: + - golang-go + - git + stage-packages: + - golang-go + - git + override-pull: | + snapcraftctl pull + snapcraftctl set-version `git describe --tags` +apps: + gh: + command: gh From 1878eba967c3985fc9777cbf5c91e8f585de06cf Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Thu, 13 Feb 2020 17:42:01 +0000 Subject: [PATCH 02/16] fix version --- snap/snapcraft.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 5afbb960493..5ba36667f25 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -14,7 +14,6 @@ parts: plugin: make artifacts: - bin/gh - make-parameters: ["LDFLAGS="] source: . build-packages: - golang-go @@ -24,7 +23,10 @@ parts: - git override-pull: | snapcraftctl pull - snapcraftctl set-version `git describe --tags` + snapcraftctl set-version `git describe --tags 2>/dev/null || git rev-parse --short HEAD` + override-build: | + LDFLAGS='' make -j2 + cp bin/gh $SNAPCRAFT_PART_INSTALL/ apps: gh: command: gh From 058876ab4b7b45e2a48da4b4c2c52599fbe6be26 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Thu, 13 Feb 2020 17:55:11 +0000 Subject: [PATCH 03/16] snap: strict confinement --- .gitignore | 3 +++ snap/snapcraft.yaml | 7 ++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 9057015344c..7ee1f860bf6 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,6 @@ *.swp vendor/ + +# snap +/gh_*.snap diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 5ba36667f25..6f39afad423 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -3,7 +3,7 @@ summary: The GitHub CLI description: https://cli.github.com adopt-info: gh grade: stable -confinement: devmode # classic +confinement: strict # classic base: core18 license: MIT package-management: # snap refresh snapcraft --channel=edge/pr-2911 @@ -12,8 +12,6 @@ package-management: # snap refresh snapcraft --channel=edge/pr-2911 parts: gh: plugin: make - artifacts: - - bin/gh source: . build-packages: - golang-go @@ -30,3 +28,6 @@ parts: apps: gh: command: gh + plugs: + - home + - network From fcf3cc02a5910a09bd2870df153cfb192201f33e Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Thu, 13 Feb 2020 18:04:19 +0000 Subject: [PATCH 04/16] snap: document --- README.md | 9 +++++++++ snap/snapcraft.yaml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e503c88c9fc..cd7a47b4e6a 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,15 @@ For instructions on specific distributions and package managers, see [Linux & BS MSI installers are available for download on the [releases page][]. +### Snapcraft + +Install: + +1. Ensure [`snapd` is installed](https://snapcraft.io/docs/installing-snapd) +2. `sudo snap install gh` + +Updates are automatically checked for (and if available, downloaded) every 6 hours. + ### GitHub Actions GitHub CLI comes pre-installed in all [GitHub-Hosted Runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners). diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 6f39afad423..628954ef36b 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -5,7 +5,7 @@ adopt-info: gh grade: stable confinement: strict # classic base: core18 -license: MIT +license: MIT License package-management: # snap refresh snapcraft --channel=edge/pr-2911 repositories: - source: ppa:longsleep/golang-backports From a3b75e18ce65861e1428cbde3d64c6d1cf958c8e Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Thu, 13 Feb 2020 18:47:11 +0000 Subject: [PATCH 05/16] add completion --- snap/snapcraft.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 628954ef36b..09533f2f4bb 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -25,9 +25,11 @@ parts: 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 plugs: - home - network + completer: completion.sh From 0172503983687ab5c3ebae87b7162409cdc55033 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Thu, 13 Feb 2020 18:55:29 +0000 Subject: [PATCH 06/16] snap: strip v prefix from version --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 09533f2f4bb..0ee19151ecc 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -21,7 +21,7 @@ parts: - git override-pull: | snapcraftctl pull - snapcraftctl set-version `git describe --tags 2>/dev/null || git rev-parse --short HEAD` + 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/ From d6bdcdc37bb2203f75dbd67faac3d83ca96cb848 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Fri, 14 Feb 2020 08:54:50 +0000 Subject: [PATCH 07/16] fix licence string --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 0ee19151ecc..7c9049f3a48 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -5,7 +5,7 @@ adopt-info: gh grade: stable confinement: strict # classic base: core18 -license: MIT License +license: MIT package-management: # snap refresh snapcraft --channel=edge/pr-2911 repositories: - source: ppa:longsleep/golang-backports From fba70d027b6fe63b2650c966a4844f59495165e9 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Fri, 14 Feb 2020 10:54:53 +0000 Subject: [PATCH 08/16] snap: add description --- snap/snapcraft.yaml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 7c9049f3a48..d7501098ecd 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,6 +1,18 @@ name: gh summary: The GitHub CLI -description: https://cli.github.com +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 [status, list, view, checkout, create]` + - `gh issue [status, list, view, create]` + - `gh help` adopt-info: gh grade: stable confinement: strict # classic From 94dc6a219b827dcadc9e8ccf9dbcd8d36a7883a5 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Fri, 14 Feb 2020 11:06:45 +0000 Subject: [PATCH 09/16] snap: more canonical --- snap/snapcraft.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index d7501098ecd..5fd6abe6b09 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -18,18 +18,16 @@ grade: stable confinement: strict # classic base: core18 license: MIT -package-management: # snap refresh snapcraft --channel=edge/pr-2911 - repositories: - - source: ppa:longsleep/golang-backports parts: gh: plugin: make source: . + build-snaps: + - go + - snapd build-packages: - - golang-go - git stage-packages: - - golang-go - git override-pull: | snapcraftctl pull From 0fbe17b2ca8b22b157470d176ab14d71c187f82d Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Fri, 14 Feb 2020 13:06:47 +0000 Subject: [PATCH 10/16] snap: add missing ssh dep for `gh pr checkout` --- snap/snapcraft.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 5fd6abe6b09..54658ee4a2c 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -29,6 +29,7 @@ parts: - git stage-packages: - git + - ssh override-pull: | snapcraftctl pull snapcraftctl set-version `(git describe --tags | sed 's/^v//') 2>/dev/null || git rev-parse --short HEAD` @@ -42,4 +43,5 @@ apps: plugs: - home - network + - ssh-keys completer: completion.sh From 501a6f12667d4d166ffe9c9cadf81e881c5c05ab Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Fri, 14 Feb 2020 13:21:08 +0000 Subject: [PATCH 11/16] snap: add ssh documentation --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cd7a47b4e6a..217567f0429 100644 --- a/README.md +++ b/README.md @@ -83,8 +83,8 @@ MSI installers are available for download on the [releases page][]. Install: -1. Ensure [`snapd` is installed](https://snapcraft.io/docs/installing-snapd) -2. `sudo snap install gh` +1. `sudo snap install gh` +2. `sudo snap connect gh:ssh-keys` grant ssh access Updates are automatically checked for (and if available, downloaded) every 6 hours. From 3293bec7eecfa1c1bd357785e1633fec001177bb Mon Sep 17 00:00:00 2001 From: Alan Pope Date: Fri, 14 Feb 2020 17:47:49 +0000 Subject: [PATCH 12/16] Fix authentication Thanks for making this snap. You beat me to it by about 3 hours :D When issuing a `gh pr list` the cli app needs to spark up a browser and listen for the authentication token. This PR adds the necessary interfaces (desktop and network-bind) to enable that. Tested locally on Ubuntu 20.04 --- snap/snapcraft.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 54658ee4a2c..aa1f4c8a91b 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -43,5 +43,7 @@ apps: plugs: - home - network + - network-bind + - desktop - ssh-keys completer: completion.sh From dce77b7df9e7ecdaacd0a74e4eb89cd5f1eac5b4 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Mon, 17 Feb 2020 22:49:21 +0000 Subject: [PATCH 13/16] snap: add new gcc build-dep --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index aa1f4c8a91b..135acee1267 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -27,6 +27,7 @@ parts: - snapd build-packages: - git + - gcc stage-packages: - git - ssh From 0c7e29f00d81472b842e3a29767fc25234b13c8c Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 19 Feb 2020 22:14:56 +0000 Subject: [PATCH 14/16] snap: add nano editor --- snap/snapcraft.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 135acee1267..7ac0a004c91 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -30,6 +30,7 @@ parts: - gcc stage-packages: - git + - nano - ssh override-pull: | snapcraftctl pull @@ -48,3 +49,5 @@ apps: - desktop - ssh-keys completer: completion.sh + environment: + GIT_EDITOR: nano From b0d2f189b46cb515f5a51b717749d2e0b4d76a13 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Mon, 21 Sep 2020 22:20:30 +0100 Subject: [PATCH 15/16] update issue templates - as per https://github.com/cli/cli/issues/328#issuecomment-696383888 --- .github/ISSUE_TEMPLATE/bug_report.md | 26 ----------------- .github/ISSUE_TEMPLATE/config.yml | 11 +++----- .../{submit-a-request.md => default.md} | 8 ++---- .github/ISSUE_TEMPLATE/feedback.md | 28 ------------------- 4 files changed, 6 insertions(+), 67 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md rename .github/ISSUE_TEMPLATE/{submit-a-request.md => default.md} (67%) delete mode 100644 .github/ISSUE_TEMPLATE/feedback.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 16e5348f13a..00000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,26 +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. Include version by typing `gh --version`. - -### 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"_ From 732ae769c9015faa24eb9666f89fbbe5cde1d893 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 21 Jun 2022 08:23:47 +0000 Subject: [PATCH 16/16] Bump github.com/stretchr/testify from 1.7.3 to 1.7.4 Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.3 to 1.7.4. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.7.3...v1.7.4) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c9fd7054299..1baab79214d 100644 --- a/go.mod +++ b/go.mod @@ -36,7 +36,7 @@ require ( github.com/sourcegraph/jsonrpc2 v0.1.0 github.com/spf13/cobra v1.4.0 github.com/spf13/pflag v1.0.5 - github.com/stretchr/testify v1.7.3 + github.com/stretchr/testify v1.7.4 golang.org/x/crypto v0.0.0-20210817164053-32db794688a5 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a diff --git a/go.sum b/go.sum index f638308611c..1c4ab2733b0 100644 --- a/go.sum +++ b/go.sum @@ -236,8 +236,8 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.3 h1:dAm0YRdRQlWojc3CrCRgPBzG5f941d0zvAKu7qY4e+I= -github.com/stretchr/testify v1.7.3/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.7.4 h1:wZRexSlwd7ZXfKINDLsO4r7WBt3gTKONc6K/VesHvHM= +github.com/stretchr/testify v1.7.4/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=