Commit graph

527 commits

Author SHA1 Message Date
Rhys Arkins
12adcd7c21 fix(gitFs): minimatch dotfiles 2019-04-30 19:19:11 +02:00
Rhys Arkins
294c7a127c
feat: excludeCommitPaths (#3614)
A file that matches any of these glob patterns will not be committed, even if it has been updated.
2019-04-30 08:52:01 +02:00
mohd hassaan
c53cd4e674 feat: Add "rebase all" functionality in master issue (#3597) 2019-04-28 09:04:50 +02:00
Rishabh Jain
8c17724381 fix: allow rebasing from checkbox out of schedule (#3437) 2019-03-24 06:30:07 +01:00
Rhys Arkins
c26458f8f4 refactor: throw disable-gitfs error
Handle actions/gitfs conflict gracefully
2019-03-21 09:25:14 +01:00
Rhys Arkins
e8509cf9bc fix: more flexible space check 2019-03-16 07:33:59 +01:00
Rhys Arkins
db6a838add fix(github): catch/throw branch not found 2019-03-16 07:32:36 +01:00
Rhys Arkins
5746c53e43 refactor(bundler): warn unknown 2019-03-04 04:52:35 +01:00
Rhys Arkins
64be18871d fix: catch disk space error in branch 2019-02-27 09:01:20 +01:00
Rhys Arkins
8288460ae5 fix: never commit on top of existing branch
Closes #3123
2019-02-25 07:27:01 +01:00
Rhys Arkins
910ce2076a fix(pr): rebase checkbox detection when PR edited
Closes #3221
2019-02-16 11:41:43 +01:00
Yuki MIZUNO
123bdd4572 fix: ignore delete label if dry-run (#3211) 2019-02-14 04:43:16 -05:00
Rhys Arkins
0dcfbbe1ab fix(gitFs): catch and throw ssh error 2019-02-13 09:06:51 -05:00
Rhys Arkins
65880e39e0 fix(gitFs): catch and throw bad-credentials 2019-02-13 08:47:37 -05:00
David
c52e749177 fix: correct phrasing for rebase notification (#3196)
Closes #3185
2019-02-11 10:43:20 +01:00
Rhys Arkins
c711fb4cea refactor: getArtifacts returns an array 2019-02-09 07:08:15 +01:00
Rhys Arkins
13cc5b5b0e refactor: rename lock files -> artifacts 2019-02-09 07:08:15 +01:00
Rhys Arkins
b5965c6285 fix(gitFs): gracefully handle authentication failure 2019-02-02 02:46:32 +01:00
Rhys Arkins
db4dc1a3ba fix(bundler): don’t attempt failed lock files generation repeatedly 2019-01-26 15:33:12 +01:00
Rhys Arkins
05ce6de1d3 fix(bundler): catch and warn about missing credentials 2019-01-25 14:51:55 +01:00
Rhys Arkins
d2ee36f0c8 fix: Revert "feat(automerge): merge passing branch even if PR exists (#3097)"
This reverts commit 514d527d7a.
2019-01-24 07:00:45 +01:00
Ilya Savchuk
514d527d7a feat(automerge): merge passing branch even if PR exists (#3097)
Automerge branch even if PR has previously been raised, so long as only one commit exists. This handles the case where an initial update e.g. v1.0.1 fails, causing PR to be raised, but then a v1.0.2 is published which fixes the failure.

Closes #1381
2019-01-22 10:27:14 +01:00
Ilya Savchuk
f6ed2256f7 refactor: changed all VSTS to Azure DevOps (#3022)
Rename all VSTS references to be Azure DevOps.

Closes #2810

BREAKING CHANGE: 'vsts' platform is now renamed to 'azure'
2019-01-22 09:41:06 +01:00
Rhys Arkins
ba77d4a0e7
feat(bundler): extract, update, artifacts (#3058)
This completes the work of adding basic Ruby/Bundler support to Renovate. It will now find all Gemfiles in a repository, extract dependencies from them, look up results on Rubygems, and raise PRs if updates are found.

Closes #932
2019-01-14 06:52:13 +01:00
Rhys Arkins
bd1785558a refactor: appSlug for rebase 2019-01-10 12:40:56 +01:00
Rhys Arkins
b4cc7f4d0b fix: unpublishSafe docs url 2019-01-08 05:44:56 +01:00
Rhys Arkins
55257fff26
feat: centralise app strings (#3032) 2019-01-06 14:47:42 +01:00
Rhys Arkins
e190851f8e
feat(docker): use whole tag as currentValue (#2922) 2018-12-10 04:26:14 +01:00
rtaum
2146bafdbd feat: suppressNotifications (#2906)
Adds ability so suppress certain notifications/warnings/comments.

Closes #2794
2018-12-08 12:42:56 +01:00
Rhys Arkins
6ba13f9132 feat(pr): support rebasing checkbox
Adds a “rebase this PR” checkbox for github and gitlab. Suppressed for Bitbucket and VSTS because not currently supported.

Closes #2766
2018-12-05 07:22:38 +01:00
Rhys Arkins
8f796eaf95 fix(github): gracefully handle repository-changed in PR 2018-12-03 12:04:04 +01:00
Rhys Arkins
fd6398ef69 fix(github): gracefully handle integration unauthorized 2018-12-03 12:03:46 +01:00
Rhys Arkins
e4a73c2320 fix(github): detect status checks automerge failure
.. and don’t create PRs.

Closes #2786
2018-11-11 07:09:39 +01:00
Rhys Arkins
5db39b4ed8 fix(github): catch/ignore if required status checks not met yet 2018-10-30 08:35:22 +01:00
Rhys Arkins
f7bc39efe8 fix(github): don’t keep processing resource not accessible 2018-10-30 07:40:09 +01:00
Rhys Arkins
05fa91e9cd feat: dry run
Adds support to run Renovate like “renovate owner/repo —dry-run”. Instead of creating branches, PRs or comments, an INFO level dry run message will be logged each time instead.

Closes #1399
2018-10-26 09:48:49 +02:00
Rhys Arkins
46dfc5eb1d feat(schedule): massage “every month” and “monthly” 2018-10-18 15:58:15 +02:00
Rhys Arkins
f71ee0ef9f refactor: lower debugging 2018-10-17 06:04:39 +02:00
Rhys Arkins
50ba8473f7 refactor: lower debug logging 2018-10-15 09:21:57 +02:00
Rhys Arkins
20e3783a1d refactor: lower error to warn for branch update failure 2018-10-09 20:03:37 +02:00
Rhys Arkins
69cf9d309f feat(schedule): default to “at any time”
Closes #2601
2018-10-05 10:50:21 +02:00
Rhys Arkins
77997770f1 fix(schedule): don’t massage null value 2018-10-05 10:03:30 +02:00
Rhys Arkins
eec2072a24 fix: reorder master issue approval check 2018-10-04 11:22:31 +02:00
Rhys Arkins
95d01e7ab1 feat: master issue
Adds undocumented/experimental “master issue” feature.

Setting `config.masterIssue = true` will result in Renovate opening and maintaining an issue that contains a list of all PRs both pending and open, and allowing some control over them (e.g. bypass schedule, force retry, etc).

Setting `config.masterIssueApproval` in addition will mean that branches are not created automatically and instead await approval in that master issue.

Closes #2595
2018-10-04 10:08:20 +02:00
Rhys Arkins
52dc25f598 fix: drop unmet-requirements 2018-10-03 16:07:15 +02:00
Rhys Arkins
e7e48ccc8c fix: don’t skip branch if branchPr found 2018-10-03 16:06:44 +02:00
Rhys Arkins
b0f8bd228a refactor: move rate limit check 2018-10-03 16:00:58 +02:00
Rhys Arkins
1f128bbcc2 refactor: processBranch function interface 2018-10-03 15:57:01 +02:00
Rhys Arkins
b7f1002774 feat(composer): pass lock file errors to PR comment
Instead of aborting PR when lock file errors happen, raise the PR with PR comment instead (like with npm/yarn).
2018-10-01 18:15:06 +02:00
Rhys Arkins
281507e421 refactor: getArtifacts return nested object 2018-10-01 16:29:50 +02:00
Rhys Arkins
80eaf9d89b fix(composer): skip PR if unmet requirements
Closes #2587
2018-10-01 15:59:07 +02:00
Rhys Arkins
a49a58c5f0 refactor: getLockFile -> getArtifacts 2018-09-30 10:10:42 +02:00
renovate[bot]
9bf339a24b build(deps): update dependency @sindresorhus/is to v0.12.0 (#2570) 2018-09-28 15:20:46 +02:00
Rhys Arkins
5b73be2f31 fix: title rebase even if PR edited 2018-09-27 16:22:27 +02:00
Rhys Arkins
2555339552 feat: rebase using PR title
If PR title starts with “rebase!” then PR will be rebased.
2018-09-27 15:34:13 +02:00
Rhys Arkins
5956adf8bc fix(pr): improve rebase instructions 2018-09-27 14:32:45 +02:00
Rhys Arkins
08cf55e81f logs: branch/branchName 2018-09-24 11:47:49 +02:00
Rhys Arkins
72327f06a0 fix: allow rebase label after PR editing 2018-09-20 16:10:14 +02:00
Rhys Arkins
27890381aa refactor(pr): better PR edited comment 2018-09-20 14:51:58 +02:00
Rhys Arkins
d625d1bfb0 fix: don’t create PR out of schedule
Closes #2536
2018-09-19 07:07:04 +02:00
Rhys Arkins
839eeaaebd fix: add pr existing check for lock file maintenance 2018-09-17 11:27:18 +02:00
Rhys Arkins
788d96e5e9 refactor: rename isUnmergeable to isConflicted 2018-09-14 20:02:51 +02:00
Rhys Arkins
b817db10a3
feat: rebase on demand (#2522)
Adds functionality to force rebase a PR if the label "rebase" is added. Also, the label is configurable via a new `rebaseLabel` config option.

Closes #1406
2018-09-14 12:51:33 +02:00
Rhys Arkins
d19b15b83d fix: don’t update lock file maintenance or create PR out of schedule
Do no lock file maintenance work even if branch exists.

Closes #2503
2018-09-13 09:08:25 +02:00
Rhys Arkins
f3c8534e6c logs: improve github log levels 2018-09-11 09:15:24 +02:00
Rhys Arkins
2ce75cdbf1 refactor(composer): reuse localDir for lockfile generation 2018-09-10 15:58:24 +02:00
Rhys Arkins
ccffdaf712 fix: throw error up if no disk space 2018-09-08 07:16:05 +02:00
Rhys Arkins
2e78f515d1 logs: lower debug 2018-09-05 14:45:52 +02:00
Rhys Arkins
4539487d26 refactor: less logging 2018-09-05 14:18:31 +02:00
Rhys Arkins
df8bebe10d refactor: log pr body change only if branch didn’t change 2018-09-03 21:29:23 +02:00
Rhys Arkins
6b6d1bf859 refactor(logs): return logs to app layer 2018-08-23 20:35:25 +02:00
Rhys Arkins
1be6c9f713 refactor(logs): adjust log levels for branch and pr events 2018-08-23 20:11:38 +02:00
Rhys Arkins
bc074aff02 fix: check PR is closed when finding blocking PR
Closes #2391
2018-08-16 12:15:56 +02:00
Rhys Arkins
19116fc6ed refactor: remove legacy closed PR check 2018-08-16 12:04:44 +02:00
Rhys Arkins
8c41640c87 fix: pass platform errors up 2018-07-23 16:47:37 +02:00
Rhys Arkins
2af433094c fix(github): treat 401 Bad Credentials as platform failure 2018-07-21 08:38:13 +02:00
Rhys Arkins
c4389cb11b
feat(composer): composer.lock support (#2255)
Adds logic to support updating the accompanying `composer.lock` file whenever `composer.json` is updated.

Closes #2098
2018-07-19 09:14:34 +02:00
Rhys Arkins
b52620f68f refactor: getUpdatedPackageFiles 2018-07-18 20:18:40 +02:00
Rhys Arkins
997904cc63 refactor: branch files plus tests 2018-07-18 20:10:50 +02:00
Rhys Arkins
cddd9cd858 feat: raise prs with lock file warning
Raises PRs and includes warning if lock file updates fail and release timestamp is greater than a day old.

Closes #2233
2018-07-14 08:14:02 +02:00
Rhys Arkins
ee4132fd14 refactor: if/else with return 2018-07-09 11:28:42 +02:00
Rhys Arkins
fb6271e4f7 refactor: rename update.type -> update.updateType 2018-07-04 10:11:53 +02:00
Rhys Arkins
8b633f1d2b fix: don’t try branch automerge on first run
Fixes #2201
2018-07-02 09:33:45 +02:00
Rhys Arkins
83bf162949 fix: automerge only if every upgrade in branch is automerge
When generating a branch’s config, iterate through all upgrades and set automerge=true for the branch only if all upgrades have automerge=true. Similarly, set canBeUnpublished=true if ANY upgrade can be unPublished.

Closes #1999
2018-07-02 07:43:21 +02:00
Rhys Arkins
b4f7ed2e0d refactor: simplify mergeBranch 2018-06-28 13:56:08 +02:00
Rhys Arkins
57249e105b
feat: pass gitAuthor to platform during init (#2183)
Refactors platforms to take the admin-only `gitAuthor` and `gitPrivateKey` values during repository initialisation instead of during file commits.
2018-06-27 18:40:54 +02:00
Rhys Arkins
8da5888ef6 feat: combine branch automergeTypes
This deprecates branch-push and branch-merge-commit automergeTypes and replaces with “branch”, which has the same behaviour as the previous branch-push.

BREAKING CHANGE: branch-merge-commit automergeType behaviour is no longer supported, all branch automerges now use branch push approach.
2018-06-26 14:01:13 +02:00
Rhys Arkins
46fae9473a fix: abort renovation if branch’s PR has been closed or merged
This fixes a race condition where if someone merged multiple PRs in a row then a renovation-in-progress would get confused and post a “PR has been edited” message to an already-merged PR.

Closes #2115
2018-06-26 11:20:26 +02:00
Rhys Arkins
ccb7bd5cd8 fix: typo 2018-06-19 15:45:04 +02:00
Rhys Arkins
068e6daa01 fix: pass Bad credentials error up from ensurePr 2018-06-19 15:34:37 +02:00
Dragomir Țurcanu
aa84074d76 feat: comment in PR when branch automerge fails (#2058)
This PR adds the feature of commenting on a failed automerge. It's done by adding a conditional in `lib/workers/branch/automerge.js` which, in case of receiving `failure` or `error` from the `getBranchStatus` function, returns the "branch status error" value. Another modification is in `lib/workers/branch/index.js`, which is an adition to the failure response of the `tryBranchAutomerge` function. The added functionality is the ability to add a comment to the PR which had a failure automerging. In case of receiving the aforementioned "branch status error" value, to the comment is appended a note which emphasize the fact that there're multiple failed status checks.

Closes #1934
2018-06-07 14:42:51 +02:00
Rhys Arkins
603b77799b
feat: refactor unpublishSafe for multiple package managers (#2090) 2018-06-06 11:04:54 +02:00
Rhys Arkins
98e9198c8e refactor: replace indexOfs 2018-06-04 20:44:32 +02:00
Connor Brathwaite
398303235b (refactor): delegate generic predicate checking to @sindresorhus/is (#2021)
Closes #1764
2018-06-04 20:07:22 +02:00
Rhys Arkins
9fbaf9a3ca fix: unpublishable / unpublishSafe
Corrected logic mistake and renamed unpublishable (internal) to canBeUnpublished to make it easier to follow logic.

Closes #2080
2018-06-04 14:56:47 +02:00
Rhys Arkins
d8cb261ecb
refactor: rename version -> value (#2076)
Renames currentVersion to currentValue, newVersion to newValue, newVersionMajor to newMajor, and newVersionMinor to newMinor.
2018-06-04 05:48:20 +02:00
Rhys Arkins
a8786a1714 logs: don’t log full pr in branch 2018-06-01 19:33:52 +02:00
Rhys Arkins
f347e500a0 fix: use getBranchPr for finding open PR for rebase check 2018-05-30 11:03:30 +02:00
Rhys Arkins
2610015467 fix: abort repository when lockfile error 2018-05-24 16:28:36 +02:00
Rhys Arkins
d45f957cfd refactor: defer isX upgrade classifications 2018-05-21 17:20:41 +02:00
Rhys Arkins
c4d3b3dfb4 refactor: pass bad credentials error from branch to repo 2018-05-16 07:03:27 +02:00
Rhys Arkins
d4de9108af feat: skip PR generation if lock file generation fails 2018-05-09 12:10:45 +02:00
Rhys Arkins
ecdcd9df4f
feat: refactor dependency extraction (#1912)
Rewrite of dependency extraction, particularly for npm. Paves way for easier addition of new package managers.

Closes #1882
2018-05-09 08:03:59 +02:00
Rhys Arkins
93547f12df refactor: simplify stale lock file maintenance deletion 2018-05-06 12:28:37 +02:00
Rhys Arkins
1762ee68a0
feat: automergeComment (#1906)
Adds new option “pr-comment” for `automergeType` and a new option `automergeComment` to use in such a case.
2018-05-04 06:55:01 +02:00
Rhys Arkins
6415833a4b refactor: renovateapp.com -> renovatebot.com 2018-04-24 13:59:42 +02:00
Rhys Arkins
1564150d9f refactor: streamline debug logging 2018-04-18 21:19:00 +02:00
Rhys Arkins
9753f9dcba
feat: modular branchName/prTitle/commitMessage templating (#1760)
This PR refactors `branchName`, `commitMessage` and `prTitle` so that they are more easily editable and hopefully more understandable. By breaking each up into subsections, users can modify one part without needing to copy/paste the entire string.

Directly editing any of these fields will now be deprecated and a warning issued.
2018-04-17 08:39:26 +02:00
Rhys Arkins
f634812636 logs: improve merge status/result debug 2018-04-11 09:39:35 +02:00
Rhys Arkins
79bdfbea3e fix: don’t skip lockfilemaintenance branch creation due to unpublishsafe
Closes #1809
2018-04-08 06:59:34 +02:00
Rhys Arkins
d0af557ade
fix: no warn when deleting lock file maintenance branch
Closes #1797
2018-04-05 07:04:02 +02:00
Rhys Arkins
ccf0d4ad3d fix ensure pr error ordering 2018-03-27 17:44:05 +02:00
Rhys Arkins
259312bb97 fix: catch Host key verification error for all lock file types 2018-03-26 13:19:06 +02:00
Rhys Arkins
d5c8c300d6 fix: sklp branch creation for “Host key verification failed” install error 2018-03-26 11:21:06 +02:00
Rhys Arkins
a9b99e779a fix: write npmrc for lerna subdirs too 2018-03-25 22:53:45 +02:00
Rhys Arkins
ee6c6bda2c chore: lighten debug logging 2018-03-24 06:31:01 +01:00
Rhys Arkins
83e7b5f0ef fix: pass up rate limit exceeded error when ensuring PR 2018-03-23 07:56:21 +01:00
Steven Hargrove
52721b8c14 fix: use only one yarn mutex type (#1706)
Closes #1705
2018-03-23 05:36:02 +01:00
Rhys Arkins
2fce3220e7 chore: downgrade duplicate lerna failure warn 2018-03-22 20:49:15 +01:00
Rhys Arkins
3a4a0cb029
feat: updateLockFiles (#1703)
Adds an option “updateLockFiles” which defaults to true. Setting to false means that updating lock files (e.g. package-lock.json, yarn.lock and shrinkwrap.yaml) will be skipped. The main reason for doing this is for repositories that use a dependency we can’t resolve, so that they can keep updating the package.json without lock file.
2018-03-22 10:41:26 +01:00
Rhys Arkins
363a2cc2e5 fix: abort renovation if rate limit exceeded (github) 2018-03-22 09:26:20 +01:00
Rhys Arkins
6354f3d07a fix: try delete lock file maintenance branch only if it exists 2018-03-21 15:53:48 +01:00
Rhys Arkins
27ee7687d9 fix: skip branch creation if unpublishable pr not ready for creating
Don’t create a branch until its unpublishable.

Fixes #1580
2018-03-21 11:40:28 +01:00
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
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
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
3a8f73adaa chore: better debugging for timezone/schedule 2018-03-15 06:22:25 +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
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
453ce13278 fix: Revert "refactor: array concatenation (#1601)"
This reverts commit dd26a018c5.
2018-03-06 15:54:39 +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
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
5c6139f030 fix: throw error if lerna out of disk space 2018-02-27 19:05:00 +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
b00af3022a fix: re-enable package-lock-only for npm
Closes #1531
2018-02-22 07:42:59 +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
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
dfc768b571 fix: correct unpublish safe url
Fixes #1517
2018-02-15 08:31:58 +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
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
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
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
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
4663967379 fix: better lerna version detection 2018-02-06 15:49:21 +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
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
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
b32b7447da refactor: Revert "refactor: add YARN_CACHE_FOLDER to env"
This reverts commit f0111101c9.
2018-01-29 09:54:49 +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
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
a7083c5688 refactor: Recommend blocking PRs be renamed and not reopened 2018-01-23 10:50:05 +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
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
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
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
21a6b1acea fix: delete blocking branch if it still exists 2018-01-10 10:26:57 +01:00
Rhys Arkins
8684ff8a6b fix: don’t debug log the open pr twice 2017-12-30 06:29:40 +01:00
Rhys Arkins
45d7c8f257 fix: check pr state for open or opened 2017-12-30 06:03:57 +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
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
b850985926 refactor: add ls to npm install to view files in logs 2017-12-23 08:55:47 +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
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
renovate[bot]
73506f9043 chore(deps): update dependency prettier to v1.9.0 (#1267)
* chore(deps): update dependency prettier to v1.9.0

* run prettier
2017-12-05 11:50:16 +01:00
Rhys Arkins
1aba7c79af
fix: make sure lock file maintenance branch is not stale before skipping (#1265) 2017-12-05 06:17:27 +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
958f8b5314
fix(deps): Update npm to v5.6.0 (#1255) 2017-11-29 06:05:57 +01:00
Rhys Arkins
4a57cfd3cd
fix: only return no-work if branch doesn’t exist (#1245) 2017-11-28 09:00:59 +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
JYC
7a63342ddd fix: path joins on windows (#1216)
Use `upath` for windows-friendly path joins.

Closes #1203
2017-11-24 07:50:49 +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
7675f3a9f1
fix: replace singapore/renovate references with renovateapp/renovate (#1229) 2017-11-23 14:08:31 +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
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
0e81a88a54 fix: drop branchExists check after create (#1188) 2017-11-16 23:51:47 +01:00
Rhys Arkins
4c4d5cfdac
refactor: check unpublishsafe only if configured (#1186) 2017-11-16 22:34:49 +01:00
Rhys Arkins
d3955f1a32
fix: only remove lock file warning comment when successfully updating… (#1184) 2017-11-16 21:54:13 +01:00
Rhys Arkins
c89b957b8a
refactor: defer branch protection check (#1173) 2017-11-15 15:31:20 +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
0bc2953113
fix: lock file stderr was not being included in pr comments (#1122) 2017-11-08 13:26:55 +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
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
renovate[bot]
c1df1b2cb8 chore(deps): update dependency prettier to v1.8.0 (#1113)
* chore(deps): update dependency prettier to v1.8.0

* reformat
2017-11-07 11:52:15 +01:00
Rhys Arkins
f8be45055a
refactor: remove config.api and use platform dispatcher (#1114) 2017-11-07 11:46:10 +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
6a511e6b3b chore: remove v10 TODO comments from source code 2017-11-01 13:13:55 +01:00
Rhys Arkins
f582181504 fix: check day of month in schedule (#1048)
Fixes #1047
2017-10-25 11:37:05 +02:00
Rhys Arkins
31e7c8a881 refactor: move languages from branch worker to manager (#1044) 2017-10-25 06:48:08 +02:00
Rhys Arkins
a65a149b8d fix: try/catch dockerfile replace (#1022) 2017-10-23 11:28:46 +02:00
Rhys Arkins
2fa50b3771 feat: rebase branch whenever versions need updating (#1018) 2017-10-21 16:42:40 +02:00
Rhys Arkins
76ddde1cb5 fix: ignored digest pr comment (#1001) 2017-10-20 06:55:52 +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
0552900d06 fix: add missing await to getBranchPr call (#986)
Closes #983
2017-10-19 06:12:14 +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
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
11b1b0ea51 fix: add missing await after findPr (#965) 2017-10-17 13:22:53 +02:00
Rhys Arkins
e310887f36 refactor: remove checkForClosedPr
replace with findPr
2017-10-17 11:09:03 +02:00
Rhys Arkins
3d84c22cf0 feat: skip regenerating lock file maintenance if branch exists (#956) 2017-10-16 21:57:48 +02:00
singapore
c96f24a82c chore: remove unnecessary log.info from check-existing 2017-10-16 15:22:48 +02:00
Rhys Arkins
7c410c1283 feat: ignore mistakenly closed PRs and recreated closed (#951) 2017-10-16 13:13:31 +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
393c24c652 fix: stop attempting branch merge if pr exists (#920) 2017-10-12 17:39:10 +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
Rhys Arkins
28a18b18da feat: write existing lockfile before regenerating (#881)
It appears that writing the existing lockfile before regenerating a new one can help speed some resolutions up.

Closes #815
2017-10-08 05:52:58 +02:00
Rhys Arkins
913d0cf208 feat: create PRs if branch automerge failed (#888) 2017-10-05 09:31:10 +02:00
Rhys Arkins
5dab080ef7 fix: info message if automerge branch fails (#886)
* fix: info message if automerge branch fails

* fix snapshot
2017-10-04 16:52:50 +02:00
Rhys Arkins
1c42140475 fix: write npmrc to subdirectories with lock file (#858)
* fix: write npmrc to subdirectories with lock file

* fix lint
2017-09-29 10:42:16 +02:00
Rhys Arkins
6969ff3a36 fix: only massage package name if name exists (#859) 2017-09-29 10:37:02 +02:00
Rhys Arkins
d5f11ad9bd feat: remove {} template strings from package.json name (#855) 2017-09-29 09:18:59 +02:00
Rhys Arkins
23f8467d1e feat: support non-root yarn workspaces (#852)
Previously, Renovate assumed that any yarn workspaces configuration would be in the root of the repository. Now, workspaces can be located within a subdirectory, e.g. `frontend/`. Note: Renovate still supports only one workspace per repository, please file an issue if you require more than one.

Closes #842
2017-09-29 08:08:52 +02:00
singapore
7ef9e65052 chore: downgrade rebase warning to info 2017-09-28 15:04:27 +02:00
Rhys Arkins
636b5fd82a fix: log npm version when generating lockfile (#836)
Now adds `stdout` and `stderr` from `npm` and `yarn` installs to the "Generated lockfile" log message, so that the exact versions of npm and yarn can be known in the default logs.

Closes #827
2017-09-24 16:53:47 +02:00
Rhys Arkins
fe61fe2e7f fix: add —ignore-engines to yarn install (#831) 2017-09-23 08:05:43 +02:00
Rhys Arkins
9ff555c74b fix: promisify lockfiles (#826)
`npm` and `yarn` lockfile generation use promisified child process `exec` now instead of `spawnSync`.
2017-09-20 22:56:57 +02:00
Rhys Arkins
d7025f25d6 fix: Detect npm & yarn when globally installed (#825)
This fix improves the way Renovate detects embedded/installed npm and yarn. It tries:
- locally installed npm or yarn
- npm or yarn embedded inside globally installed renovate
- globally installed npm or yarn
- global `yarn` or `npm` commands as fallback

Fixes #824
2017-09-20 07:52:44 +02:00
renovate[bot]
cfc6c5ccdf fix: update dependency eslint-config-airbnb-base to v12 (#771)
* chore(deps): update dependency eslint-config-airbnb-base to v12.0.0

* fix lint
2017-09-15 19:46:25 +02:00
Rhys Arkins
f9b12dbb3e fix: don’t massage packagefile name (#814) 2017-09-15 13:34:53 +02:00
Rhys Arkins
3956877288 fix: use replace rather than full substitution for invalid package file name (#813) 2017-09-15 12:58:06 +02:00