Commit Graph

119 Commits (v9.59.0)

Author SHA1 Message Date
Rhys Arkins a88ba0d16a feat: Dockerfile digest support (#788)
This feature adds initial support for renovating Dockerfiles. Renovate now:
- Detects all `Dockerfile`s in repo
- Searches for `FROM x` in first non-comment line, breaks x into image, tag, digest
- Queries public Docker registry for image:tag combination to find latest digest
- Patches Dockerfile if necessary
- Creates branches/PRs as like with npm

Closes #795
2017-09-14 09:31:36 +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 a1f9d7b547 fix: catch registry url error and default to npm (#769) 2017-09-02 09:18:23 +02:00
Rhys Arkins fbf77cf6c7 fix: detect custom registry from repo npmrc (#765)
* remove registry-url

* replace registry-url with registry-auth-token

Fixes #793
2017-09-01 13:01:05 +02:00
Rhys Arkins ddbbacb363 fix: escape gitlab branch name forward slash (#758)
Forward slash is replaced with %2F. It is assumed that this is backwards compatible with api v3 too.

Closes #749
2017-08-31 21:06:19 +02:00
David Herges 2b73f98c58 fix: use `iid` for gitlab api v4 in findPr (#756)
GitLab 9.5 deprecates api v3 and `iid` must now be used for MRs
2017-08-31 18:21:40 +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 30251323dc fix: don't retry 401s (#746) 2017-08-27 15:10:19 +02:00
Rhys Arkins cf1766b3e0 fix: always check github retries count (#745) 2017-08-27 14:49:23 +02:00
Rhys Arkins d98130f50e fix: support pagination for file search (#742) 2017-08-26 22:15:22 +02:00
Rhys Arkins ea9ace2a76 feat: branch worker updates (#736)
This is a major refactor of branch code to prepare for Yarn workspaces plus creating PRs for branches with failing lockfiles. Marked as "feature" to cause a minor version bump due to the moderate chance of accidentally breaking something.
2017-08-26 16:10:18 +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 ad40f0abd8 feat: shareable preset configs (#658)
This PR implements eslint-inspired shareable configs. With this feature, we:
- Add new config option "extends"
  * This is an array of preset config names that the current config or preset extends/inherits from
- Add new config option "description"
  * Each preset config should include a description of its functionality that is human-readable
- Provide a set of commonly use configs called "preset defaults"
- Provide two "full" preset configs: "app" and "library"
   * Almost the same but app pins *all* version numbers while library only pins devdependencies
- Replace regular config in onboarding with one of these two presets
- Generate human-readable description of config in Onboarding PR
- Support npm for hosting configs (both scoped and non-scoped)

Closes #657, Closes #671, Closes #647
2017-08-18 06:10:19 +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
Hutson Betts 4b60bb2d17 fix(gitlab): only fetch projects user belongs to (#629)
Fixes #628
2017-08-05 21:53:22 +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 8f3f624c22 refactor(npm): Don’t warn twice in logs for dep lookup
Closes #496
2017-07-18 16:33:54 +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
Rhys Arkins ea4e370d3f feat: Prune stale branches (#441)
A separate routine is run after branch creation to detect any branches that should be deleted. A branch will be removed if:
- It was not created by renovate in the last run, AND
- It has no PR, or its corresponding PR is not mergeable

Closes #426, Closes #428
2017-07-05 11:57:22 +02:00
Rhys Arkins c30472dd43 feat: Add ability to skip status checks for automerge (#438)
This starts off [#359](https://github.com/singapore/renovate/issues/359) (configurable status checks) but only implements one sub-feature of it: disabling status checks to allow automerge if tests fail or if no tests are present.
2017-07-05 07:02:25 +02:00
Rhys Arkins 6034159909 Fix: add extra check for commit author (#436)
* fix: Detect undefined commit.author

Closes #409

* refactor author check

* Add debug

* Update test
2017-07-04 19:22:09 +02:00
Rhys Arkins faa754d136 Use NPM_TOKEN for registry lookup 2017-07-02 20:52:31 +02:00
Rhys Arkins 552b5e68c5 Refactor helpers (#382)
* Move yarn and npm helpers into branch worker

* Fix name

* Move package-json helper

* Update name

* Move changelog

* Move github-app

* Remove unused platform

* Move logger

* Fix lint
2017-06-29 07:29:41 +02:00
Rhys Arkins fe82c7ad7c Skip repositories with no package.json (#378)
* Skip repositories with no package.json

Closes #376

* Fix await

* Refactor file file check

* Update tests
2017-06-28 19:37:08 +02:00
Rhys Arkins 698a63ad32 Fetch multiple pages from gitlab projects api endpoint (#377)
Fixes #371
2017-06-28 15:01:05 +02:00
Rhys Arkins c459ba66d6 Fix rebasing logic (#372)
* Add debug messages to API

* Fix rebase logic

* Fix tests

* Simplify logic

* Update branch.spec.js
2017-06-28 13:20:31 +02:00