Commit Graph

63 Commits

Author SHA1 Message Date
rhysd b179163923 tweak README [skip ci] 2018-11-10 12:52:51 +09:00
Tobias Kohlbau 116dfa144d Add hash and signature validation
Go-self-update lacks support for checking integrity of downloaded files.
For more advanced situation it's necessary to validate the hash or
verify against public signatures. This patch adds support for
SHA2 hash and ECDSA PublicKey signature validation.
SHA2 uses file with suffix `.sha256`, whereas ECDSA uses
`.sig` file endings. See `selfupdate/validate_test.go` for examples.

Signed-off-by: Tobias Kohlbau <t.kohlbau@myopenfactory.com>
2018-11-09 11:21:21 +01:00
Linda_pp c7abcd03e1
Merge pull request #13 from databus23/patch-2
Do not require GITHUB_TOKEN for enterprise setups
2018-05-20 21:50:52 +09:00
rhysd 967270aa69 remove TestGitHubEnterpriseClientWithoutToken which is no longer valid due to 41acec2 2018-05-20 21:49:57 +09:00
Fabian Ruff 41acec25c4 Do not require GITHUB_TOKEN for enterprise setups
Not sure why this was added but using no token works for our GitHub enterprise installation.
2018-04-27 17:12:36 +02:00
Fabian Ruff d1140d3bf8
fix UpdateSelf invocation on custom Updater object 2018-04-27 16:07:51 +02:00
rhysd d475f34e08 fix misspells 2018-03-21 19:18:46 +09:00
Jean-Baptiste Farez a3573534f9
Add support to pass custom version to fetch from Github 2018-03-13 09:16:15 +01:00
rhysd d5c53b8d05 do not assume tag text is always semantic versioning
regex \d+\.\d+\.\d+ is tested for repository tags. But it's not
sufficient. For example, '0.1.2.3.4' is not adopting a semantic
versioning, but can pass the regex.
2018-02-12 00:05:51 +09:00
rhysd 9b705a72eb refactoring: positional fields for struct and unnamed return value
- positional fields are better because it raises an error when missing
  field is detected
- unnamed return value is better because it introduces simpler control
  sequence. Previously I used it because rel.Version is added after
  and the parse may cause an error. But now it is parsed more earlier
  and not required in DetectLatest().
2018-02-11 23:50:21 +09:00
rhysd 02a5d46e86 do not assume a descending order (fix #11)
for testing, v0.0.9 is added to test-release-tar repository.

    https://github.com/rhysd-test/test-release-tar/releases
2018-02-11 23:22:08 +09:00
rhysd 7bcefbd709 refactoring: parse a version when an asset is detected 2018-02-11 22:57:15 +09:00
rhysd a384a5b5c8 test creating an updater when token is not set 2018-02-06 14:01:43 +09:00
rhysd 2bc49bb7b5 add more log on detection and fix a log message 2018-02-06 13:47:59 +09:00
rhysd 8fd62fcf16 remove httpClient field of Updater instance which is not used 2018-02-06 11:57:30 +09:00
rhysd 7b77ed8d85 tweak document of DetectLatest() 2018-02-06 11:57:30 +09:00
Jean-Baptiste Farez 05a876f32d Fix go-github int64 requirements (#9) 2018-02-02 18:07:47 +09:00
rhysd 083b14b51a add a test for private repositories 2018-01-20 00:34:50 +09:00
rhysd a8d7262d70 add tests for GitHub Enterprise more
These tests require GHE environment.
Please set following environment variables:

- $GITHUB_ENTERPRISE_TOKEN
- $GITHUB_ENTERPRISE_BASE_URL
- $GITHUB_ENTERPRISE_REPO
2018-01-19 19:49:45 +09:00
rhysd 89582ba9d1 add more test cases to check invalid GitHub Enterprise base URL 2018-01-19 18:43:29 +09:00
rhysd 1265b4826d add tests to create an updater instance for GitHub Enterprise 2018-01-19 18:13:38 +09:00
rhysd f637165ab7 add description about `Updater` struct usage for GitHub Enterprise 2018-01-19 18:04:30 +09:00
rhysd d0de60fba1 enable to have enterprise base URL and upload URL 2018-01-19 17:47:21 +09:00
rhysd 996452a5ed use default HTTP client to download blob from redirect URL 2018-01-19 17:00:30 +09:00
rhysd d98ca18787 fix handling redirection of GitHub download asset API 2018-01-19 15:03:47 +09:00
rhysd 6b4eeadeb7 download an asset via GitHub Releases API by default 2018-01-19 13:30:23 +09:00
rhysd fd492d6b01 create Updater struct to use persistent GitHub API client also for downloading assets 2018-01-19 11:35:24 +09:00
Songmu 179b999395 support tcnksm/go-gitconfig.GithubToken() 2018-01-18 19:33:31 +09:00
rhysd cee0f07401 fix tests for symlinks 2018-01-04 00:26:01 +09:00
rhysd ec5a2a1955 enable tests for symlinks on AppVeyor
because root privilege is available on AppVeyor
2018-01-03 23:29:31 +09:00
rhysd 1064397350 fix tests which used a not-existing path 2018-01-03 23:13:23 +09:00
rhysd 3a2ffd274f consider the case where executable is symlink 2018-01-03 23:01:33 +09:00
rhysd 8817d5390d add a test case to check file names of releases can contain version (fix #5) 2018-01-03 19:06:33 +09:00
Songmu f51b648941 use os.Executable instead of using os.Args[0] 2018-01-02 23:43:45 +09:00
rhysd 533ad72291 more logs on uncompressing archives 2018-01-01 19:35:39 +09:00
rhysd 68bce0b4e5 fix tests for checking prefix of tag name 2017-12-31 18:39:24 +09:00
rhysd f6766d9880 add more information to Release struct
- asset's size
- release name
- release time
2017-12-31 17:36:46 +09:00
rhysd 0a9c0f7987 add tests for .tar.xz and .xz releases 2017-12-31 13:35:22 +09:00
rhysd 1a3999baf4 describe xz support in doc 2017-12-31 12:14:17 +09:00
rhysd f8d9336cde implement xz support 2017-12-31 12:10:34 +09:00
rhysd 82b1ad49fc add documents for go-get-release 2017-12-30 17:40:59 +09:00
rhysd a12335af1a make uncompress() public 2017-12-30 17:32:14 +09:00
rhysd 597627d0b7 add detect-latest-release command 2017-12-30 16:14:06 +09:00
rhysd b0a66e95eb consider .exe file extension for command path 2017-12-30 13:45:19 +09:00
rhysd cf74f35eed consider .exe is added to executable on Windows 2017-12-30 13:41:34 +09:00
rhysd 0cce7553af add more logs 2017-12-30 13:25:42 +09:00
rhysd f1c1ec1871 add introduction to godoc 2017-12-30 12:31:07 +09:00
rhysd f44b3ad7b4 do not calculate header of log when disabled 2017-12-30 12:21:23 +09:00
rhysd 79d641a2f6 add tests for downloading and updating binary 2017-12-30 12:21:23 +09:00
rhysd 7eef061d32 do not run E2E test on short mode 2017-12-30 12:21:23 +09:00