mirror of
https://github.com/MedzikUser/go-github-selfupdate.git
synced 2024-08-15 03:25:29 +00:00
Corrected some typos
Made some corrections to grammar and deleted a repeated section. I hope this is helpful for you.
This commit is contained in:
parent
c328ee2035
commit
677875a59b
1 changed files with 16 additions and 19 deletions
35
README.md
35
README.md
|
@ -1,4 +1,4 @@
|
|||
Self-Update Mechanism for Go Commands using GitHub
|
||||
Self-Update Mechanism for Go Commands Using GitHub
|
||||
==================================================
|
||||
|
||||
[![GoDoc Badge][]][GoDoc]
|
||||
|
@ -6,23 +6,23 @@ Self-Update Mechanism for Go Commands using GitHub
|
|||
[![AppVeyor Status][]][AppVeyor]
|
||||
[![Codecov Status][]][Codecov]
|
||||
|
||||
[go-github-selfupdate][] is a Go library to provide self-update mechanism to command line tools.
|
||||
[go-github-selfupdate][] is a Go library to provide a self-update mechanism to command line tools.
|
||||
|
||||
Go does not provide the way to install/update the stable version of tools. By default, Go command line
|
||||
Go does not provide a way to install/update the stable version of tools. By default, Go command line
|
||||
tools are updated:
|
||||
|
||||
1. using `go get -u`, but it is not stable because HEAD of the repository is built
|
||||
2. using system's package manager, but it is harder to release because of depending on the platform
|
||||
3. downloading executables from GitHub release page, but it requires users to download and put it manually
|
||||
3. downloading executables from GitHub release page, but it requires users to download and put it in an executable path manually
|
||||
|
||||
[go-github-selfupdate][] resolves the problem of 3. by detecting the latest release, downloading it and
|
||||
putting it to `$GOPATH/bin` automatically.
|
||||
[go-github-selfupdate][] resolves the problem of 3 by detecting the latest release, downloading it and
|
||||
putting it in `$GOPATH/bin` automatically.
|
||||
|
||||
[go-github-selfupdate][] detects the information of the latest release via [GitHub Releases API][] and
|
||||
checks the current version. If newer version than itself is detected, it downloads released binary from
|
||||
checks the current version. If a newer version than itself is detected, it downloads the released binary from
|
||||
GitHub and replaces itself.
|
||||
|
||||
- Automatically detects the latest version of released binary on GitHub
|
||||
- Automatically detect the latest version of released binary on GitHub
|
||||
- Retrieve the proper binary for the OS and arch where the binary is running
|
||||
- Update the binary with rollback support on failure
|
||||
- Tested on Linux, macOS and Windows (using Travis CI and AppVeyor)
|
||||
|
@ -67,7 +67,7 @@ Then run `-selfupdate`
|
|||
$ selfupdate-example -selfupdate
|
||||
```
|
||||
|
||||
It should replace itself and finally shows a message containing release notes.
|
||||
It should replace itself and finally show a message containing release notes.
|
||||
|
||||
Please check the binary version is updated to `v1.2.4` with `-version`. The binary is up-to-date.
|
||||
So running `-selfupdate` again only shows 'Current binary is the latest version'.
|
||||
|
@ -187,7 +187,7 @@ please use `os.Executable()`.
|
|||
Please see [the documentation page][GoDoc] for more detail.
|
||||
|
||||
This library should work with [GitHub Enterprise][]. To configure API base URL, please setup `Updater`
|
||||
instance and use its method instead (Actually all functions above are just a shortcuts of methods of
|
||||
instance and use its methods instead (actually all functions above are just a shortcuts of methods of an
|
||||
`Updater` instance).
|
||||
|
||||
Following is an example of usage with GitHub Enterprise.
|
||||
|
@ -226,8 +226,8 @@ If `APIToken` field is not given, it tries to retrieve API token from `[token]`
|
|||
or `$GITHUB_TOKEN` environment variable. If no token is found, it raises an error because GitHub Enterprise
|
||||
API does not work without authentication.
|
||||
|
||||
If your GitHub Enterprise instance's upload URL is different from the base URL, please also set `EnterpriseUploadURL`
|
||||
field
|
||||
If your GitHub Enterprise instance's upload URL is different from the base URL, please also set the `EnterpriseUploadURL`
|
||||
field.
|
||||
|
||||
|
||||
### Naming Rules of Released Binaries
|
||||
|
@ -307,9 +307,6 @@ In summary, structure of releases on GitHub looks like:
|
|||
- ... (Other binaries for v1.1.3)
|
||||
- ... (older versions)
|
||||
|
||||
Tags which don't contain a version number are ignored (i.e. `nightly`). And releases marked
|
||||
as `pre-release` are also ignored.
|
||||
|
||||
|
||||
### Hash or Signature Validation
|
||||
|
||||
|
@ -370,7 +367,7 @@ $ export GITHUB_TOKEN="{token generated by you}"
|
|||
$ go test -v ./selfupdate
|
||||
```
|
||||
|
||||
Above command run almost all tests and it's enough to check the behavior before creating a pull request.
|
||||
The above command runs almost all tests and it's enough to check the behavior before creating a pull request.
|
||||
Some tests are still not tested because they depend on my personal API access token, though; for repositories
|
||||
on GitHub Enterprise or private repositories on GitHub.
|
||||
|
||||
|
@ -378,7 +375,7 @@ on GitHub Enterprise or private repositories on GitHub.
|
|||
### Debugging
|
||||
|
||||
This library can output logs for debugging. By default, logger is disabled.
|
||||
You can enable the logger by following and can know the details of the self update.
|
||||
You can enable the logger by the following and can know the details of the self update.
|
||||
|
||||
```go
|
||||
selfupdate.EnableLog()
|
||||
|
@ -388,7 +385,7 @@ selfupdate.EnableLog()
|
|||
### CI
|
||||
|
||||
Tests run on CIs (Travis CI, Appveyor) are run with the token I generated. However, because of security
|
||||
reason, it is not used for the tests for pull requests. In the tests, a GitHub API token is not set and
|
||||
reasons, it is not used for the tests for pull requests. In the tests, a GitHub API token is not set and
|
||||
API rate limit is often exceeding. So please ignore the test failures on creating a pull request.
|
||||
|
||||
|
||||
|
@ -418,7 +415,7 @@ This library utilizes
|
|||
|
||||
## What is different from [tj/go-update][]?
|
||||
|
||||
This library goal is the same as tj/go-update, but it's different in following points.
|
||||
This library's goal is the same as tj/go-update, but it's different in following points.
|
||||
|
||||
tj/go-update:
|
||||
|
||||
|
|
Loading…
Reference in a new issue