Commit graph

315 commits

Author SHA1 Message Date
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