Commit Graph

105 Commits

Author SHA1 Message Date
Rhys Arkins f980fea6ca feat: comment in closed PR when it is blocking an update (github) (#981)
This feature adds a new behaviour to Renovate, where it will now add a comment to any existing closed PRs that are "blocking" currently valid updates. A new API function "ensureComment" has been added, its purpose is so we can ensure there exists only one comment with a certain subject/heading. This lets us prevent duplicates as well as update existing, without having to keep state about it. ensureComment needs porting to gitlab, but should be quite easy.
2017-10-18 15:28:51 +02:00
Rhys Arkins cc2288ef31 fix: add try-catch to getFileList (#975) 2017-10-18 08:25:42 +02:00
Rhys Arkins 2b6077b6f6 fix: make github pagination opt-in (#966) 2017-10-17 13:45:17 +02:00
Rhys Arkins 78cff771af feat: retrieve and cache PR list for better performance 2017-10-17 11:09:03 +02:00
Rhys Arkins e310887f36 refactor: remove checkForClosedPr
replace with findPr
2017-10-17 11:09:03 +02:00
Rhys Arkins e6e8b541cf refactor: rename ghGotRetry and glGot to get (#957) 2017-10-17 07:15:01 +02:00
Rhys Arkins ee44d1c3ba feat: reimplement findFilePaths using trees (#950)
* refactor: replace github code search with getTree/manual search (#944)

Previously Renovate was using the GitHub code search API once for each filename we are looking for. Instead, we now retrieve a list of files in the repository and cache it so it can be reused for filename matches.

Closes #939

* fix: use recursive=true

* fix: reset fileList for every repo (github)

* feat: implement findFilePaths on gitlab (#945)

* refactor: do not check manually for root package.json

* fix: reset fileList for every repo (gitlab)

* fix tests
2017-10-16 11:59:59 +02:00
Rhys Arkins 74a590ae8e fix: revert findFilePath changes (#947)
* Revert "feat: implement findFilePaths on gitlab (#945)"

This reverts commit 2820b5eef3.

* Revert "refactor: replace github code search with getTree/manual search (#944)"

This reverts commit 33851a5aea.
2017-10-16 07:33:47 +02:00
Rhys Arkins 33851a5aea refactor: replace github code search with getTree/manual search (#944)
Previously Renovate was using the GitHub code search API once for each filename we are looking for. Instead, we now retrieve a list of files in the repository and cache it so it can be reused for filename matches.

Closes #939
2017-10-15 17:38:45 +02:00
Rhys Arkins 8ee76c99e2 fix: check for file content before converting to buffer (github) (#925) 2017-10-13 06:14:29 +02:00
Rhys Arkins 1696244ca0 feat: warn in onboarding if package.json missing or failed to parse (#911)
* chore: downgrade json parsing warning from warn to debug

* feat: warn in onboarding if package.json missing or failed to parse

Closes #891
2017-10-11 14:38:40 +02:00
Rhys Arkins 88f9bb40f7 fix: downgrade github branch merge api error to warn (#889) 2017-10-05 10:45:08 +02:00
Rhys Arkins bb263cca60 fix: catch error in checkForClosedPr and return false (github) (#887) 2017-10-05 09:25:45 +02:00
Rhys Arkins 5dab080ef7 fix: info message if automerge branch fails (#886)
* fix: info message if automerge branch fails

* fix snapshot
2017-10-04 16:52:50 +02:00
Rhys Arkins 188f50ba5f fix: use preview header when requesting reviewers (github) (#871) 2017-10-02 06:57:13 +02:00
singapore 97ee1d7588 chore: downgrade "all merge attempts failed" from warn to info 2017-09-28 15:03:21 +02:00
Rhys Arkins 7208488402 fix: log when automerging succeeds (#835) 2017-09-24 16:34:34 +02:00
Rhys Arkins 8d22bdbee3 fix: downgrade JSON parsing log from error to warn (#823) 2017-09-19 14:58:37 +02:00
renovate[bot] cfc6c5ccdf fix: update dependency eslint-config-airbnb-base to v12 (#771)
* chore(deps): update dependency eslint-config-airbnb-base to v12.0.0

* fix lint
2017-09-15 19:46:25 +02:00
Rhys Arkins d765b34c33 feat: renovate meteor package.js dependencies (#786)
This feature adds support for renovating Meteor's `package.js` files. Meteor config is disabled by default so must be manually enabled to work. If enabled, Renovate uses GitHub's search API to look for any files named `package.js` that include the text `Npm.depends`. If so then the file is parsed using Regex to extract its dependencies and check them for updates.

Closes #785
2017-09-12 09:33:41 +02:00
Rhys Arkins 8086a4eb79 fix: remove black-cat header from github reviewers api (#783) 2017-09-08 11:19:59 +02:00
Rhys Arkins 5f708c2297 fix: do not restart renovation if automerging failed (#755) 2017-08-31 07:15:53 +02:00
Rhys Arkins deac76b015 feat: support timeout for pr creation = not-pending (#748)
We should not leave the PR unopened forever if the branch remains in not-pending state too long. Some status checks may leave the status as “pending” instead of “failed”. Defaults to 12 hours but is configurable.

Closes #747
2017-08-28 11:37:09 +02:00
Rhys Arkins d98130f50e fix: support pagination for file search (#742) 2017-08-26 22:15:22 +02:00
Rhys Arkins a43e436a84 logs: add pr to merge fail message (#730) 2017-08-24 12:00:38 +02:00
Rhys Arkins 71c49ecd77 fix: separate gh-got-retry to separate file (#705) 2017-08-20 09:49:39 +02:00
Rhys Arkins e649d49615 fix: retry after github abuse trigger (#703) 2017-08-19 11:46:30 +02:00
Rhys Arkins 117316c0b1 fix: check current status check before setting (#655)
Fixes #649
2017-08-08 23:03:52 +02:00
Rhys Arkins b369f670d6 fix: use baseBranch when branchName is null (#643)
Using fallback in function params only replaces if branchName is undefined but we also need to handle when it is `null`.
2017-08-07 10:51:17 +02:00
Rhys Arkins d7a6bbe367 feat: unpublish-safe status check (#635)
Renovate now adds a status check renovate/unpublish-safe that has the following behaviour:
If any upgrade in the branch is < 24 hours old then the status check state is "pending"
If all upgrades in the branch are 24 hours or more old then the status check state is "success"
This is able to be disabled via a new option "unpublishSafe".

Closes #494
2017-08-06 15:38:10 +02:00
Rhys Arkins cb3c4ece38 refactor: improve github retry logic (#616)
5 retries
use settimeout
retry on any 5xx error code
2017-08-04 18:13:49 +02:00
Rhys Arkins 6a7f57165f fix: add loki-preview headers to repository query (#611)
Should enable merge settings to be shown during initRepo
2017-08-04 14:51:21 +02:00
Rhys Arkins 134065c7c7 refactor: use branch prefix in templates (#604)
This allows for the easy overriding of our default `renovate/` branch naming.

Closes #586
2017-08-04 08:32:22 +02:00
Rhys Arkins f7db11c9d7 fix: Downgrade merge failure to warning (#574) 2017-08-02 07:16:31 +02:00
Rhys Arkins 75b0bdc322 fix: Fix merge debug message (#570) 2017-08-01 13:31:27 +02:00
Rhys Arkins 8fc97af5c7 feat: Ignore forked repositories unless already configured (#561)
This feature is particularly useful in the case that renovate is enabled on all repositories a user/account has. Many of those might be forks, and it makes no sense to renovate those by default. Instead, Renovate will skip over forked repositories unless a renovate.json has been added to their root.
Also, Renovate will now prune branches after deciding to skip a repository, whether because of a fork or disablement.

Closes #541
2017-07-30 22:59:53 +02:00
Rhys Arkins 603f63af4d fix: Retry github API when 502 error (#560)
The GitHub API will now retry up to 3 times before giving up, if it is receiving a 502 Bad Gateway response.
2017-07-30 11:06:15 +02:00
Rhys Arkins 8aafdaf182 refactor: Use promise.reject to simulate non-200 responses in github tests (#559) 2017-07-30 08:20:19 +02:00
Rhys Arkins feffa774d8 feat(lerna): Add lerna support (#535)
If a `lerna.json` is present in the root of the repository, then Renovate will automatically ignore (i.e. not renovate) all package names found in the `packages/*` path. It does not require an explicit configuration to work.
2017-07-27 09:36:36 +02:00
Rhys Arkins f866f54a14 fix(github): Return repoForceRebase to main config (#533) 2017-07-26 10:56:11 +02:00
Rhys Arkins cd2b1193ad fix(github): Use more specific URI when checking branch protection (#532) 2017-07-26 08:19:27 +02:00
Rhys Arkins 1eea69f164 fix(github): Gracefully catch 403 response to branch protection (#530) 2017-07-26 06:55:25 +02:00
Rhys Arkins 2331d6e840 feat(branch): Check for rebase if repo branch protection is strict (#527)
We now check branch protection configuration for the repository's base branch to see if branches must be kept up-to-date. If so then we check Renovate branches for rebasing even if rebaseStalePrs is not set to true.

Closes #524
2017-07-25 18:18:19 +02:00
Rhys Arkins 8e48d97392 feat(logs): Support custom log detail fields
This removes the need to JSON.stringify() objects in logs. Default bunyan fields plus our custom meta fields are stripped out, and everything else is stringified in the details field.

Closes #498
2017-07-19 08:05:26 +02:00
Rhys Arkins 8666835bc8 fix(repository): Ignore uninitiated repositories
Closes #379
2017-07-18 14:31:48 +02:00
Rhys Arkins 64e91eed0f fix(github): Hyperlink issues on GitHub only if private repo (#479)
Adding hyperlinks to all #12345 issues/PRs in upstream dependencies causes undesirable noise for maintainers of those repositories.
Now, such hyperlinking is done only for private repos as that won’t result in the same GitHub annotations.

Closes #478
2017-07-09 15:13:03 +02:00
Rhys Arkins 06504b4abe feat(onboarding): conventional commits detection (#463)
When onboarding, retrieve the most recent commits from the repository and use https://github.com/conventional-changelog/conventional-commits-detector to parse the commit messages to detect if any conventional commit approach is being used.

Closes #462
2017-07-07 07:54:09 +02:00
Rhys Arkins eb468341c4 fix: Don’t stringify options body for PR labels (#460)
This has been broken since the upgrade to got 7.x

Closes #456
2017-07-06 19:24:09 +02:00
Rhys Arkins 997c4efac2 feat: baseBranch onboarding (#453)
baseBranch is now used when computing the onboarding description in 'Configure Renovate' PR.
2017-07-06 14:12:52 +02:00
Rhys Arkins dc5773c2e5 feat: Configurable base branch for PRs (#448)
Collaborator
rarkins commented 14 hours ago
Base branch for Pull Requests is now configurable via a new baseBranch configuration option. To take effect, this much be present in the default branch (e.g. master in most cases) so that it can be discovered and used. See FAQ for more details.

Closes #443
2017-07-06 10:26:18 +02:00