Commit graph

673 commits

Author SHA1 Message Date
Rhys Arkins
52ad9d8277
fix: skip branch creation if the updated dependency fails to lock (#1696)
There are times when an npm dependency has an update available yet the “npm/yarn/pnpm install” fails to find it, and the lock file can’t be generated. We check for this any time there’s a lock file error and abort the branch creation, hoping it fixes itself on the next run.

Closes #1666
2018-03-21 11:17:54 +01:00
Rhys Arkins
ee3240908b
feat: requireConfig (#1695)
Adds option to bot owners to require a renovate config be in place.

Closes #1694
2018-03-21 10:08:55 +01:00
Rhys Arkins
85d697c649 chore: remove unused json-stringify-safe 2018-03-20 21:15:24 +01:00
Rhys Arkins
d77a3b2b92 fix: log error response body if present 2018-03-20 18:03:14 +01:00
Rhys Arkins
6c677cbc92 fix: use onboarding status to determine mirror mode config branch 2018-03-20 13:29:08 +01:00
Rhys Arkins
dd93c1c194 fix: search changelogs down to fourth heading deep
Closes #1687
2018-03-20 10:07:50 +01:00
Rhys Arkins
3eaa75f3e4 fix: use looser changelog heading matching 2018-03-20 10:07:21 +01:00
Rhys Arkins
203930d2d6 fix: unescape issue number inside backticks 2018-03-20 09:59:58 +01:00
Rhys Arkins
a913a50715 fix: hard code public github api for release lookups 2018-03-20 09:24:22 +01:00
Rhys Arkins
e8fdf130c9 fix: handle unstable releases with upgradeInRange
Fixes when a ranged version had a semver release part (e.g. 1.2.3-rc.5).

Closes #1689
2018-03-20 07:20:14 +01:00
Rhys Arkins
b4bfb35418 chore: lower debug to trace for packagePatterns 2018-03-20 07:11:56 +01:00
Rhys Arkins
2364efdb39 fix: improve lockfile maintenance deletion logic
Set lock file branches to always rebase stale, and delete if there’s no work to do.
2018-03-20 06:48:27 +01:00
Rhys Arkins
0cfba9d014 chore: lessen debugging - move to trace 2018-03-20 06:39:37 +01:00
Rhys Arkins
ec34d136cf fix: don’t have blocking pin PRs when in mirror mode 2018-03-17 15:32:43 +01:00
Rhys Arkins
d86891cf81 fix: prTitle compilation with nested templates
Closes #1652
2018-03-17 10:58:42 +01:00
Rhys Arkins
13609b735d fix: improve try/catch for mirrorMode config 2018-03-17 07:02:38 +01:00
Rhys Arkins
e50d9c1f05 feat: mirrorMode
adds feature mirrorMode, aimed for “shadowing” a target repository.
2018-03-17 06:07:39 +01:00
Rhys Arkins
fa2bda45fe fix: delete lockFileMaintenance branch if no longer necessary
If a lockFileMaintenance branch returns no updated lockfiles then we should delete it.

Closes #1655
2018-03-16 10:51:10 +01:00
Rhys Arkins
ef26aa7ea4 fix: rebase lock file maintenance PRs if configured
Fixes so we skip lock file generation for lock file maintenance branches only if it *doesn’t* need rebasing.

Helps #1655
2018-03-16 06:28:46 +01:00
Rhys Arkins
23d0290384
fix: raise PR immediately if there are lock file errors (#1664)
fix: raise PR immediately if there are lock file errors
2018-03-15 07:06:18 +01:00
Rhys Arkins
3a8f73adaa chore: better debugging for timezone/schedule 2018-03-15 06:22:25 +01:00
Rhys Arkins
dbe9fd9dec fix: compile handlebars multiple times to catch nested templates
Closes #1652
2018-03-13 07:44:50 +01:00
Rhys Arkins
e62aa89a6c
feat: customisable prFooter (#1648) 2018-03-12 13:35:15 +01:00
Rhys Arkins
68117f08d3
fix: remove redundant handlebars compilations (#1637) 2018-03-12 05:23:00 +01:00
ikisialeu
c0f87172fa fix: validate timezones (#1638)
`Adds a config validation check for timezone, checking it against the list in moment-timezome.js`. Configs with invalid timezones will raise a configuration error.

Closes #1483
2018-03-12 04:24:45 +01:00
Rhys Arkins
09b8989b2e chore: error not warn when repository not found 2018-03-09 11:50:04 +01:00
Rhys Arkins
cd97792e7c
fix: allow rebaseStalePrs=false to take priority over repo settings (#1624)
fix: allow rebaseStalePrs=false to take priority over repo settings
2018-03-09 06:58:40 +01:00
eMerzh
088279abbd fix: return shrinkwrapdir to avoid crash (#1621) 2018-03-08 15:59:52 +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
862998c2b4 fix: don’t validate empty config 2018-03-08 08:00:12 +01:00
Rhys Arkins
ef828be054 refactor: log content before validation 2018-03-08 07:32:09 +01:00
Rhys Arkins
c3db85c74e fix: correct setMeta for validatePrs() 2018-03-07 15:06:57 +01:00
Rhys Arkins
308ed432db
feat: upgradeInRange (#1608)
Upgrade ranges to latest version even if latest version satisfies existing range.

| name    | value   |
| ------- | ------- |
| type    | boolean |
| default | false   |

By default, Renovate assumes that if you are using ranges then it's because you want them to be wide/open. As such, Renovate won't deliberately "narrow" the range by increasing the semver value inside.

For example, if your `package.json` specifies a value for `left-pad` of `^1.0.0` and the latest version on npmjs is `1.2.0`, then Renovate won't change anything. If instead you'd prefer to be updated to `^1.2.0` in cases like this, then set `upgradeInRange` to `true` in your Renovate config.

This feature supports simple caret (`^`) and tilde (`~`) ranges only, like `^1.0.0` and `~1.0.0`. It is not compatible with `pinVersions=true`.

Closes #1607
2018-03-07 07:41:10 +01:00
Rhys Arkins
d237c6c670 feat: add comment to PRs if config validation fails 2018-03-06 20:00:10 +01:00
Rhys Arkins
e7c325e6f0 fix: validate based on branchPrefix, not branchName 2018-03-06 16:12:59 +01:00
Rhys Arkins
453ce13278 fix: Revert "refactor: array concatenation (#1601)"
This reverts commit dd26a018c5.
2018-03-06 15:54:39 +01:00
Rhys Arkins
96835410d8
feat: validate renovate config PRs (#1602)
feat: validate renovate config PRs
2018-03-06 15:21:17 +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
46e2e95b32 fix: pr dep filter use manager in duplicate key
To ensure we list both nvm and engines when upgrading node
2018-03-06 11:14:32 +01:00
Rhys Arkins
e2f067faba Revert "fix: skip pruning for multiple baseBranches"
This reverts commit 81c722473f.
2018-03-05 13:53:37 +01:00
Rhys Arkins
3877b87c36 fix: delete branchList if repository has looped 2018-03-05 13:53:04 +01:00
Rhys Arkins
81c722473f fix: skip pruning for multiple baseBranches 2018-03-05 13:19:39 +01:00
Rhys Arkins
7021a073aa fix: clean up multiple baseBranches correctly
Re-enables branch cleanup for multiple baseBranches
2018-03-05 12:27:10 +01:00
Rhys Arkins
3d65e3a48e fix: disable branch pruning when multiple basebranches in use 2018-03-05 12:12:46 +01:00
Rhys Arkins
dde5756488
feat: .nvmrc files (#1582)
Adds initial support for `.nvmrc` renovation. If the existing value is a fully-specified semver version then it will be upgraded, otherwise left alone.

Closes #1270
2018-03-04 15:52:06 +01:00
Rhys Arkins
a2c4ecefda fix: delete empty errors and warnings from migrated config 2018-03-04 07:12:02 +01:00
Rhys Arkins
faa4cc6171 fix: travis metadata and formatting
Updates travis config and logic to use same variables as for other managers. This fixes the onboarding PR.

Fixes #1551
2018-03-03 20:53:54 +01:00
Rhys Arkins
3c56f8aeb6
refactor: move manager-specific code under lib/manager (#1573)
Refactors all non-npm code to live inside lib/manager/*
2018-03-03 14:39:39 +01:00
Rhys Arkins
7f9d73a318 feat: allowedVersions
A semver range defining allowed versions for dependencies

| name | value  |
| ---- | ------ |
| type | string |

Use this - usually within a packageRule - to limit how far to upgrade a dependency. For example, if you wish to upgrade to angular v1.5 but not to `angular` v1.6 or higher, you could defined this to be `<= 1.5` or `< 1.6.0`:

```
  "packageRules": [{
    "packageNames": ["angular"],
    "allowedVersions": "<=1.5"
  }]
```
2018-03-03 06:35:11 +01:00
Rhys Arkins
7db4951722 fix: use commonConfig branchPrefix only if set 2018-03-01 21:58:34 +01:00
Rhys Arkins
e9eba859ea fix: use original branchPrefix when pruning baseBranches 2018-03-01 21:34:27 +01:00
Rhys Arkins
a3bd0a0e95 Revert "logs: log configs when baseBranches in use"
This reverts commit c4cdfe8989.
2018-03-01 21:08:01 +01:00
Rhys Arkins
3fd090f3ef feat: prBanner
Enables a “banner” at the top of PRs. Must be set inside a config.js to work.
2018-03-01 17:35:11 +01:00
Rhys Arkins
bb2fc1b7ca refactor: move npm extract from workers to manager 2018-03-01 10:21:26 +01:00
Rhys Arkins
cf336a0b21 refactor: use manager not packageFile 2018-02-28 19:01:35 +01:00
Rhys Arkins
c4cdfe8989 logs: log configs when baseBranches in use 2018-02-28 19:00:40 +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
5c6139f030 fix: throw error if lerna out of disk space 2018-02-27 19:05:00 +01:00
Rhys Arkins
bc684c7b29 fix: implicit patch-only upgrade
Use type ‘patch’ only when patch automerge is true AND minor automerge is not true.
2018-02-27 14:50:09 +01:00
Rhys Arkins
f95058d66b refactor: move npm registry to datasource 2018-02-27 10:49:24 +01:00
Rhys Arkins
ff1a75b42d fix: throw error if yarn out of disk space
Closes #1548
2018-02-26 17:03:12 +01:00
Rhys Arkins
9263fd36b3 fix: don’t overwrite edited onboarding configs
Before, we were attempting to rebase edited branches if renovate.json was the only modified file. This “lost” the committer information - which seemed ok - but it also meant that on the subsequent run it then assumed Renovate was the only committer. Now we don’t rebase edited onboarding branches anymore.

Closes #1360
2018-02-22 19:46:57 +01:00
Rhys Arkins
352ac76640 chore: add debugging to semantic commit detection 2018-02-22 08:58:44 +01:00
Rhys Arkins
b00af3022a fix: re-enable package-lock-only for npm
Closes #1531
2018-02-22 07:42:59 +01:00
Rhys Arkins
1fd83139ed
feat: configurable onboarding config (#1543)
Adds configuration option `onboardingConfig` that allows the default onboarding config to be extended or replaced via `config.js` or env configuration.

Closes #1521
2018-02-21 19:50:58 +01:00
Rhys Arkins
182d1c7348
fix: don't use --package-lock-only for npm install (#1544)
* Revert "fix: disable reusing existing package-lock.json when upgrading (#1530)"

This reverts commit 2728e39963.

* switch from —package-lock-only to —ignore-scripts

Removing `--package-lock-only` option from npm installs due to https://github.com/npm/npm/issues/19852

Pretty sure this fixes #1495
2018-02-21 08:12:25 +01:00
Rhys Arkins
e057e11823 fix: warn if missing lock file during lerna bootstrap 2018-02-20 09:26:47 +01:00
Rhys Arkins
c949778ab7 fix: harmonize to pr.branchName 2018-02-19 20:01:10 +01:00
Rhys Arkins
116939ffb5
feat: renovate node engine in package.json (#1519)
Adds support for upgrading `node` version in `package.json` > `engines` if the current version is pinned.
- Does not convert from range to pin
- Ignores ranges
- Does not upgrade major versions
2018-02-19 14:21:45 +01:00
Rhys Arkins
dd08477360 fix: don’t reuse branch yarn.lock when rebasing
This has been causing undesirable side-effects with sub-dependencies “rolling back” in long-running PRs.

Fixes #1532
2018-02-19 06:52:32 +01:00
Rhys Arkins
2728e39963
fix: disable reusing existing package-lock.json when upgrading (#1530)
Skip writing package-lock.json locally before `npm install —package-lock-only` to work around https://github.com/npm/npm/issues/19852

Workaround to fix #1528
2018-02-18 21:16:04 +01:00
Rhys Arkins
576f38efdc fix: use isUmergeable instead of mergeable 2018-02-16 16:19:26 +01:00
Rhys Arkins
dfc768b571 fix: correct unpublish safe url
Fixes #1517
2018-02-15 08:31:58 +01:00
Rhys Arkins
a8acdb31ac chore: add existingPr debug log 2018-02-15 08:30:21 +01:00
Rhys Arkins
848eb0dafb fix: delete GITHUB_ENDPOINT before changelog 2018-02-12 21:55:45 +01:00
Rhys Arkins
9cd579ddb3 feat: support separate GHE and github.com tokens
Instead of deleting the GITHUB_TOKEN when we find GHE configured, replace it with GITHUB_COM_TOKEN for the purposes of retrieving release notes and commit history.

Workaround for #1500 but does not close it.
2018-02-12 07:10:50 +01:00
Rhys Arkins
17472879f4 chore: add debugging to packageRules matching 2018-02-11 21:09:33 +01:00
Rhys Arkins
9766a94fbf fix: check for truthy arrays before checking length 2018-02-11 19:58:59 +01:00
Rhys Arkins
c69e215613 fix: updatedPackageFile typo 2018-02-11 17:38:06 +01:00
Rhys Arkins
d88fbc9bf2 fix: add config.updatedPackageFiles check 2018-02-11 17:11:20 +01:00
Adam Moss
69f77c01da fix(semanticCommitScope): compile with handlebars
Compile the semanticCommitScope with handlebars to ensure any
substitutions such as {{depName}} are correctly parsed and replaced.

Closes #1504

Signed-off-by: Adam Moss <adam.moss@bcs.org.uk>
2018-02-11 07:38:10 +01:00
Rhys Arkins
54bb8256dd fix: automerge pr even if automerge type was branch 2018-02-09 14:13:36 +01:00
Rhys Arkins
b1da837da1 fix: create Pr if prNotPending hours exceeded for branch automerge 2018-02-09 13:29:47 +01:00
Rhys Arkins
6478f3c53d fix: don’t log config with ever lock file remove 2018-02-09 12:44:24 +01:00
Rhys Arkins
f7f0ad14e7 chore: set type=lerna when generating lock files 2018-02-09 10:38:36 +01:00
Rhys Arkins
8c772348c6 chore: downgrade changed from warn to info 2018-02-09 08:27:24 +01:00
Rhys Arkins
58f3c02ecc fix: log repository when getReleaseList errors 2018-02-09 08:22:51 +01:00
Rhys Arkins
c7f4be1748 fix: add extra check for manual github url 2018-02-09 07:04:27 +01:00
Rhys Arkins
aa84766136 fix: don’t delete lock files when non-npm package files exist
Fixes #1320
2018-02-09 06:55:47 +01:00
Rhys Arkins
5e767472ee fix: check for prHourlyLimitReached before generating lockfiles 2018-02-08 20:07:32 +01:00
Rhys Arkins
a05c33b2ed fix: Revert "fix: add try/catch to lock file read"
This reverts commit a28cef0aa9.
2018-02-08 16:26:07 +01:00
Rhys Arkins
a28cef0aa9 fix: add try/catch to lock file read 2018-02-08 16:16:30 +01:00
Rhys Arkins
3bed325e26 fix: improve release note title detection 2018-02-08 16:04:41 +01:00
Rhys Arkins
b1ad1bb058 fix: detect renamed repositories and skip 2018-02-08 16:04:25 +01:00
Rhys Arkins
8d74ae5e7a fix: loosen # escaping 2018-02-08 13:48:17 +01:00
Rhys Arkins
206aaf63a7 chore: downgrade releaseList error to warn 2018-02-08 13:36:12 +01:00
Rhys Arkins
e795dc5a86 fix: check that repositoryUrl starts with github.com 2018-02-08 13:32:27 +01:00
Rhys Arkins
82ec20d35d fix: test if changelog.md heading ends with version 2018-02-08 13:25:28 +01:00
Rhys Arkins
f07a7a33c0 fix: strip trailing #something from manual repository url 2018-02-08 13:22:39 +01:00