Commit graph

330 commits

Author SHA1 Message Date
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
Rhys Arkins
2ba360f6b3 chore: add sourceRepo to prList (github) 2018-03-21 09:14:48 +01:00
Rhys Arkins
60c997f180 chore: refactor delete to null 2018-03-21 09:10:53 +01:00
Rhys Arkins
d5903b720f chore: fix prettier 2018-03-18 10:05:47 +01:00
Rhys Arkins
b8105c2e9d fix: encodeURI filePath in getFile (github) 2018-03-18 08:42:04 +01:00
Rhys Arkins
f70c1fe749 fix: move mirrorMode branch creation into initRepo 2018-03-18 07:04:56 +01:00
Rhys Arkins
4121350eaa fix: use renovate-config as onboarding base branch for mirror mode 2018-03-18 06:46:01 +01:00
Rhys Arkins
159a0efc90 fix: retrieve baseCommitSha before comparing in mirrorMode 2018-03-17 07:16:56 +01:00
Rhys Arkins
ef26fdb3fe fix: mirrorMode fork patching
When in mirrorMode, Renovate should keep its fork up to date
2018-03-17 06:37:42 +01:00
Rhys Arkins
ec14bf0e92
fix: reopen MR after branch deletion (GitLab) (#1660)
Closes #1657
2018-03-13 20:33:22 +01:00
Rhys Arkins
c2f0a46d9a feat: npm shrinkwrap
Adds support for npm-shrinkwrap.json files.

Closes #67
2018-03-08 09:46:08 +01:00
Rhys Arkins
a186a4b091 chore: downgrade PR log to debug 2018-03-06 19:31:02 +01:00
Rhys Arkins
453ce13278 fix: Revert "refactor: array concatenation (#1601)"
This reverts commit dd26a018c5.
2018-03-06 15:54:39 +01:00
AndreiMargineanu
dd26a018c5 refactor: array concatenation (#1601)
Refactors all instances of .concat() to use array spread operators instead

Closes #1459
2018-03-06 12:34:39 +01:00
Rhys Arkins
4104e81005 Revert "chore: remove unused getPrFiles functions"
This reverts commit d5984a3cad.
2018-03-06 12:18:35 +01:00
Adam Moss
621badb964 fix(allow-failure): enabled automerge when allowed failures occur
Closes: #1586

Signed-off-by: Adam Moss <adam.moss@bcs.org.uk>
2018-03-05 21:18:51 +01:00
Rhys Arkins
d5984a3cad chore: remove unused getPrFiles functions 2018-03-05 15:50:34 +01:00
Rhys Arkins
e47766c0f4 fix: add try/catch to getAllRenovateBranches 2018-03-01 21:17:41 +01:00
Rhys Arkins
4f642d5a95 fix: optimise getAllRenovateBrnahces
Supply prefix in query and paginate.
2018-03-01 21:15:17 +01:00
Rhys Arkins
9119568fe4 fix: add checks if pr branch still exists (gitlab)
in GitLab, a PR may be open while the branch itself has been removed. We cant just assume that the branch exists because the PR does, even if it’s an edge case.
2018-02-28 04:43:30 +01:00
Rhys Arkins
d0fa221ae3 fix: only rebase if pr is dirty (github) 2018-02-27 19:50:16 +01:00
Rhys Arkins
11c3ce7674 refactor: skip logging lock files when commit files 2018-02-21 08:28:02 +01:00
Rhys Arkins
d258c3849e refactor: log files if commit files to branch fails 2018-02-21 06:52:56 +01:00
Rhys Arkins
8463be0266 fix: return branchName field when creating pr 2018-02-19 21:30:33 +01:00
Rhys Arkins
c949778ab7 fix: harmonize to pr.branchName 2018-02-19 20:01:10 +01:00
JYC
e03d487bc8 fix: update dependency vso-node-api to v6.3.2 (#1534)
* fix: update dependency vso-node-api to v6.3.2

* The web api create methods need to be async

* remove Redundant use of `await`

* To test 100%
2018-02-19 14:17:53 +01:00
Rhys Arkins
9872096948 fix: log request headers when failing to create branch 2018-02-19 07:11:28 +01:00
Rhys Arkins
ff54e0d626 fix: log err.response when failing to create branch 2018-02-18 19:50:12 +01:00
Rhys Arkins
776755c1ba fix: try updating branch if creating branch fails 2018-02-18 08:28:30 +01:00
Rhys Arkins
f4f3d57d3a refactor: debug branchList retrieval 2018-02-17 08:13:19 +01:00
Rhys Arkins
fe479166a1 fix: improve branch creation failure logging 2018-02-17 08:09:32 +01:00
Rhys Arkins
576f38efdc fix: use isUmergeable instead of mergeable 2018-02-16 16:19:26 +01:00
Adam Moss
4c0d7cf3e6 fix(gitAuthor): add support for GitLab
Allow the `gitAuthor` configuration option to override the committer
property when creating or updating a file within GitLab.  Port of #1280
which introduced the same capability for GitHub.

Closes #1281

Signed-off-by: Adam Moss <adam.moss@bcs.org.uk>
2018-02-12 16:49:08 +01:00
Rhys Arkins
9c845040ac fix: delete gitlab branch first if rebasing 2018-02-12 06:58:33 +01:00
Rhys Arkins
c92d67658c feat: use gitlab commits api for 1 commit per branch
Closes #1508
2018-02-12 06:20:20 +01:00
Rhys Arkins
b1ad1bb058 fix: detect renamed repositories and skip 2018-02-08 16:04:25 +01:00
Rhys Arkins
3cf550069e fix: check only for 422 when catching branch update error (github) 2018-02-08 10:04:33 +01:00
Rhys Arkins
84fe4f2dff chore: lower getFile 404 warn to info 2018-02-07 16:23:00 +01:00
Rhys Arkins
a512b416eb fix: use parent repo for assignees and labels when in fork mode 2018-02-07 12:26:13 +01:00
Rhys Arkins
da7ad5b342 chore: downgrade cached result log to trace 2018-02-06 14:17:46 +01:00
Rhys Arkins
a79222b777 fix: catch initRepo 403 (github) 2018-02-05 22:23:50 +01:00
Rhys Arkins
5dea3f7150 fix: check initRepo res before logging res.body 2018-02-05 22:10:12 +01:00
Rhys Arkins
28371c667d fix: catch blocked repositories properly 2018-02-05 18:38:07 +01:00
Rhys Arkins
f416f4b927 fix: don’t check statusCode for blocked 2018-02-05 14:34:46 +01:00
Rhys Arkins
efa754cbc6 fix: add try/catch to ensureIssue (github) 2018-02-04 22:24:38 +01:00
Rhys Arkins
5dda1eedf9 fix: limit paginated results to 1000 2018-02-04 22:24:20 +01:00
Rhys Arkins
2389cf3f9e fix: better retries log in github wrapper 2018-02-04 22:22:13 +01:00
Rhys Arkins
4c267b210b fix: handle archived repos gracefully 2018-02-04 21:20:28 +01:00
Rhys Arkins
e306f707db fix: abort renovation if repository has changed during run
If attempting to create a branch and it already exists, or attempting to update a branch and it no longer exists, then we abort.
2018-02-03 15:45:43 +01:00
Rhys Arkins
42178e72c9 fix: catch errors creating branches and try update instead (github) 2018-02-03 13:54:42 +01:00
Rhys Arkins
144ce72311 refactor: add better debugging to branch creation (github) 2018-02-03 13:39:16 +01:00
Rhys Arkins
720b46696a
feat: gitlab branch cleanup (#1475)
Removes the GitHub-only check when cleaning/pruning branches.
2018-02-03 12:06:25 +01:00
Rhys Arkins
aa0b0d68fd
fix: don’t check for branch existing when rebasing (gitlab) (#1474)
Previously, our GitLab API library was checking if a a branch existed first before trying to create it. But due to caching, a branch we'd deleted ourselves still showed up as existing, so then there was no branch to update the files in. Skip this check and use try/catch for creating branch instead.

Fixes #1468
2018-02-03 11:04:27 +01:00
Rhys Arkins
6101f25dc7 fix: reset file list when setting base branch (gitlab) 2018-02-03 10:39:04 +01:00
Rhys Arkins
b184d3a217 fix: handle 403 blocked from github 2018-02-02 18:04:41 +01:00
Rhys Arkins
d66dea7ec3
feat: verify status check (GitHub) (#1444)
Adds a `renovate/verify` status check for those migrating and looking for familiarity. Better to check the GPG verified commit, as mentioned in the associated doc.
2018-01-25 13:36:21 +01:00
Rhys Arkins
9363fd8acf refactor: pass object to platform.initRepo
Also renames repoName to repository
2018-01-25 12:24:13 +01:00
Rhys Arkins
bc6d74e0de refactor: move github init deletions later 2018-01-24 19:18:03 +01:00
Rhys Arkins
5c01f59b7e refactor: limit github pagination to 1000 total 2018-01-19 15:28:54 +01:00
Rhys Arkins
3e1d8474a9 refactor: always debug log github get requests 2018-01-19 12:00:26 +01:00
Rhys Arkins
285a59b085
fix: filter out “Update branch” commits when determining canRebase (#1410)
Closes #1405
2018-01-19 07:35:39 +01:00