Commit graph

704 commits

Author SHA1 Message Date
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
Rhys Arkins
5794e008ce feat: look up missing dep repository manually if changelog fails 2018-02-08 13:00:22 +01:00
Rhys Arkins
cbd748efe6 fix: addReleaseNotes should check for valid input 2018-02-08 12:10:36 +01:00
Rhys Arkins
85d9607f12 fix: better escape all # chars in PR bodies 2018-02-08 10:44:58 +01:00
Rhys Arkins
1610752547 fix: add check for version.time (npmjs) 2018-02-08 06:50:10 +01:00
Rhys Arkins
4c6e3f7932 fix: use existing lock files when rebasing
Check if a lock file already exists in the current *branch* and if so then use it as the base for generating the new lock file and not the master one. Ensures that simple rebases result in same result.

Closes #1481
2018-02-07 16:23:41 +01:00
Rhys Arkins
dc1bcee68e chore: downgrade closed PR warning to info 2018-02-07 12:03:49 +01:00
Rhys Arkins
430b8237c3 chore: fix lint 2018-02-07 11:03:26 +01:00
Rhys Arkins
c7efe253da fix: massage changelog release note bodies 2018-02-07 11:01:43 +01:00
Rhys Arkins
5609767748 chore: downgrade release note logs to trace 2018-02-07 11:01:32 +01:00
Rhys Arkins
465849cac5 fix: add url to release notes 2018-02-07 11:00:47 +01:00
Rhys Arkins
7785b6df48 fix: decrease release note heading sizes 2018-02-07 10:59:37 +01:00
Rhys Arkins
545218468f fix: Better summary/details substitution for gitlab pr bodies 2018-02-07 10:53:44 +01:00
Rhys Arkins
4555dcf38a chore: downgrade CHANGELOG no entry found log 2018-02-07 09:44:44 +01:00
Rhys Arkins
8b4f116ad6 refactor: log when no entry found in CHANGELOG.md 2018-02-07 08:32:55 +01:00
Rhys Arkins
2deb4a90f7 fix: support parsing [x.y.z] changelog headings 2018-02-07 08:25:30 +01:00
Rhys Arkins
4a7f493ec4 fix: delete branch if create pr returns “validation failed” 2018-02-07 08:05:32 +01:00
Rhys Arkins
19f04bee69 fix: log message when failing to create PR 2018-02-07 07:16:32 +01:00
Rhys Arkins
85a09fffe5 fix: return err.stderr not stderr when npm install fails 2018-02-07 06:30:06 +01:00
Rhys Arkins
40859b10e2 feat: use yarn mutex to ensure only one install at a time 2018-02-07 06:21:25 +01:00
Rhys Arkins
df69c9e3a2 fix: escape links to GitHub usernames 2018-02-06 19:21:22 +01:00
Rhys Arkins
f6e2627774
feat: parse CHANGELOG.md in source repositories (#1491)
Parses `CHANGELOG.md` for first or second-level markdown headings matching versions. Supports GitHub-only source repositories for now.

Closes #1470
2018-02-06 18:53:36 +01:00
Rhys Arkins
4663967379 fix: better lerna version detection 2018-02-06 15:49:21 +01:00
Rhys Arkins
34ccbe38a3 fix: de-dupe release notes in each PR 2018-02-06 14:24:14 +01:00
Rhys Arkins
f721573e94 fix: escape github pull not pulls 2018-02-06 14:01:29 +01:00
Rhys Arkins
29cae7725b fix: show newDigest for docker digest pinning in onboarding PR 2018-02-06 11:14:55 +01:00
Rhys Arkins
6d7bbaefcc fix: detect lerna version in dependencies or devDependencies 2018-02-06 10:56:21 +01:00
Hutson Betts
f7bd7c37d9 fix(yarn): support upgrading windows-only modules 2018-02-06 07:03:47 +01:00
Rhys Arkins
a79222b777 fix: catch initRepo 403 (github) 2018-02-05 22:23:50 +01:00
Rhys Arkins
9c89629183
fix: re-enable lerna bootstrap (#1487)
* Revert "fix: Revert "feat: lerna bootstrap support (#1486)""

This reverts commit 4e592d601d.

* fix: fix lerna.json detection
2018-02-05 20:06:24 +01:00
Rhys Arkins
4e592d601d fix: Revert "feat: lerna bootstrap support (#1486)"
This reverts commit 3cab59d2fe.
2018-02-05 19:40:54 +01:00
Rhys Arkins
3cab59d2fe
feat: lerna bootstrap support (#1486)
Adds support for running `lerna bootstrap` instead of `npm install` or `yarn install` (without Workspaces), hence allowing support of internally-linked dependencies.

Closes #1441, Closes #1443
2018-02-05 19:30:07 +01:00
Rhys Arkins
4a427adcac fix: don’t clean branches if repository is not found or blocked 2018-02-04 21:57:43 +01:00
Rhys Arkins
4c267b210b fix: handle archived repos gracefully 2018-02-04 21:20:28 +01:00
Rhys Arkins
5a11596960 chore: add logging to onboarding pr logic 2018-02-04 13:35:43 +01:00
Rhys Arkins
021242a7bf fix: use json-stringify-safe on unknown errors 2018-02-03 15:58:14 +01:00
Rhys Arkins
e306f707db fix: abort renovation if repository has changed during run
If attempting to create a branch and it already exists, or attempting to update a branch and it no longer exists, then we abort.
2018-02-03 15:45:43 +01:00
Rhys Arkins
720b46696a
feat: gitlab branch cleanup (#1475)
Removes the GitHub-only check when cleaning/pruning branches.
2018-02-03 12:06:25 +01:00
Rhys Arkins
03bdfe191f fix: drop unnecessary changelog debug 2018-02-03 07:53:02 +01:00
Rhys Arkins
fbc46f6c70 fix: unset github token prior to changelog 2018-02-03 07:48:32 +01:00
Rhys Arkins
4d8510246d Revert "fix: unset ghe token before calling changelog (#1472)"
This reverts commit fb1c291b39.
2018-02-03 07:42:08 +01:00
Rhys Arkins
85de185896 chore: remove excess release notes debugging 2018-02-02 23:08:34 +01:00
Rhys Arkins
fb1c291b39
fix: unset ghe token before calling changelog (#1472)
fix: unset ghe token before calling changelog
2018-02-02 20:32:00 +01:00
Rhys Arkins
40072e2707 refactor: downgrade 5 loops from error to warn 2018-02-02 18:04:26 +01:00
Rhys Arkins
6fc39d75a5 fix: check for null release notes body 2018-02-02 13:08:00 +01:00
Rhys Arkins
c70c72f14b
feat: release notes in pull requests (sourced from github releases) (#1465)
Detects and embeds release notes found on GitHub when an npm dependency specifies a GitHub repository as its source and that repository has made use of the "Releases" feature.
2018-02-02 12:37:16 +01:00
Rhys Arkins
7afb693151 fix: update all pr body templates to use h1 headings 2018-02-02 10:56:40 +01:00
Rhys Arkins
139d6b237e fix: include release headings in pr body only if it has commits 2018-02-02 10:41:33 +01:00
Rhys Arkins
42cb6fe853 fix: improve issue de-linking for public GitHub repos 2018-02-02 06:01:32 +01:00
Rhys Arkins
9195adc58a refactor: sort versions and commits from oldest to newest
List versions and their commits in PR bodies in the order they were made (oldest to newest).
2018-02-02 05:42:22 +01:00
Rhys Arkins
f856b364c6 refactor: downgrade yarn parsing error from warning to info 2018-02-01 16:23:47 +01:00
Rhys Arkins
a708005886 fix: massage issues/pulls links in public repos to be non-linking 2018-02-01 11:36:30 +01:00
Rhys Arkins
cadb4b796f fix: massage updated less than/greater than to match existing format 2018-02-01 08:25:52 +01:00
Rhys Arkins
6fc1f94936 feat: list package files in onboarding PR
Closes #1461
2018-01-31 13:20:55 +01:00
Rhys Arkins
335844e6b7 feat: strip docker-only descriptions from onboarding PR if no Dockerfiles 2018-01-31 13:10:09 +01:00
Rhys Arkins
ad4b9feb92 feat: prConcurrentLimit
Adds a new feature to limit the number of concurrent branches/PRs to have open at any one time. Defaults to 0 (disabled), set it to a positive integer to enforce that limit.
2018-01-30 11:43:16 +01:00
Rhys Arkins
5800230cc2 fix: packageRules without packageNames or packagePatterns should match
If a packageRule is missing packageNames AND missing packagePatterns, then we should match by default. This allows users to define a single “exclude” rule without needing to add a catchall include rule (e.g. `packagePatterns”: [“.*”]`)
2018-01-30 09:34:42 +01:00
Rhys Arkins
5a02a35afb chore: log branchList before pruning 2018-01-30 09:23:38 +01:00
Rhys Arkins
b32b7447da refactor: Revert "refactor: add YARN_CACHE_FOLDER to env"
This reverts commit f0111101c9.
2018-01-29 09:54:49 +01:00
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
f64204b992 fix: pin PRs should be sorted before digest ones 2018-01-28 15:57:20 +01:00
Rhys Arkins
f621e93519 chore: add better metadata to packge-file and package logging 2018-01-28 14:51:55 +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
6743e5b489 refactor: downgrade yarn.lock parsing error logs to info 2018-01-27 08:30:14 +01:00
Rhys Arkins
8dcc83a4a3 feat: support yarn mutex file
Adds yarn mutex file flag to cmd line if set in env
2018-01-27 07:25:08 +01:00
Rhys Arkins
f0111101c9 refactor: add YARN_CACHE_FOLDER to env 2018-01-27 06:41:23 +01:00
Rhys Arkins
a378bbbac3 fix: massage invalid Regex pattern ‘^*$’ 2018-01-26 19:30:57 +01:00
Rhys Arkins
f3c8fd23c9
feat: stringify unknown errors for better visibility (#1449)
feat: stringify unknown errors for better visibility
2018-01-26 19:08:13 +01:00