Commit Graph

3688 Commits

Author SHA1 Message Date
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
Rhys Arkins 032f104b2c Revert "fix: make sure lock file maintenance branch is not stale before skipping (#1265)"
This reverts commit 1aba7c79af.

Fixes #1425
2018-01-22 13:34:55 +01:00
Rhys Arkins fa68a5a216 refactor: skip ignore notification comment if PR was merged 2018-01-20 15:09:23 +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 68f0da5ade refactor: remove legacy code detecting mistakenly closed PRs 2018-01-17 15:34:08 +01:00
Rhys Arkins fd813964b3 fix: rename legacy pr titles 2018-01-17 15:33:41 +01:00
Rhys Arkins b72be53fba fix: ensure monorepo packages are ignored in workspaces root too
Adds an extra check to ensure that monorepo package names are ignored in the workspaces root too.

Closes #1398
2018-01-17 06:32:07 +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 ac09b9d7cd feat: cache npm results in memory per-run
We currently use got’s inbuilt caching for npmjs, however it still results in a roundtrip/304 even when cached. The when using presets is that a package like renovate-config-default gets looked up 10+ times unnecessarily. With this feature we assume that npm lookups don’t change for the duration of a run, and even if they did then we’d prefer the reliability of using the first lookup.

Closes #1389
2018-01-15 11:53:02 +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 2a5f189573 fix: ignore onboarding branch when calculating pr hourly limit 2018-01-12 10:02:36 +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
Matt R. Wilson d0d62e6e7b Allow --renovate-fork Cli flag for onboarding.
Fixes https://github.com/renovateapp/renovate/issues/1371.
2018-01-10 22:52:36 +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 21a6b1acea fix: delete blocking branch if it still exists 2018-01-10 10:26:57 +01:00
Rhys Arkins 2e2f53b677 fix: move debug statement to fix tests 2018-01-10 09:38:42 +01:00
Rhys Arkins a2b3ca440d refactor: debug if repoIsOnboarded 2018-01-10 09:09:17 +01:00
Rhys Arkins 228b823e45 fix: ignore branchPrefix for onboarding branch 2018-01-09 17:24:09 +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
Rhys Arkins 28518a4f77 feat: massage ‘*’ packagePattern to ‘.*’
‘*’ is actually an invalid regex so fails, however many people might make this mistake so it’s easier to just allow it.
2018-01-06 10:41:10 +01:00
Rhys Arkins 1bbf0c1692 fix: don’t apply custom branchPrefix when onboarding 2018-01-06 10:19:00 +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 8684ff8a6b fix: don’t debug log the open pr twice 2017-12-30 06:29:40 +01:00
Rhys Arkins 1cb920fa4b fix: set/reset npmrc during init
Detect npmrc in root of repo and make sure it’s set early. Also ensure npmrc is reset at start of each run if necessary.

Helps #1335
2017-12-30 06:11:04 +01:00
Rhys Arkins 45d7c8f257 fix: check pr state for open or opened 2017-12-30 06:03:57 +01:00
Rhys Arkins 002de288c7 refactor: log pr if not 2017-12-29 17:03:27 +01:00
Rhys Arkins e735ed9eb0 feat: restart renovation if any pr has changed from open to closed 2017-12-28 17:21:06 +01:00
Rhys Arkins 97fc3e6135 fix: pr should be ensured if branch automerge previously failed
If branch automerge *previously* failed, then still make sure we are keeping the PR up to date.

Closes #1336
2017-12-28 17:19:59 +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 976f2ac57e feat: deduplicate changelogs
Deduplicate changelogs in monorepo PRs. i.e. the same monorepo won’t be included more than once.
2017-12-26 20:38:09 +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 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 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 b850985926 refactor: add ls to npm install to view files in logs 2017-12-23 08:55:47 +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 2c6a2dd43b feat: better semantic commit detection
Limit to looking at last 10 commit messages and only use semantic commits if angular type is found.
2017-12-19 19:45:34 +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 cfd02be920 refactor: log renovateConfig when warning of validation errors 2017-12-16 07:09:54 +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 bf6d774cfc refactor: simplify duplicate removal of dependency names 2017-12-15 21:33:54 +01:00
Rhys Arkins 72dbe58ade chore: add path details to npmrc and yarnrc log 2017-12-15 09:10:35 +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 d3c0559c21 chore: log when setting npmrc 2017-12-14 10:56:54 +01:00