Commit Graph

389 Commits (v9.58.2)

Author SHA1 Message Date
Rhys Arkins d6a45e5f47 fix: handle null child config in merge () 2017-09-13 20:29:20 +02:00
Rhys Arkins d765b34c33 feat: renovate meteor package.js dependencies ()
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 
2017-09-12 09:33:41 +02:00
Rhys Arkins 8fa94141a1 feat: use package names for ignoring when lerna or workspaces ()
* add minimatch

* feat: use package names for ignoring when lerna or workspaces

Renovate will now:
- Find all package.json files matching lerna or yarn workspaces glob pattern
- Retrieve package names from within those package.json files
- Implicitly ignore (not renvoate) any of those names

Closes 
2017-09-12 07:49:56 +02:00
Rhys Arkins 8086a4eb79 fix: remove black-cat header from github reviewers api () 2017-09-08 11:19:59 +02:00
Rhys Arkins e5654fc812 fix: convert only first line of commit message to lowercase ()
Helps 
2017-09-07 21:18:50 +02:00
Rhys Arkins 1957bba62d feat: update embedded yarn to v1.0.1 () 2017-09-07 20:34:53 +02:00
Rhys Arkins 4e6c7e2ef5 feat: delete branch if PR creation fails ()
This will help “self heal” in cases where the branch becomes invalid and PR creation continually fails.

Closes 
2017-09-03 10:02:48 +02:00
Rhys Arkins 33d58ce2a3 fix: log prTitle when creating pr () 2017-09-03 06:59:51 +02:00
Rhys Arkins a1f9d7b547 fix: catch registry url error and default to npm () 2017-09-02 09:18:23 +02:00
Rhys Arkins bae9ae0595 feat: stop branch processing after lock file error or pin dependencies ()
If a repository has a lock file error (e.g. can’t look up a private module) then it will no longer attempt to create every branch. Instead, it will error/exit after the first branch. Additionally, “Pin Dependencies” has been sorted to be first and further branches won’t be added or updated until Pin Dependencies has been merged.
2017-09-02 08:51:49 +02:00
Rhys Arkins fbf77cf6c7 fix: detect custom registry from repo npmrc ()
* remove registry-url

* replace registry-url with registry-auth-token

Fixes 
2017-09-01 13:01:05 +02:00
Rhys Arkins 47df66143b fix: do not warn when lerna subdirectories not found () 2017-09-01 11:40:12 +02:00
Rhys Arkins 1a395a3dd9 fix: fix and improve schedule migrations ()
* fix: migrate “every xday” to “on xday”

* fix: do not migrate before and after if before is after after

e.g. do not migrate “after 1am and before 5am”
2017-09-01 11:27:54 +02:00
Rhys Arkins c889f2eec0 fix: don’t massage encrypted npm token () 2017-09-01 07:43:49 +02:00
Rhys Arkins 6c0d50703f feat: encrypted configuration strings ()
A new config object `encrypted` can be defined at any level and contain encrypted configuration strings. Initial use is for encrypting an npm token for use with the hosted renovate app.

Closes 
2017-09-01 06:45:51 +02:00
Rhys Arkins ddbbacb363 fix: escape gitlab branch name forward slash ()
Forward slash is replaced with %2F. It is assumed that this is backwards compatible with api v3 too.

Closes 
2017-08-31 21:06:19 +02:00
David Herges 2b73f98c58 fix: use `iid` for gitlab api v4 in findPr ()
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 () 2017-08-31 07:15:53 +02:00
Rhys Arkins 16d36a15e2 feat: add npmToken, npmrc and yarnrc configuration support ()
Renovate config can now support the fields `npmToken`, `npmrc` and `yarnrc`. `npmrc` and `yarnrc` (note no `.` prefix) can be used as an alternative to checking the respective files into the repo and have the same effect. `npmToken` is a shorter alternative and allows for just the npm token to be added, defaulting to the public npm registry.
2017-08-29 09:25:44 +02:00
Rhys Arkins 6e9c73e35a feat: restart repo renovate after automerge ()
Previously, the automerge feature was causing some undesirable behaviour when multiple branches were open at the same time. Example: . The main problem is that other branches will still be calculated based on the original `package.json` contents and not the post-merge contents. The simplest solution seems to be:
- Stop all subsequent branch processing after any automerge
- Restart repository renovation
This continues until no branch has automerged in a cycle.

Closes 
2017-08-28 15:50:11 +02:00
Rhys Arkins deac76b015 feat: support timeout for pr creation = not-pending ()
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 
2017-08-28 11:37:09 +02:00
Rhys Arkins 30251323dc fix: don't retry 401s () 2017-08-27 15:10:19 +02:00
Rhys Arkins cf1766b3e0 fix: always check github retries count () 2017-08-27 14:49:23 +02:00
Rhys Arkins 8ebb32cd87 feat: display extended error in onboarding if lookup fails ()
Closes 
2017-08-27 13:55:41 +02:00
Rhys Arkins 7c3df0ba23 feat: yarn workspaces lock file support ()
This feature adds explicit support for correctly generating the yarn.lock file for workspaces. Specifically, it means that the yarn.lock in the root directory is regenerated whenever *any* package.json is modified. Previously lock files were only every updated if its corresponding package.json changes, but that is not the way yarn workspaces works.

Closes 
2017-08-27 08:17:34 +02:00
Rhys Arkins d98130f50e fix: support pagination for file search () 2017-08-26 22:15:22 +02:00
Rhys Arkins ec1eaa2dd0 feat: convet ignoreNodeModules to ignorePaths ()
The ignoreNodeModules feature is replaced with a generic ignorePaths one and allows any array of strings to be defined and package.json file matching them will be skipped/ignored. Also migrates any existing config/presets.
2017-08-26 21:28:29 +02:00
Rhys Arkins b0715ba5c0 fix: info not error when lock file fails () 2017-08-26 16:47:21 +02:00
Rhys Arkins ea9ace2a76 feat: branch worker updates ()
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 b4dc6aedb2 fix: don’t throw error if failing to set new package.json value () 2017-08-26 08:02:29 +02:00
Rhys Arkins 9fdd70232e fix: debug current file content if inserting new value in package.json fails () 2017-08-25 22:43:32 +02:00
Rhys Arkins 93d9d9e357 fix: migrate presets when resolving ()
Fixes 
2017-08-25 06:25:25 +02:00
Rhys Arkins 3917fc6bae fix: explicitly check automerge = true ()
* fix: explicitly check automerge = true

* update presets fixtures and tests

* fix versions tests

* update tests
2017-08-24 12:39:23 +02:00
Rhys Arkins a43e436a84 logs: add pr to merge fail message () 2017-08-24 12:00:38 +02:00
Rhys Arkins 963a35789e fix: improve ensurePr logs and try/catch () 2017-08-24 10:14:53 +02:00
Rhys Arkins 4bc7009db1 fix: improve schedule massage logic ()
- reuse suffix for any “before and after” splits
- move “on every weekday” massage to migrate
2017-08-24 07:04:04 +02:00
Rhys Arkins e443e6b848 fix: only migrate 'and' schedule if it includes before and after () 2017-08-23 12:38:47 +02:00
Rhys Arkins 5693b17ecf fix: advanced schedules migration ()
- Split ‘x and y’ schedule into [x, y]
- Replace schedules like ’on mondays’ with ‘on monday’
2017-08-23 11:50:05 +02:00
Rhys Arkins 9d0cbb2e5d fix: migrate fields within depTypes () 2017-08-22 10:58:53 +02:00
Rhys Arkins 52b2de3bdb fix: equalize carriage returns before comparing lock files ()
Eliminating one more possibility for 
2017-08-22 10:46:27 +02:00
Rhys Arkins 238a72b1eb fix: only migrate known strings for automerge ()
Leave the rest to error.
2017-08-22 08:12:42 +02:00
Rhys Arkins 21aa961264 feat: re-use node_modules per package file ()
tmpDir is now created once per-repository and package.json files are written and lockfiles generated based on the repo's directory structure. This way node_modules can be reused between branches in same run.

Closes 
2017-08-22 06:28:46 +02:00
Rhys Arkins 2ca2e7c8ca fix: expand automerge string to fill all upgrade types ()
This makes for an uglier migration and potentially some redundancy, but is the only easy way to ensure that the migrated behaviour is definitely correct.

Fixes 
2017-08-22 06:20:23 +02:00
Rhys Arkins b657d3c291 feat: support lock file maintenance automerge ()
Refactored the `automerge` field to change it to boolean. Existing string will be migrated to new config. Automerging lock files is now possible by adding `”lockFileMaintenance”: { ”automerge”: true}` to config.

Closes 
2017-08-21 13:41:48 +02:00
Rhys Arkins f598c5f899 fix: do not automerge pr if it has been modified ()
Add check for pr.canRebase. This will be false if the PR has been modified.

Fixes 
2017-08-21 11:17:47 +02:00
Rhys Arkins cffbc00f65 fix: resolve all presets before merge ()
Previously, preset resolution was being done last, after merges of renoate.json or package.json config. This caused wrong ordering of config in cases where both presets + regular config was in use. Instead, resolving of presets is now done at each stage before merging.

Fixes 
2017-08-21 10:19:48 +02:00
Rhys Arkins 71c49ecd77 fix: separate gh-got-retry to separate file () 2017-08-20 09:49:39 +02:00
Rhys Arkins e649d49615 fix: retry after github abuse trigger () 2017-08-19 11:46:30 +02:00
Rhys Arkins d6c5aa6663 fix: info not warn for scoped package 404s () 2017-08-19 07:01:21 +02:00
Rhys Arkins 68033a7040 fix: imply lerna packages dir if not in config () 2017-08-19 06:50:53 +02:00