Commit graph

745 commits

Author SHA1 Message Date
Rhys Arkins
37d83cf61a refactor: check that workspaces has yarn.lock committed
Closes #1451
2018-01-29 09:51:16 +01:00
Rhys Arkins
f5b1c00d8f refactor: log old/new pr details if updating 2018-01-28 21:46:27 +01:00
Rhys Arkins
64cf41e76e refactor: sort PRs by type and then title 2018-01-28 16:14:04 +01:00
Rhys Arkins
294fc6b3a5 refactor: don’t warn if current version is a file reference 2018-01-28 15:44:35 +01:00
Rhys Arkins
b2b0e42492 fix: do not jump unstable majors unless configured to do so 2018-01-27 16:18:18 +01:00
Rhys Arkins
79e9ce6d8f feat: pin npm dependencies using lock files
When package-lock.json or yarn.lock files are present, and Renovate needs to “pin” any dependencies (e.g. after onboarding), it will use whatever version is in the lockfile rather than the latest version on npm js that satisfies the semver range. This should increase the chance that Pin Dependencies PRs pass tests, as it should use as close as possible dependencies as the previous time the lock file was committed to master. Thanks to @alexeagle for first suggesting this.

Closes #1362
2018-01-26 10:18:40 +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
ctaepper
280e74fa9f feat: expose env to npmrc and npm/yarn/pnpm (#1407)
Adds a config option to bot administrators called `exposeEnv`, for cases where repositories are trusted. If set to true, the bot's full `process.env` can be used for `.npmrc` variable substitution and is passed to child processes when generating lock files. Disabled by default, including in the App.
2018-01-25 10:38:30 +01:00
Rhys Arkins
0925f59262
feat: versionStrategy (#1439)
Adds new config option `versionStrategy` that allows config to override Renovate’s autodetection of when to “widen” an existing semver range, and when to “replace”.
2018-01-24 15:26:37 +01:00
Rhys Arkins
1b535af43e
feat: hyphen range support (#1437)
Adds support for ranges, such as `”1.x - 2.x”`. Adds support for widening .x ranges, e.g. `”1.x || 2.x”` becomes updated to `”1.x || 2.x || 3.x”`.

Closes #687
2018-01-24 11:23:59 +01:00
Rhys Arkins
f943d6b27c
feat: widen semver || ranges (#1436)
When an “or” semver (e.g. “react”: “^14.4.0 || ^15.0.0”) is found, we now widen it. e.g. the result will be “^14.4.0 || ^15.0.0”.
2018-01-24 09:44:38 +01:00
Rhys Arkins
bf64d62dc8
feat: advanced semver "less than (and equal to)" support (#1435)
Adds support for "less than" semver, and for complex semver values that end in "less than" e.g. ">= 1.0.0 < 2.0.0". Also supports complex semver values that end in "less than or equal to", although they make a lot less sense, e.g. ">= 1.0.0 <= 2.0.0".

Closes #1433
2018-01-24 08:43:27 +01:00
Rhys Arkins
9504fb8abb
refactor: use handlebars triple escapes in templates (#1434)
This stops HTML substitution from occurring
2018-01-24 07:18:11 +01:00
Rhys Arkins
516142b687
feat: import existing greenkeeper config when onboarding (#1431)
Detects any greenkeeper configuration fields and migrates them to Renovate’s config during onboarding.

Closes #1429
2018-01-23 11:59:32 +01:00
Rhys Arkins
0b7deb546c
feat: apply package.json renovate config to whole repository (#1419)
Changes the way Renovate treats renovate config inside `package.json` files. Before, config used to be applied only to that particular file, meaning that it was not applied for the rest of a monorepo, or for other package managers like Docker. Now, any `renovate` section inside the repository’s root `package.json` will be applied globally, just the sams as if it were contained within a `renovate.json` file. This means there is no longer any case where you *must* have a `renovate.json` file instead of `package.json`.

Closes #1323

BREAKING CHANGE: renovate config in `./package.json` is now applied to whole repository, and renovate config inside non-root `package.json` files is now ignored.
2018-01-23 06:59:01 +01:00
otofu-square
f251969fab fix: correct typos in templates (#1423) 2018-01-22 11:17:00 +01:00
Rhys Arkins
d774a14910 feat: abort repo for most npm registry errors
Renovate now aborts processing of repositories if for any 4xx responses except 401 and 404, and also for 200 OK responses which are unparseable.

Closes #1341
2018-01-21 07:16:28 +01:00
Rhys Arkins
3b13591ebc refactor: Add warning to Pin PRs that upgrade PRs will be held up
Closes #1380
2018-01-20 16:20:50 +01:00
Rhys Arkins
fa68a5a216 refactor: skip ignore notification comment if PR was merged 2018-01-20 15:09:23 +01:00
Rhys Arkins
b72bfdf4ba
feat: bumpVersion (#1413)
Adds a new configuration option that allows you to bump the version number in the package.json being updated. e.g. you might configure Renovate to bump a patch every time, or maybe for dependencies only and not devDependencies. e.g. if you configure `"bumpVersion": "patch"` then a Renovate PR updating a `package.json` that used to be version `1.2.1` will now see it updated to `1.2.2` (in addition to the dependency version(s) being updated too). Thanks to @gunar for the feature suggestion.

Closes #861
2018-01-20 09:27:05 +01:00
Rhys Arkins
c5a5463f68 tests: expand pathRules test to verify matching 2018-01-20 06:36:17 +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
Rhys Arkins
08cb61f835
feat: support multiple Docker FROM statements (#1409)
Adds support for multiple FROM statements within a Dockerfile. Thanks to @reicheltp for regex inspiration.

Closes #1011
2018-01-19 06:59:35 +01:00
Rhys Arkins
93521cac74 fix: check for not-pending only if no existing PR exists
Closes #1408
2018-01-19 05:46:28 +01:00
Rhys Arkins
85dfa819c1
fix: skip newlines at start of Dockerfile (#1402)
Allow for both comment lines or empty lines prior to FROM in Dockerfile
2018-01-17 17:58:28 +01:00
Rhys Arkins
bb46281c2c tests: update tests after code removal 2018-01-17 16:26:58 +01:00
Rhys Arkins
eb2c159d02 refactor: simplify archived check 2018-01-17 15:16:52 +01:00
Rhys Arkins
23e217991c
feat: pnpm shrinkwrap support (#1392)
This feature adds support for pnpm shrinkwrap.yaml files.

Closes #1391
2018-01-15 16:55:33 +01:00
Rhys Arkins
b5db28b242 fix: propagate registry-failure errors to avoid config validation warnings
We don’t want npmjs 5xx errors to cause config validation Issues in repositories.

Closes #1388
2018-01-14 18:58:49 +01:00
Rhys Arkins
54d3a62284 fix: throw error when receiving 5xx responses from npmjs
This is a partial fix for #929. After this we should catch and retry.
2018-01-14 15:17:57 +01:00
Rhys Arkins
dba574950b
feat: baseBranches (multi-branch) support (#1379)
This PR adds the capability to renovate more than one base branch at a time. For instance, a project may have their released `3.x` version on `master`, while an upcoming `4.x` is being prepared using branch `next`. `4.x` might have a quite different set of dependencies (e.g. some removed or some added) so it's not appropriate to only target `master` and keep rebasing, as it will get messy. Instead, it's necessary to target both `master` and `next` to keep both updated.

Closes #1279
2018-01-12 07:47:18 +01:00
Rhys Arkins
2dcb2a70d8 feat: prHourlyLimit
Adds a feature to enforce an hourly limit on PR creations.

Closes #1363
2018-01-11 11:56:16 +01:00
Rhys Arkins
2925c0d9a7 feat: automatically group @types companion packages
By stripping ‘types/ from the branch name, package x and @types/x then become automatically combined in the same PR. We then massage it a little to ensure the decription for the non-types package is used, and a note added saying that types is included.

Closes #1365
2018-01-10 15:35:14 +01:00
Rhys Arkins
72745b6b13 fix: add full npmjs scope when migrating npmToken
commit 7e15d3d488c927df2f11f728f35d493e2821477d
Author: Rhys Arkins <rhys@arkins.net>
Date:   Wed Jan 10 14:26:44 2018 +0100

    Revert "refactor: use _auth= when migrating npm tokens"

    This reverts commit 4a2fdd0477.
2018-01-10 14:27:19 +01:00
Rhys Arkins
910793e5f2 fix: check onboarding pr when handling config error
Instead of checking for config.repoIsOnboarded, just check for the onboarding PR and reverse the logic.

Closes #1339
2018-01-08 15:53:52 +01:00
Jahred Hope
c5fa30ff2c test: use local times for tests (#1354)
This change allows unit tests that don't set a timezone to refer to the local time.

Closes #1353
2018-01-08 13:39:42 +01:00
Rhys Arkins
b711e0c3aa fix: handle 404 repos gracefully 2017-12-31 20:47:46 +01:00
Rhys Arkins
24b94765ff feat: skip over archived repositories (github) 2017-12-31 20:28:22 +01:00
Rhys Arkins
f8a10a9f4c feat: pathRules
Adds new configuration option “pathRules”. pathRules is an array of path rules. Each rule should contain a “paths” array which uses string or glob matching like the existing ignorePaths. If any of the paths in a rule matches a packageFile then the remaining configuration from the rule is applied to the packageFile.
2017-12-29 15:06:28 +01:00
Rhys Arkins
1a3b0b61ea refactor: remove edited PR comment and log warn instead 2017-12-28 16:29:03 +01:00
Rhys Arkins
6b91b87dee feat: stop updating PR if edited
Previously, Renovate would attempt to keep a branch up to date even if users had edited it. e.g. adding commits on top of the existing branch if newer versions were released. Now, Renovate adds a warning comment if a user has edited a branch, making it clear that responsibility for the branch is over to them and how they can undo this.

Closes #653
2017-12-27 15:20:32 +01:00
Rhys Arkins
383302d433 refactor: info not warn if npm 401 response 2017-12-27 06:40:24 +01:00
Rhys Arkins
e0e0b9defe fix: Revert "feat: restart renovation after github error"
This reverts commit eb579ff388.

For some reason it seems to be causing a reduction in throughput per hour in the app once deployed.
2017-12-26 19:45:17 +01:00
Rhys Arkins
eb579ff388 feat: restart renovation after github error
When 404 or 422 errors are encountered writing updates, Renovate will now restart in an attempt to fix it. Usually this is because branches/PRs have been edited or closed while Renovate is running.

Closes #1299
2017-12-26 06:26:33 +01:00
Rhys Arkins
6c49ba177e docs: correlate website configuration documentation with source code
This PR adds new checks that:
- Website configuration options are listed in alphabetical order
- Every relevant configuration option in source code is documented on the website
Website docs have been updated accordingly to pass.

Closes #543, Closes #1310
2017-12-26 05:40:14 +01:00
Rhys Arkins
2720688f4c feat: commit body
This PR adds the configuration option “commitMessageBody”. The contents of this will be appended to the commitMessage, separated by two line returns.
2017-12-25 20:37:14 +01:00
Rhys Arkins
163ce43a27 feat: update yarn resolutions
Detect if the upgraded dependency was already in “resolutions” and update it too if it was an exact match. Warn if it was not.

Closes #1318
2017-12-25 17:10:20 +01:00
Rhys Arkins
3c4f46b3b2 refactor: reduce config snapshots
Closes #1334
2017-12-25 16:43:57 +01:00
Rhys Arkins
4ec85ad818
feat: use version in pr title for synchronised groups (#1333)
Now, if every upgrade in a group has the same new version, then the PR title will include this version.

Closes #1332
2017-12-24 11:14:34 +01:00
Rhys Arkins
007be13313
feat: add api caching to gitlab (#1324)
This PR ports across GitHub’s caching approach to the GitLab platform API.
2017-12-23 08:03:16 +01:00
Rhys Arkins
146e8f6982
feat: skip onboarding if renovate config detected in root package.json (#1322)
Renovate will now detect if renovate config already exists within the project’s ‘package.json’ root, and skip onboarding if so.

Closes #1159
2017-12-22 19:14:26 +01:00
Rhys Arkins
f4364ccc44 fix: isOnboarded should return true if onboarding is skipped 2017-12-22 18:50:41 +01:00
Rhys Arkins
1e4bebe627 refactor: use update instead of renovate prefix in group pr titles and commit messages
Closes #1314
2017-12-20 21:15:30 +01:00
Rhys Arkins
239fb93a24 chore: add test for packageNames + packagePatterns combined 2017-12-20 07:26:29 +01:00
Ed Morley
709a68c7ae fix: increase prNotPendingHours default to 24 hours (#1316)
To prevent PRs being opened prior to the `unpublishSafe` check having
transitioned from `pending` to `success`, when using `not-pending`
mode.

Fixes #1312.
2017-12-20 06:47:20 +01:00
Rhys Arkins
33e4b51126 feat: raise config validation issue if onboarded repo has invalid package.json
Previously, if someone updated a package.json to include invalid JSON, Renovate fails to parse it (as expected), so ignores it. As a result, any existing PRs would be autoclosed. Instead, Renovate will now skip the repository and raise a warning issue until the file parsing is complete or the file is added to Renovate’s ignore list.
2017-12-18 13:43:29 +01:00
Rhys Arkins
5243c01230 fix: don’t use v prefix in commit message if range 2017-12-18 12:39:59 +01:00
Rhys Arkins
eeefc3c8f3
feat: stop and raise error if repository is misconfigured (#1302)
This PR updates Renovate to detect config validation problems and (1) stop processing, and (2) either raise an Issue if already onboarded, or (2) update the onboarding PR to reflect the error if still onboarding.

Closes #1300
2017-12-18 09:39:52 +01:00
Rhys Arkins
b2f3626578 fix: strip leading equals sign from currentVersion
e.g. =0.22.0 is treated as 0.22.0
2017-12-16 06:50:18 +01:00
Rhys Arkins
35cd3506db fix: drop team_reviewers param and github preview header from reviewer requests 2017-12-15 19:51:41 +01:00
Rhys Arkins
c5a420711b fix: Revert "feat: support mergeable strings in config for npmrc"
This reverts commit 4f65356ba4.

I will attempt to merge npmrc configs a different way, as npm itself does not support merging cascaded configs (it finds the most specific one and just uses it).
2017-12-15 09:15:20 +01:00
Rhys Arkins
3730c66aa2
feat: bazel http_archive support (#1296)
This PR adds support for bazel http_archive references where they point to a GitHub download URL.

Closes #1292
2017-12-14 20:05:45 +01:00
Rhys Arkins
c98faa2b34 refactor: default bazel to enabled 2017-12-14 13:19:30 +01:00
Rhys Arkins
b5b714d4b5
fix: writeToken -> forkToken (#1295)
Rename writeToken to forkToken to make it clearer. This enables GitHub API to use one token for all reads, and another token just for writing to the forked repository.
2017-12-14 11:47:00 +01:00
Rhys Arkins
4f65356ba4 feat: support mergeable strings in config for npmrc 2017-12-14 09:56:52 +01:00
Rhys Arkins
4a2fdd0477 refactor: use _auth= when migrating npm tokens 2017-12-14 09:49:50 +01:00
Rhys Arkins
794e149179 refactor: ignore bower_components by default 2017-12-14 06:35:12 +01:00
Rhys Arkins
f5c3642ae7
fix: escape all forward slash with %2f (gitlab) (#1294)
Use a regex replace all instead of single replace, for cases where projects or branches have more than one forward slash.

Fixes #1293
2017-12-14 06:19:24 +01:00
Rhys Arkins
bbb700c54d feat: add github writeToken capability in github wrapper 2017-12-12 14:54:09 +01:00
Rhys Arkins
18c41df5c1
refactor: fix up config definitions (#1291)
- Remove duplicate autodiscover (fixes #1290)
- Remove npm.pin.automerge=true
2017-12-11 22:26:59 +01:00
Rhys Arkins
39a48c6e55
fix: npm configs should be applied to all package.json files (#1289) 2017-12-11 19:43:49 +01:00
Rhys Arkins
cb8fd6b4ed
feat: fork mode (#1287)
This PR adds the capability to run Renovate in a new "fork mode". This new mode must be configured by the Renovate admin, and cannot be configured within repositories themselves (for now). Example use: `renovate --autodiscover --fork-mode`

In this mode: 
* Renovate will fork the repository if necessary (first run only)
* If the fork already existed, Renovate will ensure that its base branch is up to date with the source repository's
 * Branches will be created within the fork, PRs will be created in the source
2017-12-11 19:14:51 +01:00
Rhys Arkins
837b53619f
fix: use git data API to retrieve large files (#1286) 2017-12-11 12:24:37 +01:00
Rhys Arkins
278e9fe14a
refactor: improve branch protection visibility (github) (#1284) 2017-12-10 15:22:58 +01:00
Rhys Arkins
0dbd4c3ac0
fix: remove unnecessary loki preview header for repo object (#1283)
The loki preview header is no longer required, as per https://developer.github.com/changes/2017-09-06-protected-branches-preview-end/
2017-12-10 07:25:36 +01:00
Rhys Arkins
5036360658
feat: gitPrivateKey for signed git commits (#1282)
This feature enables signing of git commits on GitHub. To achieve this, Renovate must be configured with a gitPrivateKey in format supported by openpgp. There must also be a gitAuthor configured to enable this feature.

Closes #897
2017-12-09 17:56:23 +01:00
Rhys Arkins
70c95add5a
feat: custom git commit author (#1280)
This PR adds the capability to specify a custom author for git commits on GitHub. Setting this field will mean GitHub uses this value for author and commit instead of the token’s identity. For instance if you are running hosted mode you may set the gitAuthor to “Renovate Bot <bot@renovate.com>” to have commits appear as coming from the renovate-bot account.
2017-12-09 17:09:31 +01:00
Rhys Arkins
d2f54ba763
fix: do not escape unlinked depNames in pr bodies (#1275) 2017-12-07 13:57:30 +01:00
Rhys Arkins
696aaa38af
refactor: slim down onboarding PR description (#1274) 2017-12-07 13:32:56 +01:00
Rhys Arkins
987891ba2e
feat: bazel WORKSPACE support (#1268)
This PR adds support for bazel WORKSPACE package files, as suggested https://github.com/alexeagle/angular-bazel-example/issues/17#issuecomment-349167982

Renovate will:
1. Detect `WORKSPACE` files anywhere in the repository
2. Look for all `git_repository()` sections in the file
3. Extract any dependencies with name, remote and tag values
4. Look up any dependencies that (a) have a github https remote, and (b) a valid semver as tag
5. Update the tag to the latest available
2017-12-07 09:22:10 +01:00
Rhys Arkins
04e505d483
fix: handle existing range with no matching versions (#1273) 2017-12-06 18:53:55 +01:00
Rhys Arkins
b8dadb718d
feat: travis.yml node_js versions support (#1243)
This PR adds support for renovating the `node_js` versions in `.travis.yml` configuration files. Important notes:
- Functionality is disabled by default and hence opt-in via configuration
- Added a new manager type `node` because it is anticipated to support more than just Travis in future, with mostly unified logic
- Added the config option "policy" with supported values: lts, active, current, lts_latest and lts_active
- Policy is actually an array, to allow additive combining, e.g. `["lts_latest", "current"]`
- Actual node versions are *hardcoded*. There is no perfect metadata source for this and they change infrequently enough that it is definitely not a problem for now (next change will be in April 2018)
- If node versions need updating, they are listed from newest to oldest
- Replacing function attempts to detect the indention (spacing) in file and use that

To enable, configure `node.enabled=true` and optionally `node.policy=["<policy>"]` if you want something other than `lts`.

Closes #1208
2017-12-05 07:50:16 +01:00
JYC
560bf727c3 fix: VSTS - add reviewer once even if multiple teams (#1259)
Closes #1258
2017-12-02 20:22:03 +01:00
Rhys Arkins
5e68613150
refactor: add extends config massage (#1256) 2017-12-01 07:16:17 +01:00
JYC
ab3372d33c feat: copy local packages (#1244)
If we have in a package.json links to some local lib file:../path/to/folder
Then the local lib package.json will be copied to the tmp folder to be able to generate the right yarn lock file. This is not working with tgz files, only folder reference.

Closes #1215
2017-11-30 06:43:56 +01:00
Rhys Arkins
8e136c7143
fix: do not delete branches if PR creation fails (#1252)
GitHub’s API is behaving too flakily and this can end up with closing PRs by accident, which then block future PRs. See https://github.com/ikatyang/emoji-cheat-sheet/pull/110 for example problem
2017-11-28 17:11:52 +01:00
Rhys Arkins
eabff37a15
fix: exit gracefully if no files to commit (#1242)
This handles case where checking for lock file maintenance but lock file is up-to-date.
2017-11-27 08:25:07 +01:00
Rhys Arkins
72d46c20e2
refactor: remove label and assignees description from onboarding pr (#1235)
These can now be described via presets instead
2017-11-24 12:03:57 +01:00
Rhys Arkins
779ca36bc1
refactor: use semanticCommitType chore for pin/digest (#1234) 2017-11-24 10:58:44 +01:00
Rhys Arkins
7e6befe4a8
fix: merged PRs should not block new PRs in monorepos (#1230)
Only block if it was closed unmerged.

Fixes #1205

* check for closed only for monorepos
2017-11-24 07:31:20 +01:00
Rhys Arkins
65a5e90bb7
feat: split semanticPrefix into type and scope 2017-11-24 07:14:58 +01:00
Rhys Arkins
d0a08734e5
fix: remove semanticPrefix override from pin.group to pin (#1231) 2017-11-23 19:49:14 +01:00
Rhys Arkins
7675f3a9f1
fix: replace singapore/renovate references with renovateapp/renovate (#1229) 2017-11-23 14:08:31 +01:00
Rhys Arkins
4e7830e831
refactor: use internal got cache (#1209)
Replace explicit keyv-based memory cache for npm with implicit keyv-based memory cache built into got v8.
2017-11-22 10:24:34 +01:00
JYC
8e1dfa111c feat: VSTS - Add Reviewers & Assignees (#1200) 2017-11-22 05:12:19 +01:00
Rhys Arkins
77dbef5cf0
feat: add back keyv-based memory cache for npm (#1206)
Disk-based caching for npm responses was overkill and actually started hurting performance after a while as the cache grew.
2017-11-22 04:45:40 +01:00
JYC
4bce262a14 fix: VSTS - Fix reading big file (#1204)
Closes #1158 

* deleteBranch like gitlab

* changes in single commit

* prettier lint and tests

* read big file

* challenging linting!
2017-11-21 06:08:54 +01:00
Hutson Betts
ca3a1c9f9d fix(github): paginate repo get requests (#1193)
Enable pagainate for requests made to the `user/repos` endpoint
for fetching all repositories the configured user has access to.
2017-11-20 20:36:40 +01:00
JYC
dbe68efdc7 fix: VSTS - RepoName & ProjectName (#1201)
* deleteBranch like gitlab

* changes in single commit

* prettier lint and tests

* add project and repo feature

* add case insensitive string compare
2017-11-20 19:47:49 +01:00
JYC
b272b4aab7 fix: VSTS - canRebase (#1197)
* deleteBranch like gitlab

* changes in single commit

* prettier lint and tests
2017-11-19 11:23:30 +01:00
Rhys Arkins
8ea800dce0
fix: drop “fix devDependencies” customisation (#1198) 2017-11-19 06:32:06 +01:00
Rhys Arkins
804d7ba955 refactor: don't cache lock files (#1190)
* refactor: don’t store yarn.lock content in packageFile

* chore: don’t log full lockfile

* refactor: don’t save package-lock.json

* update tests
2017-11-17 14:53:29 +01:00
Rhys Arkins
46f8dd751d
refactor: resolve package files in parallel (#1189)
Speeds up monorepos substantially
2017-11-17 06:06:06 +01:00
Rhys Arkins
e27a1b486c
refactor: use simpler api for branchExists (#1187)
simpler api + cacheable
2017-11-16 22:40:07 +01:00
Rhys Arkins
4c4d5cfdac
refactor: check unpublishsafe only if configured (#1186) 2017-11-16 22:34:49 +01:00
Rhys Arkins
fd10299a71
feat: cache github get requests in memory (#1185)
The existing github wrapper is now extended to cache any get request. The existing pr cache is removed as it is now redundant.
2017-11-16 22:13:54 +01:00
Rhys Arkins
15c3a9a8be
refactor: use fileList to speed up getFile 404s (#1175) 2017-11-16 07:13:50 +01:00
Rhys Arkins
3921c4007d
refactor: cache pull requests (github) (#1174) 2017-11-15 15:39:39 +01:00
Rhys Arkins
c89b957b8a
refactor: defer branch protection check (#1173) 2017-11-15 15:31:20 +01:00
Rhys Arkins
0e68e4aa50
refactor: defer getBaseCommitSHA until needed (#1171) 2017-11-15 14:20:17 +01:00
Rhys Arkins
7c72156562
refactor: move semantic commit detection from init to later updates (#1170) 2017-11-15 13:39:44 +01:00
Rhys Arkins
59d3be4d1c
fix: replace h4 with ** (gitlab) (#1167)
Helps #954
2017-11-14 20:44:32 +01:00
Manuel Rueda
a19421fff6 fix: normalize GitLab findPr with GitHub and add PR cache (#1165)
Closes #1164
2017-11-14 09:55:05 +01:00
Rhys Arkins
d9974a8994
refactor: drop unused isClosed from github and gitlab (#1166) 2017-11-14 09:24:19 +01:00
Rhys Arkins
d2cd755f37
feat: persistent disk cache for changelog data (#1163)
Use `cacache` to persist changelog results between runs.
2017-11-13 17:44:09 +01:00
Rhys Arkins
f0b094b006
feat: use persistent cache for npm registry queries (#1161)
This PR refactors the npm registry code to use `make-fetch-happen` instead of got. Additionally, it will use `cacache` for a disk-based caching solution.
2017-11-13 15:08:30 +01:00
JYC
e16e2ff6f2 chore: fix dev environment for Windows (#1156)
- use cross-env for jest
- escape `prettier` script
- remove snapshots that include `path.join()`

Closes #1148
2017-11-12 14:44:10 +01:00
JYC
c9335d5bf6 Add VSTS support (#1049)
This PR adds support for Microsoft's [Visual Studio Team Services](https://www.visualstudio.com/team-services/) platform (in addition to existing GitHub and GitLab support). 

Closes #571
2017-11-12 10:26:53 +01:00
Rhys Arkins
6d17d4a58d
fix: only ignore monorepo packages if matching glob (#1153)
Previously, packages within a workspace or lerna project were ignores across the entire repo. Now, they are only ignored within package files that exist in the same lerna project or yarn workspace.

Closes #1147
2017-11-12 10:16:46 +01:00
Rhys Arkins
ce88c32f94
refactor: drop {{#if isGitHub}} from templates (#1150)
Pull Request and PR are already search/replaced in JS code for GitLab.
2017-11-12 07:22:13 +01:00
renovate[bot]
f4211f5386 chore(deps): update dependency jest to v21 (#775) 2017-11-10 15:02:25 +01:00
Rhys Arkins
3e34d52819
feat: cache changelog responses (#1143)
Returns cached value if from the to versions are an exact match. No expiry.

Closes #262
2017-11-10 14:48:14 +01:00
Rhys Arkins
ede1a59527
feat: support .renovaterc json configuration file (#1142)
Renovate will now check for `renovate.json`, `.renovaterc`, and `.renovaterc.json` in that order. JSON-only supported (no YAML).

Closes #969
2017-11-10 14:10:16 +01:00
Rhys Arkins
ca5b080aac
refactor: check blocked PR before checking schedule (#1140)
Instead of checking schedule first, now we check first if the PR is blocked by a closed PR. This provides more consistent feedback.

Closes #1100
2017-11-10 13:32:33 +01:00
Rhys Arkins
28a7ea7193
feat: enable Docker minor and patch tag upgrades (#1137) 2017-11-10 13:11:51 +01:00
Rhys Arkins
8a87bcd918
feat: rebase onboarding branch (#1139)
Previously, Renovate's "Configure Renovate" onboarding branch would never get rebased after it was created. Now, it will be rebased every time the base branch is updated, unless the list of modified files is more than `renovate.json` alone.

Closes #1111
2017-11-10 13:07:06 +01:00
Rhys Arkins
e9bf2a26e1
fix: check commit message before ignoring web-flow commits (#1138) 2017-11-10 13:00:18 +01:00
Rhys Arkins
f78b52d235
fix: use assignee_id when adding assignees in gitlab (#1136)
GitLab’s API requires assignee *id* and not *username* when adding assignees to a merge request. Now, we allow Renovate users to still configure usernames and we will look up the ID and use it in the request instead.

Closes #1131
2017-11-10 09:59:12 +01:00
Rhys Arkins
f9e9351409
fix: use gitlab iid consistently in all pr-related functions (#1135) 2017-11-10 09:29:24 +01:00
Rhys Arkins
30b82c06a7
fix: gitlab MR bodies should use html (#1134) 2017-11-10 09:15:51 +01:00
Rhys Arkins
51cde5d03f
feat: multipleMajorPrs (#1129)
With this PR, Renovate will default to raising only one major PR at a time. e.g. if you have Webpack 1.x then you will get only one major PR for webpack v3 and not also for v2. set multipleMajorPrs=true to get multiple.

Closes #1101
2017-11-10 04:57:07 +01:00
Rhys Arkins
c5c6a55c1a
fix: docker separateMajorReleases and groupName (#1130)
Bring docker config support up to npm support.
2017-11-09 20:53:25 +01:00
Rhys Arkins
53b6848061
fix: don’t upgrade docker from unstable to new major unstable (#1126)
Before, if current node version was 7 then Renovate would propose upgrades to versions 8 and 9. However, like with npm we should allow upgrades to unstable only if it’s the same major version or if ignoreUnstable is explicitly set to false.
2017-11-09 10:15:08 +01:00
Rhys Arkins
4cebc7ad64
feat: unstablePattern (#1125)
This adds a configuration option unstablePattern - used only by Docker currently - that can be used to define a regex patternt to identify “unstable” versions.

Closes #1035
2017-11-08 21:57:34 +01:00
Rhys Arkins
0251fad68b
fix: allow multiple whitespace in dockerfile from line (#1123) 2017-11-08 14:47:52 +01:00
Rhys Arkins
f044aca321 refactor: streamline platform file operations (#1121)
Remove original getFile, getFileContent, and getFileJson and replace with getFile (which used to be getFileContent.. shortened now for convenience). Also remove unused getSubdirectories functions.
2017-11-08 12:23:32 +01:00
Rhys Arkins
00e7821fcb
feat: use mostly markdown for pr bodies (#1118)
Existing solution uses HTML bodies for PR descriptions, as that was the easiest way to get consistency between GitHub and GitLab. However, VSTS supports only markdown so we needed to refactor how this is done. Now, GitHub PR bodies uses only minimal HTML (for summary/details) while GitLab PR bodies are converted to HTML using GitHub flavoured markdown for maximum compatibility. VSTS will be able to strip out the minimal markdown.

Closes #1018
2017-11-08 11:09:26 +01:00
Rhys Arkins
89e13d05fe
fix: refactor logger addStream and depType logging (#1117)
* fix: refactor logger addstream

* remove depTyp setMeta
2017-11-08 09:59:32 +01:00
Rhys Arkins
8c479071fd
refactor: use global logger (#1116) 2017-11-08 06:44:03 +01:00
Rhys Arkins
602752f9fe
refactor: use platform global (#1115) 2017-11-07 13:31:34 +01:00
Rhys Arkins
f8be45055a
refactor: remove config.api and use platform dispatcher (#1114) 2017-11-07 11:46:10 +01:00
Rhys Arkins
35e83b2211
fix: split registry and namespace correctly (#1112) 2017-11-06 13:19:41 +01:00
Rhys Arkins
1af60f5158
feat: Support 'AS' names in Dockerfile from line (#1110)
This PR adds support for 'AS' names in Dockerfiles. e.g. `FROM node:8 AS base`. It also adds logic to detect and ignore - for now - any image sources from custom registries.
2017-11-06 11:36:06 +01:00
Rhys Arkins
76a680b98d
fix: add check for Dockerfile content before parsing (#1107) 2017-11-05 14:23:20 +01:00
Rhys Arkins
edfca74ede
refactor: make common platform public API (#1104)
Refactors file system of platforms and adds test to ensure GitHub and GitLab have same module.exports signatures.
2017-11-05 08:18:20 +01:00
Rhys Arkins
f4d0fea6ae
fix: use colon not at when describing existing docker image:tag (#1103) 2017-11-05 06:17:16 +01:00
Rhys Arkins
80bed05146
feat: return result from renovateRepository
Repository logic code has been rearranged for better logic and file separation.

Closes #654
2017-11-05 05:45:49 +01:00
Rhys Arkins
8c27d97d5d
feat: rebase stale pin branches (#1099) 2017-11-03 20:15:44 +01:00
Rhys Arkins
d5462049a6
chore: implement require-await eslint rule (#1095) 2017-11-03 11:56:25 +01:00
Rhys Arkins
dcdfc0d004
fix: refactor pin dependencies first using array.some (#1094) 2017-11-03 11:50:57 +01:00
Rhys Arkins
935a70e88c
refactor: use plain markdown for onboarding pr body (#1093)
This PR refactors the onboarding PR logic into its own subdirectory and redesigns it to use plain markdown instead of html. Plain markdown in PR bodies is a requirement for adding VSTS Support ( #1049 ).
2017-11-03 10:01:54 +01:00
Rhys Arkins
9769f5a5db
refactor: detectPackageFiles returns packageFiles not config (#1092) 2017-11-03 09:25:18 +01:00
Rhys Arkins
9c1b7d78cd
refactor: move monorepos logic to npm manager (#1091)
* refactor: move monorepos logic to npm manager

* fix test
2017-11-03 09:06:42 +01:00
Rhys Arkins
543d93c520
refactor: move migrate-validate to config/ (#1090) 2017-11-03 08:25:51 +01:00
Rhys Arkins
11d7f26cc1
refactor: perform decrypt as part of merge renovate.json (#1086)
Also clarify docs that encrypted config must be contained in renovate.json (i.e. not package.json).
2017-11-03 07:51:44 +01:00
Rhys Arkins
9dd3fd968c
feat: rename mistakenly closed PRs (#1085)
Renovate already detects PRs mistakenly closed during a certain time period when a bug was present. Now, it will rename those so that they are no longer detected and the ignore code does not have to remain indefinitely.
2017-11-03 06:29:29 +01:00
Rhys Arkins
90c3b1cdbd
fix: add gitlab MR labels at time of creation (#1006)
This refactor means that createPr now takes `labels` as a new parameter so that the GitLab API can include them with the MR creation request, so save one API call. This also fixes #985 as a result.
2017-11-01 13:55:36 +01:00
Rhys Arkins
58784fc958 feat: add renovateFork option
99% of the time we should not Renovate forked repositories. Previously, we skipped onboarding them unless a renovate.json was present. However, that meant that if someone forked a repository where the source was using Renovate, then the fork gets renovated automatically too. After this change, forked repositories need to set renovateFork=true in their renovate.json

Closes #940

BREAKING CHANGE: Forked repositories now need to configure renovateFork=true in renovate.json
2017-11-01 13:13:55 +01:00
Rhys Arkins
1fb8369804 feat: deprecate gitlab apiv3 (#1064)
GitLab is now hardcoded to apiv4 with no detection performed.

BREAKING CHANGE: GitLab API v3 is no longer supported
2017-11-01 13:13:55 +01:00
Rhys Arkins
aada8f0b73 feat: support globs in ignorePaths (#1069)
Renovate will now check ignorePaths values for either (a) a string match, or (b) glob pattern. e.g. a string of ‘node_modules/‘ will ignore ‘node_modules/foo/package.json’ and ‘backend/node_modules/foo/package.json’ but it will also ignore ‘not_node_modules/foo/package.json` too. Therefore a blog pattern of `**/node_modules/**` is superior.

Closes #1054

BREAKING CHANGE: ignorePaths now supports globs and may match more than before, but that’s probably a good thing.
2017-11-01 13:13:55 +01:00
Rhys Arkins
af75504e20 feat: deprecate github app (#1068)
BREAKING CHANGE: GitHub *App* support code has been removed from within this repository.
2017-11-01 13:13:55 +01:00
Rhys Arkins
138d99a04f feat: default lockFileMaintenance to disabled (#1066)
Closes #590

BREAKING CHANGE: lock file maintenance is now disabled by default.
2017-11-01 13:13:55 +01:00
Rhys Arkins
950c65f827 feat: default pinVersions to null (autodetect) (#1062)
By defaulting pinVersions to null, this allows Renover to autodetect on a per-package file basis. Users may still manually configure (override autodetection) pinning enabled or disabled via config.

Closes #589

BREAKING CHANGE: Renovate will no longer default to pinning versions - instead it will autodetect whether to pin, unless overrided.
2017-11-01 13:13:55 +01:00
Rhys Arkins
2cd741d1df feat: deprecate ignoreFuture configuration option (#1063)
Drop support for (unused) ignoreFuture option.

Closes #588

BREAKING CHANGE: Support is removed for ignoreFuture configuration option
2017-11-01 13:13:55 +01:00
Rhys Arkins
56e6bd32b5
refactor: log if repository is a configured fork (#1071) 2017-11-01 11:42:20 +01:00
Rhys Arkins
780b3f3175
feat: autodetect js type during runtime (#1053)
This is instead of autodetecting lib or app during onbiarding. This means some package files might be all pinned while others in the same monorepo can be not. This also simplifies the onboarding logic.
2017-10-29 05:15:59 +01:00
Rhys Arkins
f3273618b2
fix: add uniqueness to docker-digest pr title (#1051)
Use first 6 chars of sha256 digest in PR title to ensure uniqueness and not block future digest updates.

Closes #1060
2017-10-27 23:33:55 +02:00
Rhys Arkins
f582181504 fix: check day of month in schedule (#1048)
Fixes #1047
2017-10-25 11:37:05 +02:00
Rhys Arkins
0427604de6 refactor: move language extraction logic to manager (#1046)
* refactor: move docker and meteor extraction to manager

* refactor: move resolve docker logic to manager

* refactor extract config
2017-10-25 10:11:11 +02:00
Rhys Arkins
31e7c8a881 refactor: move languages from branch worker to manager (#1044) 2017-10-25 06:48:08 +02:00
Rhys Arkins
7d06bebe2e refactor: push detect dockerfiles to manager (#1043)
* refactor platform

* refactor detect package files

* fix

* refactor npm detect

* refactor meteor detect

* refactor: move detect package files completely to manager

* update snapshots
2017-10-25 06:00:07 +02:00
Rhys Arkins
da1ded5344 refactor: move more package worker logic to manager 2017-10-24 15:46:47 +02:00
Rhys Arkins
3b180aa679 refactor: move workers/package/npm to manager/npm/package 2017-10-24 15:46:47 +02:00
Rhys Arkins
d134d8b38e refactor: move workers/package/docker to manager/docker/package 2017-10-24 15:46:47 +02:00
Rhys Arkins
3960da6e38 refactor: use manager subdirectory for grouping (#1040) 2017-10-24 13:12:44 +02:00
Rhys Arkins
a2bdcde8fb fix: check for dockerfile content before processing (#1039) 2017-10-24 12:11:37 +02:00
Rhys Arkins
fbf0824dd8 refactor: rename lib/api to lib/registry (#1038)
docker and npm
2017-10-24 10:40:47 +02:00
Rhys Arkins
01fedc7e0c refactor: move github and gitlab api to platform (#1037) 2017-10-24 10:27:17 +02:00
Rhys Arkins
435478864e feat: renovate docker tag major/minor versions (#1029)
This feature enables docker tag "upgrading". Examples:
- From `node:6` to `node:8`
- From `node:6.10` to `node:6.11`
- From `node:6.11.1` to `node:6.11.3`
- From `node:6.10-onbuild` to `node:6.11-onbuild`
Currently these are disabled by default so they are opt-in, you can enable them by setting e.g. `{ docker: { minor: { enabled: true }, major: { enabled: true }}`

Closes #930
2017-10-24 06:36:52 +02:00
Rhys Arkins
9c16565a2d feat: enable docker by default (#1026)
Docker does now not need to be explicitly enabled.

Closes #942
2017-10-23 13:59:33 +02:00
Rhys Arkins
b2f35fef44 fix: do not delete semantic commits when migrating (#1025) 2017-10-23 13:06:09 +02:00
Rhys Arkins
9bac600caf refactor: filter pinned dependencies first (#1023) 2017-10-23 12:45:32 +02:00
Rhys Arkins
a65a149b8d fix: try/catch dockerfile replace (#1022) 2017-10-23 11:28:46 +02:00
Rhys Arkins
826753e329 fix: migrate null schedule to [] (#1021) 2017-10-23 09:14:50 +02:00
Rhys Arkins
aa5a488157 fix: symlinks are mode 120000 not 12000! (#1020) 2017-10-22 20:24:01 +02:00
Rhys Arkins
9c9da3f6de fix: error and exit if cannot parse renovate.json (#1019) 2017-10-22 07:47:18 +02:00
Rhys Arkins
2fa50b3771 feat: rebase branch whenever versions need updating (#1018) 2017-10-21 16:42:40 +02:00
Rhys Arkins
50295417d4 fix: don’t prefix ranges with v in pr body (#1017) 2017-10-21 15:15:22 +02:00
Rhys Arkins
636c7d17de feat: skip group name if all depNames are the same (#1015)
This commonly applies to monorepos where the same dependency may be present in multiple.json files. Instead of using the group name to describe the PR, it uses the dependency name.

Closes #848
2017-10-21 07:46:47 +02:00
Rhys Arkins
95edcec90a fix: ignore symlink package files (#1012) 2017-10-20 15:22:48 +02:00
Rhys Arkins
d3df597aa7 fix: only detect meteor files that include json Npm.depends (#1009) 2017-10-20 14:29:12 +02:00
Rhys Arkins
24a2b7b041 fix: enable pagination for merge request search requests (#1010) 2017-10-20 14:22:28 +02:00
Rhys Arkins
622116f7e0 feat: migrate boolean config objects to enabled true/false (#1007) 2017-10-20 13:15:00 +02:00
Rhys Arkins
34a7a459da fix: disabled types should be filtered out by package worker (#1005)
Closes #1004
2017-10-20 09:58:09 +02:00
Rhys Arkins
aba27eb757 feat: enable meteor by default (#1002)
Renovate will now check for and update meteor package.js files unless explicitly *disabled*.
2017-10-20 07:04:04 +02:00
Rhys Arkins
76ddde1cb5 fix: ignored digest pr comment (#1001) 2017-10-20 06:55:52 +02:00
Rhys Arkins
a0f773aa3c feat: retry github 401 bad credentials responses (#1000)
Closes #996
2017-10-20 06:24:09 +02:00
Rhys Arkins
00dabb5dc1 feat: raise pr with warning if lock file generation fails (#994)
Previously, upgrades with failing lock files were not raised as PRs. Usually this is because of missing private module configuration. Now, Renovate will raise a PR but add a comment warning of the error, with the error log. It's raised as a comment because we now won't need to regenerate the lock file error every run, and we don't want to "lose" it if the PR description gets updated.

Closes #600
2017-10-19 14:05:10 +02:00
Rhys Arkins
e8810b33fa feat: add ensure comment removal api (github) (#992) 2017-10-19 13:30:26 +02:00
Rhys Arkins
1146cfbfe4 fix: pin prs should recreate closed (#991) 2017-10-19 13:10:59 +02:00
Rhys Arkins
fa48a7fdef feat: rename open prs before autoclosing (#990)
This is a failsafe against Renovate bugs and potentially also mistakes on the user’s part. Before deleting/pruning any branches, Renovate will rename the PR’s title so that it should not block future PRs.

Closes #989
2017-10-19 07:36:09 +02:00
Rhys Arkins
c93c761d27 refactor: log addReviewers and add empty team reviewers (#988)
See if this helps #782
2017-10-19 06:35:21 +02:00
Rhys Arkins
e5895aeecf refactor: use findPr for getBranchPr 2017-10-19 06:26:29 +02:00
Rhys Arkins
84e368ff1f refactor: remove unused getAllPrs api (github) 2017-10-19 06:26:29 +02:00
Rhys Arkins
01211f119f fix: strip duplicates from dependencies log
* fix: strip duplicates from dependencies log

* chore: update prAlreadyExisted log messages
2017-10-18 21:39:10 +02:00
Rhys Arkins
b5870d90d9 feat: allow rebase after github web branch update (#982)
GitHub provides a tempting “Update branch” button whenever a branch is out of date with master, but the problem was that this then made us flag the branch as modified and hence unrebaseable, so the user would be stuck with keeping it update themselves from then on. With this feature, we ignore the “web-flow” committer when calculcating if there has been only one author.
2017-10-18 15:49:35 +02:00
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
a4a14861b9 fix: replace some file sync functions with await (#980)
* refactor: await fs.readFile instead of sync version

* fix: replace fs and tmpDir sync with promises
2017-10-18 13:26:56 +02:00
Rhys Arkins
7a1d08eaab fix: refactor out remaining do-while loops (#978)
* fix: convert prBody trimming from do-while to recursive

* fix: convert gitlab projects do-while to use pagination
2017-10-18 11:40:48 +02:00
Rhys Arkins
cc2288ef31 fix: add try-catch to getFileList (#975) 2017-10-18 08:25:42 +02:00
Rhys Arkins
ffef63f47c feat: suppor gitlab api pagination (#971)
Adds paginated results capability for gitlab and enables it for getFileList. This should enable all files when using APIv4.

Hopeful this c-l-o-s-e-s #962 & #968
2017-10-17 21:46:49 +02:00
Rhys Arkins
9a97a5901e feat: use parse-link-header library (github) (#970)
Now will work with any GitHub host, instead of just api.github.com
2017-10-17 20:44:40 +02:00
Rhys Arkins
2b6077b6f6 fix: make github pagination opt-in (#966) 2017-10-17 13:45:17 +02:00
Rhys Arkins
665ede8475 fix: migrate excludedPackageNames to excludePackageNames (#961) 2017-10-17 11:16:02 +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
08120967b3 feat: automatically paginate res.body responses (#959) 2017-10-17 10:12:40 +02:00
Rhys Arkins
c188a71081 fix: set GitHub App headers for every request (#958) 2017-10-17 08:04:58 +02:00
Rhys Arkins
e6e8b541cf refactor: rename ghGotRetry and glGot to get (#957) 2017-10-17 07:15:01 +02:00
Rhys Arkins
3d84c22cf0 feat: skip regenerating lock file maintenance if branch exists (#956) 2017-10-16 21:57:48 +02:00
Rhys Arkins
652b910d81 fix: only detect meteor package.js files containing Npm.depends (#953)
Closes #952
2017-10-16 14:21:45 +02:00
Rhys Arkins
7c410c1283 feat: ignore mistakenly closed PRs and recreated closed (#951) 2017-10-16 13:13:31 +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
4ddd073863 feat: set github app preview header when in app mode (#949)
From https://developer.github.com/v3/apps/available-endpoints/:
> In order to access the API with your GitHub App, you must provide a custom media type in the `Accept` Header for your requests.
```
application/vnd.github.machine-man-preview+json
```
2017-10-16 09:45:31 +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
2820b5eef3 feat: implement findFilePaths on gitlab (#945) 2017-10-15 22:50:59 +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
e1599073d0 fix: migrate ‘ every day’ schedule to empty (#937) 2017-10-14 07:03:44 +02:00
Rhys Arkins
8fc61e35bc feat: add assignees and reviewers whenever status checks fail (#928)
This feature means that you can configure branches/PRs to automerge, but if status checks fail (preventing automerge) then you can still get assigneed the PR to take action. Previously such PRs remained unassigned because we do not assign automerging PRs by default, to reduce noise.

Closes #722
2017-10-13 10:56:18 +02:00
Rhys Arkins
1a174226ed feat: keep branches/PRs updated when out of schedule (#926)
By default, Renovate will now continue *updating* - but not creating - branches even if off-schedule. This applies to features such as (a) rebasing branches if master changes, (b) updating if new version comes, (c) creating PRs if tests pass, (d) automerging. It is planned that (b) will be configurable in a future feature. To disable this behaviour altogether, set updateNotScheduled to false.

Closes #879
2017-10-13 06:42:17 +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
19949f2604 fix: migrate automergeMajor automergeMinor automergePatch (#922)
This is a misconfiguration by a user but no harm in adding it to migrations.
2017-10-12 18:55:46 +02:00
Rhys Arkins
ad3f8d945f fix: wrap meteor parsing in try/catch (#921) 2017-10-12 18:25:26 +02:00
Rhys Arkins
393c24c652 fix: stop attempting branch merge if pr exists (#920) 2017-10-12 17:39:10 +02:00
Rhys Arkins
8b99ce5294 feat: detect languages during onboarding (#919)
* refactor: simplify onboarding logic

* docker meteor tests

* handle no package files case

* fix coverage
2017-10-12 16:29:20 +02:00
Rhys Arkins
97ebf27382 refactor: getOnboardingStatus returns config object (#918) 2017-10-12 10:58:16 +02:00
Rhys Arkins
e9ee8002df fix: revert docker/meteor onboarding code (#916)
* Revert "feat: support docker and meteor onboarding without npm"

This reverts commit 437145b901.

# Conflicts:
#	test/workers/repository/onboarding.spec.js

* chore: downgrade npm cache message from debug to trace
2017-10-11 19:25:25 +02:00
Rhys Arkins
bf2491bfc1 fix: don’t automerge pinned dependencies (#914) 2017-10-11 16:20:17 +02:00
Rhys Arkins
ba70f2a7c7 fix: log err headers if giving up on rate limit exceeded (#912) 2017-10-11 15:18:50 +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
83ecc08541 fix: add commitMessage for pin groups (#910)
Fixes #895
2017-10-11 13:10:12 +02:00
Rhys Arkins
a60748c5ec feat: improve onboarding help
Adds mention of app author + how to recreate PR.
2017-10-11 12:46:30 +02:00
Rhys Arkins
276fa98a17 fix: eslint error 2017-10-11 12:10:31 +02:00
Rhys Arkins
437145b901 feat: support docker and meteor onboarding without npm 2017-10-11 12:10:31 +02:00
Rhys Arkins
eacd2b258a refactor: check if npm enabled before detecting files 2017-10-11 12:10:31 +02:00
Rhys Arkins
7c17c666f4 fix: better pin description in oboarding 2017-10-11 12:10:31 +02:00
Rhys Arkins
039ff55b88 refactor: rename depType docker to Dockerfile 2017-10-11 12:10:31 +02:00
Rhys Arkins
343814d467 fix: use presets js-app and js-lib (#906) 2017-10-10 12:34:35 +02:00
renovate[bot]
8866603a46 fix(deps): update dependency get-installed-path to v4 (#892)
* fix(deps): update dependency get-installed-path to v4.0.3

* fix
2017-10-08 06:30:01 +02:00