Commit graph

290 commits

Author SHA1 Message Date
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
Sarun Intaralawan
ffb96cabcd fix(gitlab): use correct API for closing issues (#2327)
GitLab's API for closing issue is to send a PUT request with `state_event` set to `close`.

Reference: https://docs.gitlab.com/ce/api/issues.html#edit-issue
2018-07-30 11:32:06 +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
a01b0b80ba fix(gitlab): html formatting to fix details/summary
Fixes #2317
2018-07-27 19:49:56 +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
1892b90348 feat(gitlab): use markdown for pr bodies 2018-07-22 22:03:14 +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
6d86a2753d feat: retry gitlab 429 for up to 5 minutes
Retries every minute up to 5 times if receiving 429 from gitlab.

Closes #1578
2018-07-19 18:17:00 +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
Dragomir Țurcanu
3e19a4708e feat(gitlab): mergeBranch (#2178) 2018-07-02 11:27:08 +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
d2eb44ea04 fix(gitlab): massage state opened -> open
Closes #2200
2018-06-30 23:07:37 +02:00
Marvin Altemeier
a29228398a fix(gitlab): correct prFiles gitlab api (#2192)
Fixes call to Gitlab API.
Settings require direct path to API, the fixed string doubled it
2018-06-29 12:09:11 +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
Dragomir Țurcanu
eec196b8b8 fix: Update GitLab wrapper and snapshots (#2185) 2018-06-27 10:35:33 +02:00
Dragomir Țurcanu
17005fa3e8 fix: Shortened the URLs in the GitLab wrapper (#2184)
fix: Shortened the URLs in the GitLab wrapper
2018-06-27 10:15:15 +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
e51f152eaf feat: gitlab recursive file list disabling
For very large repositories, recursing through the entire repo can be very time consuming. Bot admins can now disable file list recursion by setting the env `RENOVATE_DISABLE_FILE_RECURSION=true`. Then only files within the root directory of repositories will be found.

Closes #2172
2018-06-26 12:28:43 +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
Dragomir Țurcanu
12519bbf8f feat: Add GitLab issue functions (#2150)
This PR adds issue handling functions to the GitLab platform. The implemented functions are `getIssueList`, `ensureIssue` and `ensureIssueClosing` (migrated from GitHub).

Closes #1587
2018-06-21 08:39:24 +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
Dragomir Țurcanu
e82e5d0d7b feat: GitLab getPrFiles function (#2131)
This PR integrates the `getPrFiles` function into the GitLab's wrapper.
2018-06-19 13:39:25 +02:00
Rhys Arkins
67c7d9a6cf fix(gitlab): remove absolute gitlab.com api endpoints 2018-06-15 07:20:48 +02:00
Dragomir Țurcanu
188005c91e feat: GitLab wrapper commenting functionality (#2091)
Adds a series of functions related to the commenting aspect of GitLab for the API wrapper. These functions are: `getComments`, `addComment`, `editComment`, `deleteComment`, `ensureComment` and `ensureCommentRemoval`.
2018-06-12 07:18:28 +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
Dragomir Țurcanu
89978d4ebe fix: GitLab MR rebasing logic (#2006)
Fixed the 404 error on branch rebasing. (GitLab)

Closes #1992
2018-05-23 19:26:56 +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
Sarun Intaralawan
776e516e83 feat: implement isBranchStale for GitLab (#1833)
Closes #1626
2018-04-14 21:47:22 +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
Adam Moss
51c1efa7a8 fix(gitlab-reviewer): change from error to warning (#1803)
GitLab as of v10.6 has a API end point for Merge Request Approvals
which equates to the Reviewer functionality in GitHub.  This is available
to both GitLab.com and EES or above on-prem users.

See https://docs.gitlab.com/ee/api/merge_request_approvals.html#merge-request-level-approvals

Signed-off-by: Adam Moss <adam.moss@bcs.org.uk>
2018-04-06 11:31:34 +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
Steven Hargrove
24c324c5b6 refactor: initPlatform 2018-04-04 13:33:56 +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
Rhys Arkins
61e4de2745 fix: check that result body is an array for getIssueList() 2018-04-02 18:46:45 +02:00
Rhys Arkins
6edb5fd579 fix: cache github requests that include a host prefix
We were only caching GET requests that start with `repos/` and so this skipped URLs requested by our release-notes (CHANGELOG.md) function.
2018-03-30 13:37:06 +02:00
Rhys Arkins
c4d8c36fd6 logs: log github requests only if non-cached 2018-03-30 13:33:37 +02:00
Rhys Arkins
6eea2e63d3 logs: info only if issues are disabled 2018-03-29 14:16:39 +02:00
Rhys Arkins
d9c1521f73 fix: delete blocking branch before attempting create 2018-03-28 16:08:07 +02:00
Rhys Arkins
171cdf372b fix: add option for unlimited pagination
Set env variable RENOVATE_PAGINATE_ALL to disable Renovate’s regular limiting of 1000 results (unlimited results will be returned).
2018-03-28 06:04:44 +02:00
Rhys Arkins
9ab4e55bc5 chore: reduce logger.debug volume 2018-03-27 21:57:02 +02:00
Rhys Arkins
4c3581caf0 fix: prune “renovate” branch if branchPrefix is “renovate/“
Otherwise it blocks us from branch creation
2018-03-26 12:10:00 +02:00
Rhys Arkins
ddca468cc7 fix: github branch warm 2018-03-25 21:25:02 +02:00
Rhys Arkins
cc180018be fix: fetch branch commit early
Fetches the base branch commit SHA during initRepo so that it can be cached. This should prevent us creating branches off a commit later than the one we fetched files for.

Fixes #1712
2018-03-24 06:33:05 +01:00
Rhys Arkins
445cdbe3eb fix: loosen branch delete not exist check 2018-03-22 12:20:07 +01:00
Rhys Arkins
0462f91e7a fix: expand github errors for better debugging
Try to get message and body in all errors we log
2018-03-22 09:51:19 +01:00
Rhys Arkins
363a2cc2e5 fix: abort renovation if rate limit exceeded (github) 2018-03-22 09:26:20 +01:00
Rhys Arkins
967529104d fix: add try/catch to branch delete (github) 2018-03-21 13:46:58 +01:00