Commit graph

573 commits

Author SHA1 Message Date
Rhys Arkins
70857bfc5c
test: fix coverage (#3990) 2019-07-01 14:18:20 +02:00
Gabriel Lavoie
d4e5996894 feat(github): Support for team assignment. (#3973) 2019-06-27 14:53:25 +03:00
Rhys Arkins
941d6f14aa fix(gitFs): catch Could not write new index file error 2019-06-19 16:21:11 +02:00
Rhys Arkins
58f6498cc4 fix(github): don’t dump request stats 2019-06-17 08:31:36 +02:00
Rhys Arkins
154a8ddc2e feat(github): rest fallback for GHE issue retrieval
Falls back to REST api for issues retrieval if GHE version is < 2.17.0
2019-06-15 10:03:46 +02:00
Rhys Arkins
e94f85f636 fix(github): allow override of endpoint in initRepo 2019-06-14 11:54:36 +02:00
renovate[bot]
dab7b1c314 chore(deps): update dependency prettier to v1.18.0 (#3905) 2019-06-07 06:34:57 +02:00
Rhys Arkins
bdd2c056a2 fix(github): handle EAI_AGAIN 2019-06-06 18:57:08 +02:00
Rhys Arkins
5edbe981b7 fix(github): use err.body.message 2019-06-04 04:10:22 +02:00
Rhys Arkins
c20db3eea8 fix(github): platform-failure 2019-06-04 04:03:46 +02:00
Rhys Arkins
53dfe77aa4 fix(github): handle 451 errors 2019-06-01 11:39:03 +02:00
Rhys Arkins
74b8a0d3fd fix(github): better comment failure detection 2019-06-01 06:26:31 +02:00
Rhys Arkins
ccb5f105ae fix(github): better detect disabled issues 2019-06-01 05:58:52 +02:00
Rhys Arkins
c498e0858d fix(github): restructure git init auth 2019-05-31 10:40:11 +02:00
Rhys Arkins
6c8afb6a46 fix(github): findIssue should throw if error 2019-05-31 02:22:43 +02:00
Rhys Arkins
7e21110d26 fix(github): throw error if unable to retrieve issues 2019-05-31 02:22:43 +02:00
Rhys Arkins
ae507b7f11 fix(github): massage graphql baseUrl, not path 2019-05-31 02:22:43 +02:00
Rhys Arkins
2243b54f60 Revert "fix: Revert "feat(github): use graphql instead of rest api for issue list (#3808)""
This reverts commit dc194219d9.
2019-05-31 02:22:43 +02:00
Rhys Arkins
246d1664df logs: trace prRebase 2019-05-30 18:16:04 +02:00
Rhys Arkins
dc194219d9 fix: Revert "feat(github): use graphql instead of rest api for issue list (#3808)"
This reverts commit 8a19ee2bf6.
2019-05-30 16:30:16 +02:00
Rhys Arkins
a576a6f1cd fix(github): debug canRebase 2019-05-30 15:54:09 +02:00
Rhys Arkins
d6414ced16 fix(github): don’t skip graphql for closed PR list 2019-05-30 10:28:53 +02:00
Ciprian Mandache
8a19ee2bf6 feat(github): use graphql instead of rest api for issue list (#3808) 2019-05-28 14:17:09 +02:00
Michael Kriese
0b063aeaa1 feat(build): use babel (#3825) 2019-05-28 11:21:17 +02:00
Rhys Arkins
7a1703372b refactor(github): better retry logic 2019-05-27 09:07:52 +02:00
Rhys Arkins
e16487b824 fix(github): don’t unnecessarily retry 2019-05-27 08:57:40 +02:00
Rhys Arkins
4b907eb70d
refactor(github): use util/got (#3816) 2019-05-27 07:39:01 +02:00
Rhys Arkins
35f1f83371 chore: fix lint 2019-05-26 21:37:27 +02:00
Rhys Arkins
5d4e66144c fix(github): useCache 2019-05-26 21:17:00 +02:00
Rhys Arkins
439e19d78c
chore: remove all gitFs references (#3807) 2019-05-25 06:23:44 +02:00
Rhys Arkins
5f11c5e8d9
feat: hostRules rewrite (#3801)
Rewrites hostRules for increased flexibility. Includes renames of existing fields within a hostRule:
- `endpoint` -> `baseUrl`
- `host` -> `hostName`

Additionally, `domainName` has been added. Migration scripts should take care of these for users but it's recommended to update configs to match the new fields anyway.
2019-05-24 17:40:39 +02:00
Rhys Arkins
2426a5239f
feat(github): use git for all file operations (#3806)
With Renovate’s github platform code now using git for all file system operations, we need to tell Renovate which gitAuthor to use.

If you had already configured a gitAuthor in your bot config, you do not need to make any change.

Otherwise, to keep functionality as before, you should either:
(1) configure `gitAuthor` to match the bot’s account, or
(2) recreate your bot’s personal access token to include the “user:email” permission so that the bot can retrieve the email itself

BREAKING CHANGE: GitHub bot admins should either configure gitAuthor in their config or generate a new token with “user:email” permissions.
2019-05-24 16:34:52 +02:00
Michael Kriese
5f213255d0 test: fix coverage (#3794) 2019-05-24 15:01:07 +02:00
Rhys Arkins
b53c4c09cb Revert "feat(github): gitFs-only (#3736)"
This reverts commit acb493be95.
2019-05-24 12:08:55 +02:00
Rhys Arkins
acb493be95
feat(github): gitFs-only (#3736)
The github platform code will now use git "under the hood" instead of plucking files one by one from GitHub's API.
2019-05-24 11:50:11 +02:00
Rhys Arkins
1f6d18fcd6 fix(github): use defaults.endpoint
Closes #3787
2019-05-21 17:16:27 +02:00
Rhys Arkins
c02abf0976
feat: rename hostRules.platform to hostRules.hostType (#3768)
Refactors hostRules to use field “hostType” instead of “platform”. hostType can include datasources like npm, maven, pypi, etc.
2019-05-21 13:20:09 +02:00
Rhys Arkins
ee218097dc
feat: refactor platform authentication (#3758) 2019-05-20 10:59:30 +02:00
Rhys Arkins
9c9161d36c fix(github): autodiscover 100 per page 2019-05-18 18:58:32 +02:00
Rhys Arkins
3215d2966a
feat(gitFs): lazy fetching (#3638)
Instead of shallow cloning every branch (using —no-single-branch), we now clone only the default branch and lazy fetch the others as needed.
2019-05-17 08:10:40 +02:00
Rhys Arkins
6ec1aac9ad fix(platform): always set baseBranch 2019-05-15 13:04:16 +02:00
Johan Hillerström
88b1f0f0c1 feat(devops): Add azureAutoComplete config option (#3661) 2019-05-13 16:19:31 +02:00
Michael Kriese
1d474e409f feat: add 60s timeout to all requests (#3641) 2019-05-10 11:54:01 +02:00
mohd hassaan
eb936b4236 fix: autoclose resolved deprecated issues (#3611) 2019-05-01 09:28:30 +02:00
Rhys Arkins
5e0c788349 logs: log closed issue title 2019-04-30 10:09:15 +02:00
Rhys Arkins
7fdf6e8652 fix(github): log full err if failing a 5xx response 2019-04-28 22:11:02 +02:00
Rhys Arkins
5aed5026c6 fix: pass platform-failure up when updating PR 2019-04-28 21:43:25 +02:00
Rhys Arkins
34fbb7c5a7 fix(github): try/catch getCommitStatus check 2019-04-25 18:18:18 +02:00
Rhys Arkins
672c3c62ca fix(github): warn if PR cannot be updated 2019-04-11 09:20:39 +02:00
Rhys Arkins
07598efa37
fix: move git author logic to global worker and validate (#3410) 2019-03-19 17:21:19 +01:00
Rhys Arkins
6eec81fc49 refactor(github): log gitAuthor 2019-03-18 19:15:47 +01:00
Rhys Arkins
0576d4831b fix(github): don’t throw empty for every fileList 404 2019-03-17 08:17:43 +01:00
Rhys Arkins
61ce454d35 fix(github): limit pagination concurrency to 5 2019-03-17 07:22:18 +01:00
Rhys Arkins
c8bc40e0ae fix(github): catch empty repository in getFileList 2019-03-16 07:10:41 +01:00
Rhys Arkins
941169c40f fix(github): throw if getFileList fails 2019-03-12 20:01:57 +01:00
Rhys Arkins
cb79338984 fix(github): forkMode + gitFs
Closes #3355
2019-03-11 23:29:50 +01:00
Rhys Arkins
9cd81a0b6d feat(github): include vulnerability descriptions 2019-03-10 08:40:28 +01:00
Rhys Arkins
eb5ccffdcd fix: update GitHub vulnerability alerts parsing
Closes #3340
2019-03-09 07:16:12 +01:00
Rhys Arkins
e50d3dcd12 logs: branchName with file tree error 2019-02-18 16:13:37 +01:00
Rhys Arkins
de6b1c4566 refactor(github): log err with file list error 2019-02-18 13:22:01 +01:00
Rhys Arkins
d35b673323 refactor(github): don’t warn deleting protected branch 2019-02-13 12:46:26 -05:00
Rhys Arkins
fb891c9796 refactor: debug log unauthorized integration 2019-02-13 10:08:06 -05:00
Rhys Arkins
b1cc20d891 refactor(github): don’t warn if failing to comment on locked issue 2019-02-05 06:41:51 +01:00
Rhys Arkins
47305e6031 fix(github): catch 404 when committing files 2019-02-02 03:02:12 +01:00
Rhys Arkins
66062d946e fix(github): handle comment failure 2019-01-24 06:30:17 +01:00
Rhys Arkins
e8a487a90f refactor: drop mirrorMode 2019-01-23 00:05:56 +01:00
Rhys Arkins
b9d19e6738 fix(github): delinkify markdown references
Closes #3082
2019-01-18 10:35:21 +01:00
Rhys Arkins
525fed3069 fix(github): throw if GitHub Pro limitation 2019-01-15 11:15:23 +01:00
Rhys Arkins
c02323ca5a fix(github): check username after hostRules update 2019-01-13 07:16:57 +01:00
Rhys Arkins
f7f0d8750f feat: togithub.com redirect
Change github redirect links from renovatebot.com/gh/ to togithub.com
2019-01-08 05:44:42 +01:00
Rhys Arkins
76b9db414d fix: Revert "feat(github): allow positive PR reviews to override changes requested (#3037)"
This reverts commit 9af3ef2ee1.
2019-01-07 07:37:10 +01:00
Fedor Lukyanov
1a7326efeb refactor: Extract mask token function from npm datasource to utils (#3040)
Helps with https://github.com/renovatebot/renovate/pull/3039 😄
2019-01-07 06:38:24 +01:00
rtaum
9af3ef2ee1 feat(github): allow positive PR reviews to override changes requested (#3037)
Closes #3012
2019-01-06 17:56:30 +01:00
Rhys Arkins
55257fff26
feat: centralise app strings (#3032) 2019-01-06 14:47:42 +01:00
Rhys Arkins
e19294e894
feat: centralise config file list (#3031) 2019-01-06 06:03:26 +01:00
Rhys Arkins
67e3825f42 refactor: renovateFork -> includeForks 2018-12-31 07:46:00 +02:00
rtaum
9bee58143f feat(github): Block automerging if negative reviews exist (#3007)
If an automerging PR has negative/disapproving reviews, then do not automerge it until they are approved or dismissed.

Closes #2949
2018-12-28 06:40:48 +02:00
Rhys Arkins
10d0f58c88 fix(gitFs): allow admin renovateFork override 2018-12-23 08:47:22 +02:00
Rhys Arkins
e0d7784ddb fix: issue pagination/filtering 2018-12-19 15:31:20 +01:00
Rhys Arkins
d5a82a16f4 fix(github): don’t aggressively close issues once 2018-12-19 06:28:12 +01:00
Rhys Arkins
08b7752027 feat(github): ensure issue once 2018-12-19 06:05:43 +01:00
Rhys Arkins
7e7abb60e1 tests: fix renovate user tests 2018-12-17 15:08:43 +01:00
Rhys Arkins
99faf6fe0d feat(github): detect/print Renovate user 2018-12-17 12:52:06 +01:00
Rhys Arkins
861cce0123 feat: detect/print renovate version 2018-12-17 12:43:15 +01:00
Rhys Arkins
4cf202d5b9 fix(github): paginate issues 2018-12-16 18:45:11 +01:00
Rhys Arkins
6ef61c8608 Revert "feat: ensureIssue once"
This reverts commit 3988fb808a.
2018-12-16 17:18:00 +01:00
Rhys Arkins
0956c058d0 Revert "fix: ensureIssue logic (#2957)"
This reverts commit 83b4bead48.
2018-12-16 17:17:33 +01:00
Rhys Arkins
83b4bead48
fix: ensureIssue logic (#2957)
if ensureIssue once, and the first matching issue was closed, then any other matching open ones are also closed.

If ensureIssue regular, and all are closed, then reopen the latest one.
2018-12-16 13:47:05 +01:00
Rhys Arkins
3988fb808a feat: ensureIssue once
Closes #2936
2018-12-14 11:47:52 +01:00
Rhys Arkins
a61dd82bbc fix(github): better branch automerge status check
Closes #2948
2018-12-13 05:41:32 +01:00
Rhys Arkins
392d7a8893 refactor(github): log raw check runs if empty 2018-12-05 04:24:16 +01:00
Rhys Arkins
195b882916 refactor(github): don’t warn check runs unauthorized 2018-12-03 14:33:26 +01:00
Rhys Arkins
fd6398ef69 fix(github): gracefully handle integration unauthorized 2018-12-03 12:03:46 +01:00
Grigorij Eleskin
400272f68e fix(github): handle ParseError (#2885) 2018-12-03 10:49:07 +01:00
Rhys Arkins
a0cb599f03 fix(github): getIssueList get last 100 sorted by updated
filter=created does not seem to work for apps.

Fixes #2747
2018-11-17 11:00:32 +01:00
Rhys Arkins
b2c581bb33 chore: eslint 2018-11-16 22:16:48 +01:00
Rhys Arkins
78288fa7ac refactor(github): improve debug logging of issues 2018-11-16 22:07:25 +01:00
Rhys Arkins
603f21d9bc logs: drop dupe Branch created message 2018-11-11 07:33:26 +01:00
Rhys Arkins
e4a73c2320 fix(github): detect status checks automerge failure
.. and don’t create PRs.

Closes #2786
2018-11-11 07:09:39 +01:00
Rhys Arkins
fe4827af5e refactor(github): drop header logging 2018-11-09 22:33:11 +01:00
renovate[bot]
dff1fb137b feat(deps): update got packages (major) (#2433) 2018-11-09 12:50:21 +01:00
Ayoub Kaanich
164b9af513 feat: gitFs over SSH (#2768)
Support setting git clone protocol `http`, `https` or `ssh`.
Config name: `gitFsProtocol`.
Platform independent.

Closes #2708
2018-11-08 13:21:36 +01:00
Rhys Arkins
be8473c5d1 refactor: log err with label deletion failure 2018-11-08 07:29:14 +01:00
Rhys Arkins
00bc05704e fix(github): accept neutral check runs 2018-10-29 05:26:28 +01:00
Rhys Arkins
99014ff973 refactor(github): retry abuse detection ony once 2018-10-28 14:46:52 +01:00
Rhys Arkins
77d6a29b74 chore: fix getClosedPrs log message 2018-10-19 07:29:32 +02:00
Rhys Arkins
cb32fed7a1 refactor: return true from ensureComment 2018-10-19 07:29:19 +02:00
Rhys Arkins
068c2d4938 fix(github): check for parent edges 2018-10-19 07:15:55 +02:00
Rhys Arkins
058289e8bd fix(githhub): handle empty file 2018-10-18 04:59:07 +02:00
Rhys Arkins
6a48c03b3d
fix: massage empty renovate config to {} (#2663) 2018-10-17 12:19:34 +02:00
Rhys Arkins
56cfa3affb fix(github): don’t retry resource not accessible by integration 2018-10-16 16:40:13 +02:00
Rhys Arkins
72a54d3664 fix(github): don’t warn for check runs permissions 2018-10-16 14:50:35 +02:00
Rhys Arkins
d19a4ba709
feat(github): support check-runs for branch status (#2659)
Closes #2571, Closes #2616
2018-10-16 12:43:27 +02:00
Rhys Arkins
50ba8473f7 refactor: lower debug logging 2018-10-15 09:21:57 +02:00
Rhys Arkins
8f8cffbd6f fix(github): force fork updates 2018-10-09 09:52:12 +02:00
Rhys Arkins
2cabefef83 fix(github): gracefully handle fork error 2018-10-08 10:42:17 +02:00
Rhys Arkins
3b387e92db fix: skip gitFs if unrenovated fork 2018-10-05 09:35:40 +02:00
Rhys Arkins
9bfa8e120b fix(pr): don’t truncate configuration and footer 2018-10-05 07:37:15 +02:00
Rhys Arkins
6481c74905 feat: add platform.findIssue() 2018-10-03 15:47:03 +02:00
Rhys Arkins
8f013b5401 fix: update branch/pr lists after creation 2018-10-03 15:17:01 +02:00
Rhys Arkins
860ee49496 chore: fix label deletion typo 2018-09-27 15:16:16 +02:00
Rhys Arkins
ffc04a0203 fix(github): catch 409 empty 2018-09-24 20:02:57 +02:00
Rhys Arkins
08cf55e81f logs: branch/branchName 2018-09-24 11:47:49 +02:00
Rhys Arkins
9d46ca6dbd refactor: lower log levels 2018-09-23 07:26:06 +02:00
Rhys Arkins
5c4dc4a063
refactor(github): use markdown not html for PR body (#2555) 2018-09-23 06:05:43 +02:00
Rhys Arkins
8a6e5fddfa fix: Revert "refactor(changelog): use markdown not html"
This reverts commit 0340f42d84.
2018-09-22 18:41:32 +02:00
Rhys Arkins
0340f42d84 refactor(changelog): use markdown not html
Closes #2553
2018-09-22 17:49:56 +02:00
Rhys Arkins
2fd1c47485 fix(github): catch fork patch errors and throw 2018-09-18 20:41:54 +02:00
Rhys Arkins
fd5b265716 fix(github): catch branch deletion and throw 2018-09-18 09:57:28 +02:00
Rhys Arkins
788d96e5e9 refactor: rename isUnmergeable to isConflicted 2018-09-14 20:02:51 +02:00
Rhys Arkins
b817db10a3
feat: rebase on demand (#2522)
Adds functionality to force rebase a PR if the label "rebase" is added. Also, the label is configurable via a new `rebaseLabel` config option.

Closes #1406
2018-09-14 12:51:33 +02:00
Rhys Arkins
400b2f9929 logs: don’t warn for graphql failure 2018-09-14 12:50:24 +02:00
Rhys Arkins
e47b8e7df4 tests: fix lint 2018-09-13 06:50:31 +02:00
Rhys Arkins
fc12a0f78a logs: no add reviewers debug body 2018-09-13 06:19:35 +02:00
Rhys Arkins
9add135b00 fix(ghe): skip unsupported graphql queries if GHE
Closes #2516
2018-09-13 05:54:48 +02:00
Rhys Arkins
f91d064d14 logs: lower graphql warn to info 2018-09-13 05:54:21 +02:00
Rhys Arkins
e66ededcfd fix(ghe): don’t escape PR bodies if using non-github.com endpoint 2018-09-13 05:44:27 +02:00
Rhys Arkins
b8f76ee230 fix(ghe): strip /v3 suffix for graphql
Closes #2507
2018-09-12 19:58:21 +02:00
Rhys Arkins
ee869f5e61 refactor: log full path for requests array 2018-09-12 19:17:02 +02:00
Rhys Arkins
f8cf83380f
refactor: endpoints -> hostRules (#2509)
Renames `endpoints` to `hostRules`
2018-09-12 12:16:17 +02:00
Rhys Arkins
88400b4106 refactor(github): reduce graphql retry to 25 2018-09-11 17:44:30 +02:00
Rhys Arkins
7e026ed49f refactor(github): retry graphql with 50 instead of 100 2018-09-11 16:21:26 +02:00
Rhys Arkins
9675bd6d0d fix(github): graphql parsing 2018-09-11 15:31:59 +02:00
Rhys Arkins
d907bd4b2f Revert "fix(github): parse graphql json in wrapper"
This reverts commit da7b4e6899.
2018-09-11 15:22:05 +02:00
Rhys Arkins
0ea28afe29 logs: fix closed pr message 2018-09-11 14:57:26 +02:00
Rhys Arkins
da7b4e6899 fix(github): parse graphql json in wrapper 2018-09-11 14:41:35 +02:00
Rhys Arkins
227d1d4cb7 refactor(github): improve graphql logging and retries 2018-09-11 11:05:35 +02:00
Rhys Arkins
c56362f63b refactor(github): better log query during error 2018-09-11 10:32:08 +02:00
Rhys Arkins
1ab9b09d41 fix(github): catch empty graphql data 2018-09-11 10:14:29 +02:00
Rhys Arkins
15d6d3502e fix(github): parseInt rate limit values 2018-09-11 09:57:11 +02:00
Rhys Arkins
9e38d021a6 refactor(github): use graphql to fetch closed PRs 2018-09-11 09:49:01 +02:00
Rhys Arkins
f3c8534e6c logs: improve github log levels 2018-09-11 09:15:24 +02:00
Rhys Arkins
5ab5a44f4d fix(github): clean openPrList between runs 2018-09-11 07:11:32 +02:00
Rhys Arkins
b4fe18dbbd refactor(github): log graphql pr numbers 2018-09-11 06:33:39 +02:00
Rhys Arkins
dc038b3962 refactor(github): use graphql to retrieve open pr list 2018-09-11 06:07:50 +02:00
Rhys Arkins
bf23922b5c refactor(gitfs): use localDir 2018-09-10 16:25:55 +02:00
Rhys Arkins
9fb98db3f5 tests: fix coverage 2018-09-10 15:32:03 +02:00
Rhys Arkins
8f5fb582cb feat: platform.getRepoStatus 2018-09-10 14:01:56 +02:00
Rhys Arkins
9fa3ea4e90 refactor: appMode 2018-09-07 06:28:07 +02:00
Rhys Arkins
280c98e243 fix(gitfs): appMode x-access-token 2018-09-06 19:44:36 +02:00
Rhys Arkins
eb61280fe8 fix(github): throw platform error for ETIMEDOUT 2018-09-06 11:30:08 +02:00
Rhys Arkins
73df75d0c0 feat(gitfs): reuse cloned git directory
Closes #2430
2018-09-05 21:51:39 +02:00
Rhys Arkins
bdd30bb2a5 logs: less info 2018-09-05 20:50:13 +02:00
Rhys Arkins
88c6a48b2a logs: less debug 2018-09-05 15:04:18 +02:00
Rhys Arkins
e2b8cef040 refactor: gitFs configuration option
Adds configuration option gitFs for git-based file operations.
2018-09-05 14:46:36 +02:00
Rhys Arkins
bf3f086240 refactor: clear stats only if more than one request 2018-09-05 14:19:03 +02:00
Rhys Arkins
4539487d26 refactor: less logging 2018-09-05 14:18:31 +02:00
Rhys Arkins
d6b1040de2 refactor: improve get stats 2018-09-05 11:03:47 +02:00
Rhys Arkins
80463651ca feat: logger err serializer
Include body, message and stack with every error if present
2018-09-05 10:32:53 +02:00
Rhys Arkins
58b731798e refactor(github): don’t prefetch prList and fileList 2018-09-05 06:34:39 +02:00
Rhys Arkins
f5b93de82d refactor(github): simplify getAllRenovateBranches 2018-09-05 06:23:55 +02:00
Rhys Arkins
a548837b7b fix: maintainer_can_modify for forked PRs
Closes #2476
2018-09-04 18:35:42 +02:00
Rhys Arkins
31a1c11660 feat(github): dump request stats per-repo
Closes #1516
2018-09-04 17:56:28 +02:00
Rhys Arkins
c13c49863e logs: drop retries debug from gh wrapper 2018-09-04 17:45:21 +02:00
Rhys Arkins
9867ac3dc8 refactor: print masked Token when Bad credentials 2018-09-04 14:51:58 +02:00
Rhys Arkins
9572eaa6f9 refactor(github): getBranchList 2018-09-04 06:40:47 +02:00
Rhys Arkins
6f0b477777 fix: revert pagination cache 2018-09-03 18:57:20 +02:00
Rhys Arkins
63f062b13a refactor: better debug cached pagination 2018-09-03 18:32:35 +02:00
Rhys Arkins
6e494d11aa fix: try/catch all cache attempts 2018-09-03 17:52:19 +02:00
Rhys Arkins
1e1cdf8b6d
feat(github): cache pagination results (#2458)
Renovate will cache the results body of any paginated results from GitHub, such as list of Pull Requests or release tags. Then, after receiving the first page of results in future, Renovate will compare the received eTag with the cached eTag and if they match then it will return the cached results instead of querying them again via the GitHub API.

The benefits should be two-fold:
- Reduce the number of API calls required to GitHub
- Reduce the time taken to retrieve such results
2018-09-03 17:35:48 +02:00
Rhys Arkins
8bfe3897de fix(github): platform-error if ENOTFOUND 2018-09-03 10:58:20 +02:00
Rhys Arkins
e2f51b51ce refactor: RENOVATE_USER_AGENT 2018-08-28 17:07:00 +02:00
Rhys Arkins
d19ac8b666 refactor: log err.headers when rate limit exceeded 2018-08-28 16:10:33 +02:00
Ayoub Kaanich
ce5f434b56 feat: Git FS (#2323)
Methods to support performing Git operation using filesystem instead of web API. GitHub only and experimental only. Usage: define env variable `RENOVATE_GIT_FS`.

Closes #1925
2018-08-25 15:50:49 +02:00
Rhys Arkins
6b6d1bf859 refactor(logs): return logs to app layer 2018-08-23 20:35:25 +02:00
Rhys Arkins
1be6c9f713 refactor(logs): adjust log levels for branch and pr events 2018-08-23 20:11:38 +02:00
Ayoub Kaanich
def2c8f518 refactor: Prepare GitHub storage for Git storage (#2378)
Contains GitHub specific changes from #2323
2018-08-15 07:57:09 +02:00
Ayoub Kaanich
8d3f164f19 refactor(github): move git API into its own file (#2346)
Related to #2323 and #1925
2018-08-06 09:04:08 +02:00
Rhys Arkins
0a50abbbca fix(github): handle case of no vulnerability alerts 2018-07-28 10:32:25 +02:00
Rhys Arkins
0fa593d5ab feat: log github vulnerability alerts 2018-07-28 08:47:49 +02:00
Rhys Arkins
b932829060 fix: Revert "refactor(github): don’t try/catch getAllRenovateBranches"
This reverts commit ba12183626.
2018-07-27 19:26:18 +02:00
Rhys Arkins
728b44d74a refactor(github): don’t try/catch getBranchCommit 2018-07-26 21:28:10 +02:00
Rhys Arkins
ba12183626 refactor(github): don’t try/catch getAllRenovateBranches 2018-07-26 21:13:41 +02:00
Rhys Arkins
785ff84c31 feat(github): replace github links with renovatebot redirects
Converts to HTML then replaces hrefs to github.com with renovatebot.com/gh/. Skips if non-github.com endpoint detected.

Closes #1804
2018-07-25 19:34:01 +02:00
Rhys Arkins
56de9339b5 fix(github): throw platform-failure for 5xx errors 2018-07-25 15:22:23 +02:00
Rhys Arkins
8c41640c87 fix: pass platform errors up 2018-07-23 16:47:37 +02:00
Rhys Arkins
2bb97240f1 fix(github): detect rate limit correctly 2018-07-23 13:11:56 +02:00
Rhys Arkins
981d5a1cce feat: set prBody formatting per-platform
Pushes “getPrBody” logic into platform level to allow platforms to individually do things like text replacements and body length limiting.

Closes #2267
2018-07-22 07:47:23 +02:00
Rhys Arkins
2af433094c fix(github): treat 401 Bad Credentials as platform failure 2018-07-21 08:38:13 +02:00
Rhys Arkins
5d0b63bd06 fix(github): try large files only if in root dir 2018-07-20 18:52:23 +02:00
Rhys Arkins
ef92d69a88 fix(github): throw error if commit checking fails
Closes #2246
2018-07-12 07:58:31 +02:00
Rhys Arkins
ee4132fd14 refactor: if/else with return 2018-07-09 11:28:42 +02:00
Rhys Arkins
11c4741271 refactor: fix import order 2018-07-09 11:15:06 +02:00
Ayoub Kaanich
219950399e feat: endpoints credentials handling 2018-07-06 07:26:52 +02:00
Rhys Arkins
180e68fd43 feat(github): delete duplicate issues when ensuring issue 2018-07-05 14:05:29 +02:00
Rhys Arkins
0f1d946c90 fix: delete issueList after creating issue
Delete cached issueList after creating any new issue, so that we don’t end up with “old” state and potentially create duplicate issues.
2018-07-05 09:52:31 +02:00
Rhys Arkins
f3c3761772 refactor: opts.useCache
Adds option for useCache to github and gitlab wrappers.
2018-07-05 09:46:36 +02:00
Rhys Arkins
0e83d471fe feat(github): pagination page limit 2018-07-03 11:53:09 +02:00
Rhys Arkins
c99c74b8e4 logs: additional logs for abuse detection rejection 2018-07-02 21:31:37 +02:00
Rhys Arkins
068ff16ec4 fix: Revert "feat: endpoint credentials handling (#2146)"
This reverts commit 04e0ca1f80.
2018-07-02 13:18:37 +02:00
Ayoub Kaanich
04e0ca1f80 feat: endpoint credentials handling (#2146)
Refactors credentials/token handling to rely less on env variables and instead use an endpoints middleware for credentials handling.

First step towards #2105
2018-07-02 10:01:42 +02:00
Rhys Arkins
b4f7ed2e0d refactor: simplify mergeBranch 2018-06-28 13:56:08 +02:00
Rhys Arkins
aa4aee0e56
feat: check pr commit author against gitAuthor (#2170)
If gitAuthor is configured, checks that a PR’s commit matches. If not, it is assumed that someone else force pushed to the repo and we should not rebase it.

Closes #2169
2018-06-28 08:45:28 +02:00
Rhys Arkins
57249e105b
feat: pass gitAuthor to platform during init (#2183)
Refactors platforms to take the admin-only `gitAuthor` and `gitPrivateKey` values during repository initialisation instead of during file commits.
2018-06-27 18:40:54 +02:00
Rhys Arkins
8da5888ef6 feat: combine branch automergeTypes
This deprecates branch-push and branch-merge-commit automergeTypes and replaces with “branch”, which has the same behaviour as the previous branch-push.

BREAKING CHANGE: branch-merge-commit automergeType behaviour is no longer supported, all branch automerges now use branch push approach.
2018-06-26 14:01:13 +02:00
Rhys Arkins
1362d980b9 logs: info not warn when branch automerge fails 2018-06-26 12:54:57 +02:00
Rhys Arkins
25ecbb8a18 fix: correct/update all urls
Updates renovateapp -> renovatebot
2018-06-26 11:31:18 +02:00
Rhys Arkins
1b935db8ad fix: skip setBranchStatus when in forkMode 2018-06-26 10:51:27 +02:00
Rhys Arkins
65122fc3ba fix: throw err for bad credentials when fetching commit messages 2018-06-20 07:38:02 +02:00
Rhys Arkins
6916d924c5 refactor(github): log rate limit when receiving bad-credentials 2018-06-19 19:18:01 +02:00
Rhys Arkins
801bfbef11 fix(github): don’t check branch protection if fork mode
Closes #2073
2018-06-08 11:33:46 +02:00
Rhys Arkins
98e9198c8e refactor: replace indexOfs 2018-06-04 20:44:32 +02:00
Connor Brathwaite
398303235b (refactor): delegate generic predicate checking to @sindresorhus/is (#2021)
Closes #1764
2018-06-04 20:07:22 +02:00
Rhys Arkins
b6ee52e74d fix(github): do not retry blog size 403s 2018-06-03 09:44:35 +02:00
Rhys Arkins
2f1e1a979a fix: Revert "feat: permission check in initRepo (#1983)"
This reverts commit 09978ae8dd.
2018-05-19 09:15:10 +02:00
Dragomir Țurcanu
09978ae8dd feat: permission check in initRepo (#1983)
Added permission checking on `initRepo` which, in case of an error, throws a clear message (`The token doesn't have the write permissions to the repository`)

Closes #509
2018-05-19 08:33:41 +02:00
Ayoub Kaanich
70252b0513 feat(github): parallel paginate (#1973)
Fetch pages 2..10 in parallel

Closes #1944
2018-05-16 07:23:59 +02:00
Rhys Arkins
f63a882cc7 logs: trace getFile 2018-05-16 06:37:01 +02:00
Rhys Arkins
fc203bcc89 refactor(github): do not retry 401 Bad Credentials 2018-05-16 06:04:55 +02:00
Rhys Arkins
0fa499cd66 fix: getPr canRebase calculation
Closes #1961
2018-05-13 14:36:56 +02:00
Rhys Arkins
37874127db fix: return null for large files off master 2018-05-12 06:32:30 +02:00
Rhys Arkins
a8a3197629 fix(github): check pull request reviews before merging 2018-05-12 06:17:24 +02:00
Rhys Arkins
5dfe14b71c logs: less getPrList 2018-05-09 18:44:41 +02:00
Rhys Arkins
9e47738e8e fix: don’t attempt automerge if push protection enabled (github) 2018-05-09 08:53:57 +02:00
Rhys Arkins
ecdcd9df4f
feat: refactor dependency extraction (#1912)
Rewrite of dependency extraction, particularly for npm. Paves way for easier addition of new package managers.

Closes #1882
2018-05-09 08:03:59 +02:00
Rhys Arkins
1762ee68a0
feat: automergeComment (#1906)
Adds new option “pr-comment” for `automergeType` and a new option `automergeComment` to use in such a case.
2018-05-04 06:55:01 +02:00
Rhys Arkins
45dc236e40 fix: log request options with when errored 2018-05-03 19:18:53 +02:00
Rhys Arkins
6415833a4b refactor: renovateapp.com -> renovatebot.com 2018-04-24 13:59:42 +02:00
Rhys Arkins
6eb5fe787b fix: typo in large file tree url 2018-04-19 09:09:27 +02:00
Rhys Arkins
1564150d9f refactor: streamline debug logging 2018-04-18 21:19:00 +02:00
renovate[bot]
106375295e chore: update dependency prettier to v1.12.1 (#1841) 2018-04-17 08:29:55 +02:00
Rhys Arkins
5a6be0f9b2 fix: keep trying automerge if receiving a 405
GitHub forbids rebase merging if signed commits branch protection is enabled. We still want to try rebase first though, so will keep trying.
2018-04-11 10:39:12 +02:00
Rhys Arkins
f634812636 logs: improve merge status/result debug 2018-04-11 09:39:35 +02:00
Rhys Arkins
2dd588df06 fix: branch status check typo 2018-04-11 09:39:08 +02:00
Ayoub Kaanich
ec7f75cfe9 refactor: use delay for gh-got wrapper 2018-04-09 06:07:48 +02:00
Rhys Arkins
b6cf7360e2
fix: clean repo at end of every repo run (#1787)
Closes #1786
2018-04-04 14:16:36 +02:00
Rhys Arkins
96275379a7 logs: Autodiscovering 2018-04-04 13:38:06 +02:00
Rhys Arkins
c78da83798 logs: debug log fileList length when retrieving 2018-04-04 07:18:01 +02:00
Rhys Arkins
ba98e7dc3e fix(github): don’t post branch status check if already set
Closes #1779
2018-04-03 06:51:19 +02:00
Ayoub Kaanich
3b8f3c5c16 fix: use sha instead of ref for PRs when possible. (#1772)
Resolves #1658
2018-04-02 22:49:34 +02:00