Commit graph

3412 commits

Author SHA1 Message Date
Rhys Arkins
eb468341c4 fix: Don’t stringify options body for PR labels (#460)
This has been broken since the upgrade to got 7.x

Closes #456
2017-07-06 19:24:09 +02:00
Rhys Arkins
0ee24ebadf refactor: Use (deps) in semantic prefix defaults (#458)
Closes #417
2017-07-06 14:39:50 +02:00
Rhys Arkins
44de0886a0 feat: Skip schedules when onboarding (#456)
All PRs/branches will be shown in onboarding even if they have been scheduled for another day or time, providing a "full view" in the onboarding.

Closes #429
2017-07-06 14:31:39 +02:00
Rhys Arkins
997c4efac2 feat: baseBranch onboarding (#453)
baseBranch is now used when computing the onboarding description in 'Configure Renovate' PR.
2017-07-06 14:12:52 +02:00
Rhys Arkins
3f35ba73d0 feat: Detect duplicate keys in renovate.json (#455)
Closes #450
2017-07-06 14:09:35 +02:00
Rhys Arkins
80e4fd91fc fix: Use res.upgrades when returning from branchify 2017-07-06 11:05:03 +02:00
Rhys Arkins
1122f76e98 fix: branchifyUpgrades should return an object (#451) 2017-07-06 10:59:25 +02:00
Rhys Arkins
48c960b841 refactor: Move generateConfig code from branchWorker to repositoryWorker (#449)
This allows the onboarding PR to share the grouping logic and not have to duplicate it.
2017-07-06 10:35:27 +02:00
Rhys Arkins
dc5773c2e5 feat: Configurable base branch for PRs (#448)
Collaborator
rarkins commented 14 hours ago
Base branch for Pull Requests is now configurable via a new baseBranch configuration option. To take effect, this much be present in the default branch (e.g. master in most cases) so that it can be discovered and used. See FAQ for more details.

Closes #443
2017-07-06 10:26:18 +02:00
Rhys Arkins
ea4e370d3f feat: Prune stale branches (#441)
A separate routine is run after branch creation to detect any branches that should be deleted. A branch will be removed if:
- It was not created by renovate in the last run, AND
- It has no PR, or its corresponding PR is not mergeable

Closes #426, Closes #428
2017-07-05 11:57:22 +02:00
Rhys Arkins
5c34b74b08 feat: Show schedules in PRs (#439)
Closes #425
2017-07-05 08:09:35 +02:00
Rhys Arkins
1716e122cd feat: expand PR errors (#437)
Errors in PRs are expanded to include:
- If renovate.json parsing fails
- If an empty or unparseable package.json was found

Closes #435
2017-07-05 07:12:25 +02:00
Rhys Arkins
c30472dd43 feat: Add ability to skip status checks for automerge (#438)
This starts off [#359](https://github.com/singapore/renovate/issues/359) (configurable status checks) but only implements one sub-feature of it: disabling status checks to allow automerge if tests fail or if no tests are present.
2017-07-05 07:02:25 +02:00
Rhys Arkins
6034159909 Fix: add extra check for commit author (#436)
* fix: Detect undefined commit.author

Closes #409

* refactor author check

* Add debug

* Update test
2017-07-04 19:22:09 +02:00
Rhys Arkins
116a330eef fix: close if tag in group.prBody template 2017-07-04 14:29:18 +02:00
Rhys Arkins
e0e0b259c3 feat: Show warnings and errors in regular PRs (#433)
If errors or warnings are present, they will be displayed in the PR body of all PRs now (not just onboarding).

Closes #431
2017-07-04 13:52:23 +02:00
Rhys Arkins
2f987a4037 feat: Show warnings and errors in Onboarding PR (#432)
Warnings and Errors are bubbled up when renovating a repository, together with the existing upgrades. The Onboarding PR ("Configure Renovate") now displays them and encourages the user to fix before merging/closing the PR.

Closes #414
2017-07-04 12:39:28 +02:00
Rhys Arkins
4272b113d2 refactor: configuration options and update docs (#423) 2017-07-03 11:34:46 +02:00
Rhys Arkins
f2833c8275 refactor: Add 'package' stage to config definitions (#421)
* Add package phase

* Rename phase to stage
2017-07-03 10:31:36 +02:00
Rhys Arkins
faa754d136 Use NPM_TOKEN for registry lookup 2017-07-02 20:52:31 +02:00
Rhys Arkins
b67b3087e5 refactor: rename option.level to option.phase 2017-07-02 09:15:33 +02:00
Rhys Arkins
1cf8330125 fix: group branchName handlebars error
Closes #410
2017-07-02 07:50:46 +02:00
Rhys Arkins
c608ac2e46 refactor: rename branchWorker.updateBranch -> processBranchUpgrades 2017-07-02 06:44:49 +02:00
Rhys Arkins
b58452620a refactor: rename groupUpgradesByBranch to branchifyUpgrades 2017-07-02 06:40:40 +02:00
Rhys Arkins
3ec668225a fix: use new config for pin.group.prTitle 2017-07-02 06:38:59 +02:00
Rhys Arkins
82357d81bd refactor: logger.trace configs 2017-07-02 06:35:53 +02:00
Rhys Arkins
c4dcad7de8 chore: squash template fields in config log serializer 2017-07-02 06:32:52 +02:00
Rhys Arkins
372b445260 refactor: set recreateClosed in group and lockFileMaintenance 2017-07-02 06:25:42 +02:00
Rhys Arkins
8dc7e47526 fix: relative lib require in config definitions 2017-07-02 06:18:07 +02:00
Rhys Arkins
3d9cd11611 refactor: change group config structure
This changes how group are configured to align with the new lock file configuration.

BREAKING CHANGE: old group* template options are no longer supported but can be migrated into group object
2017-07-01 06:49:32 +02:00
Rhys Arkins
6f49927a45 feat: schedule support for lock file maintenance
This feature now allows a custom schedule to be defined for lock file maintenance. It is now enabled by default but runs only before 5m on Sundays. Closes #399

BREAKING CHANGE: lock file maintenance is enabled by default.
Rules will apply to both yarn and npm (npm is yet to be implemented however). Existing mainainYarn* variables are removed and replaced by new lockFileMaintenance object.
2017-07-01 06:46:11 +02:00
Rhys Arkins
3a68dafab2 fix: drop packageFile.fileName support
No longer massages packageFile.fileName -> packageFile.packageFile

BREAKING CHANGE: “fileName” notation no longer supported
2017-07-01 06:42:12 +02:00
Rhys Arkins
9209982b6d fix: drop preformatted changelog
No longer supporting preformatted (markdown) changelog input for templates.

BREAKING CHANGE: Preformatted {{changeloge}} no longer supported in PR body template.
Generate changelog using handlebars as in the default templtaes.
2017-07-01 06:40:37 +02:00
Rhys Arkins
45c3124a8f feat: support "enabled" config option at all configuration levels 2017-06-30 16:04:23 +02:00
Rhys Arkins
6664110c29 feat: schedules (#397)
This PR adds a scheduling feature, including timezone support.
It's described in detail in the FAQ, but the summary is:

*   Timezones can be defined so that schedules are written in timezone of target repository
*   Schedules can be written in "plain english"
*   Multiple schedules allowed
*   Schedules can be defined all the way down to package level

Closes #387
2017-06-30 14:04:46 +02:00
Rhys Arkins
0ac3625e4f fix: more semanticCommitsEnabled -> semanticCommits 2017-06-30 06:04:15 +02:00
Rhys Arkins
01df41086b fix: semanticCommitsEnabled -> semanticCommits 2017-06-30 06:01:50 +02:00
Rhys Arkins
4c79dae98c feat: semantic commit support (#389)
Defaults to disabled. Included in onboarding.

Closes #303
2017-06-29 19:50:26 +02:00
Rhys Arkins
87967b4945 fix: Onboarding config should use repo config, not defaults (#386) 2017-06-29 15:38:18 +02:00
Rhys Arkins
552b5e68c5 Refactor helpers (#382)
* Move yarn and npm helpers into branch worker

* Fix name

* Move package-json helper

* Update name

* Move changelog

* Move github-app

* Remove unused platform

* Move logger

* Fix lint
2017-06-29 07:29:41 +02:00
Rhys Arkins
742060c8b5 Improve npm and yarn lock error messages (#380)
Closes #375 

* Detect versions at startup

* Add meaningful error messages when problems with npm or yarn

* Test helpers

* Test global versions
2017-06-28 22:33:27 +02:00
Rhys Arkins
fe82c7ad7c Skip repositories with no package.json (#378)
* Skip repositories with no package.json

Closes #376

* Fix await

* Refactor file file check

* Update tests
2017-06-28 19:37:08 +02:00
Rhys Arkins
698a63ad32 Fetch multiple pages from gitlab projects api endpoint (#377)
Fixes #371
2017-06-28 15:01:05 +02:00
Rhys Arkins
c459ba66d6 Fix rebasing logic (#372)
* Add debug messages to API

* Fix rebase logic

* Fix tests

* Simplify logic

* Update branch.spec.js
2017-06-28 13:20:31 +02:00
Rhys Arkins
a8da588f13 Don’t warn if currentVersion is a known tag
Closes #333
2017-06-28 12:45:18 +02:00
Rhys Arkins
8bc3c00c32 Fix onboarded branchName 2017-06-28 12:35:07 +02:00
Rhys Arkins
9e5eb58b74 Remove duplicate log message 2017-06-28 12:33:58 +02:00
renovate[bot]
5a9a66bd2b Update dependency prettier to version 1.5.2 (#365)
* Update dependency prettier to version 1.5.2

* lint fix
2017-06-28 12:23:57 +02:00
Rhys Arkins
285c977cf7 Use package.json renovate config when onboarding (#370)
* Store repoIsOnboarded in config

* Use package file renovate config for onboarding

Closes #368
2017-06-28 12:16:25 +02:00
Rhys Arkins
085e0ed3e4 Return default package.json if GitHub api finds no files 2017-06-28 11:39:51 +02:00
Rhys Arkins
c472b7e6cc Improve onboarding (#367)
* Add branchName to mergeRenovateJson

* Split onboarding into branch and PR

* Update onboarding description

* remove snapshot

* Update tests

* Update onboarding text
2017-06-28 11:23:40 +02:00
Rhys Arkins
a952506259 Perform gitlab terminology translation in api (#366) 2017-06-28 10:10:40 +02:00
Rhys Arkins
46a4d8ba9d Refactor pin groups (#364)
* Group together pins

* Install github-url-from-git

* Get repositoryUrl from npm

* Don’t delete excess pins

* Update configuration.md

* Update tests
2017-06-27 17:46:11 +02:00
Rhys Arkins
6d99afb656 Get repository url from npm query (#363)
* Get repositoryUrl from npm

Closes #350

* Generate repository url from npm query

Closes #350
2017-06-27 17:35:23 +02:00
Rhys Arkins
6e12c35da5 Update docs 2017-06-27 15:36:53 +02:00
Rhys Arkins
1669cefbd3 Fix isGitHub 2017-06-27 14:54:07 +02:00
Rhys Arkins
463d2fc39d Refactor worker code (#362)
* Move package-file worker

* rename to renovatePackageFile

* Move packageJson

* Add getDepTypeConfig

* Add

* Revert "Add"

This reverts commit d034e6149a.

* Refactor versions

* rename findPackageFileUpgrades

* rename versions

* packageWorker

* Refactor promises

* move snapshots

* Rename

* Refactor versions

* Refactor

* Finish package worker

* Major refactor

* Remove worker tests

* package/versions

* Finish packageWorker tests

* package-json test

* Finish dep-type tests

* Add back package-json helper test

* Refactor package-file

* Add back branch and pr

* Add back remaining worker tests

* update tests

* remove snapshot

* Fix dep-type coverage

* Remove old tests

* Coverage
2017-06-27 13:44:03 +02:00
Rhys Arkins
ae73655c6e Refactor repository worker (#361)
* Add subdirectory

* Move apis tests

* Move onboarding

* Move more apis functions

* Move upgrades

* Refactor index

* Renames
2017-06-26 14:26:49 +02:00
Rhys Arkins
1dd464cba5 Refactor config definitions and onboarding values (#360)
* Set levels in definitions

* Rename global worker

* getRepoConfig use options levels

* Refactor packageFileConfig

* Add onboarding configuration
2017-06-26 13:08:57 +02:00
Rhys Arkins
ec35b6f764 Enable CLI override of app repositories list (#358)
* Filter GitHub App repositories list if configured via CLI

Closes #354

* Fix existing tests

* Add new test
2017-06-26 09:43:24 +02:00
Rhys Arkins
0801960ffb Fix relative requires (#353)
Closes #352 

* Update platform.js

* Update repository.js
2017-06-25 16:32:37 +02:00
Rhys Arkins
a787e6bad2 Automerge pinned updates (#349)
* Automerge pinned upgrades

Closes #348

* Update test snapshots
2017-06-25 09:06:51 +02:00
Rhys Arkins
08f7a5ca91 Complete code coverage (#347) 2017-06-25 08:14:59 +02:00
Rhys Arkins
19f4b3b0bc Refactor repository worker (#344)
* Move to subdir

* Downgrade eslint to 3

* Refactor api and config usage

* Refactor mergeRenovateJson

* Test mergeRenovateJson

* getOnboardingStatus tests

* Refactor repository structure

* Refactor config.logger

* Revert "Refactor config.logger"

This reverts commit 6d7f81af6e.

* Refactor repository logging

* Refactor try/catch

* Refactor platform and onboarding

* Refactor setNpmrc

* Fix github logger

* npm api use config.logger

* Refactor repo worker logger

* Refactor repo worker

* Refactor branched upgrades

* Repository refactoring

* Move some debug logging to trace

* Deprecate fileName

* Refactor upgrades

* Refactor repository logs

* More repository log refactoring

* Refactor repository location

* Revert "Refactor repository location"

This reverts commit faecbf2951.

* Fix tests

* mergeRenovateJson

* Recombine repository worker

* Add initApis tests

* add detectPackageFiles tests

* Add determineRepoUpgrades tests

* start groupUpgradesByBranch tests

* add test

* add test

* Finish groupUpgradesByBranch coverage

* Test updateBranchesSequentially

* Finish repo coverage

* Finish branch worker coverage

* Finish workers coverage

* Fix isPin

* Complete workers coverage

* Finish helpers coverage

* Add gitlab api tests

* getBranchStatus tests

* test createPr

* start getPr testing

* getPr

* update and merge PR tests

* getFile

* getFileContent tests

* getFileJson tests

* createFile

* updateFile

* createBranch

* commitFilesToBranch

* update yarn

* Update yarn
2017-06-25 07:36:13 +02:00
Rhys Arkins
887efe2ac8 Unit test gitlab api (#343)
Closes #228
2017-06-25 07:11:24 +02:00
Rhys Arkins
53a316d1c3 Improve test coverage (#338)
* Fix github api coverage

* Fix npm api coverage

* Fix renovate init function coverage

* Start gitlab tests

* gitlab initRepo tests

* findFilePaths

* Add branchExists tests

* Fix branch worker coverage

* pr worker

* Refactor repository functions

* Refactor gitlab getRepos
2017-06-22 21:35:32 +02:00
Rhys Arkins
a3a3f88091 Fix gitlab markdown/html (#337)
* Add showdown

* Use showdown to convert pr body to html

Closes #334

* Update test
2017-06-22 15:14:42 +02:00
Rhys Arkins
24955fab77 Support GitLab merge conflict rebasing (#335)
Closes #132 

* Add gitlab deleteBranch

* Add GitLab rebasing logic to branch worker

* Add GitLab getBranch

* Record user email during initRepo

* Add canRebase logic

* lint fix

* Add test
2017-06-22 11:56:23 +02:00
Rhys Arkins
10622a1811 Refactor to enable log context (#331)
Closes #317 

* Install traverse

* Scrub api and logger in stringify config

* Use stringifyConfig

* Ignore logs

* Add meta to CLI logs

* Refactor repo structure

* rename repoWorker

* renamed worker

* Refactor logger location

* Refactor main worker

* Refactor getRepoConfig

* Refactor err

* Refactor repo logger

* Add config serializer and logger

* Refactor redact

* Remove stringifyConfig

* Refactor onboarding

* Set packageFile logger

* Refactor package file logic

* branch and pr logging

* Improve log context

* Fix tests part 1

* more test fixes

* Fix github init

* All tests passing

* Rename cli helper

* Refactor logger

* Add logger tests

* Add config serializer tests

* Add configParser tests

* Fix package file tests

* Expand package-file tests

* Use defaultConfig

* Add package-file tests

* Refactor

* Finish package-file tests
2017-06-22 09:03:36 +02:00
Troy Coutu
e3d2ba1d3e Use iid when setting up harmonized github PR object in getPr (#332) 2017-06-22 09:00:26 +02:00
Rhys Arkins
06cd61e704 Add log to file capability (#330) 2017-06-20 21:34:25 +02:00
Rhys Arkins
19f13b10ee Fix repository redaction (#329) 2017-06-20 21:34:08 +02:00
Rhys Arkins
c96b21a9a2 Refactor bunyan CLI stream (#328)
* Install chalk

* Use chalk for colours

* Strip back code

* Refactor

* remove end
2017-06-20 20:05:59 +02:00
Rhys Arkins
34421a3837 Replace winston logging with bunyan (#326)
Closes #325 

* Install bunyan

* Set log level for jest

* Replace winston requires with relative logger require

* Add cliHelper

* Strip unused

* Trim unused and update colors

* Update log messages

* Enable dynamic log level

* Update cli.js
2017-06-20 17:57:04 +02:00
Rhys Arkins
b9542217f8 Remove log-level verbose (#324)
Closes #318
2017-06-20 08:02:17 +02:00
Rhys Arkins
d477aa80e9 Fix branch push failure PR (#316)
* Fix GitLab branch status failed - failure

* Fix PR creation when branch automerge fails

Fixes #310
2017-06-16 15:24:59 +02:00
Rhys Arkins
d35347da44 Use .npmrc from repository for registry lookups (#309)
* Add ini

* Use repo npmrc

* Fix json

* Fix npmrc nesting

Closes #291
2017-06-16 12:14:38 +02:00
Rhys Arkins
c596673da1 Fix check for yarn.lock maintenance existing (#314)
* Fix check for yarn.lock maintenance existing

Closes #313

* Fix test

* Fix lint
2017-06-16 11:57:04 +02:00
Rhys Arkins
4cf5ed6174 Trim currentVersion in package.json (#312) 2017-06-16 10:18:28 +02:00
Rhys Arkins
439367e223 Don’t show commit details when none present (#311)
Fixes #308
2017-06-16 09:46:57 +02:00
Rhys Arkins
8f53ae4855 Fix check for string packageFiles config (#307) 2017-06-15 21:42:31 +02:00
Rhys Arkins
7e43fce47b Add check for logJSON (#306)
Fixes #305
2017-06-15 20:57:18 +02:00
Rhys Arkins
299016918a Change autogenerate PR message (#301) 2017-06-13 16:52:33 +02:00
Rhys Arkins
f36305da19 Suppress duplicates in PR changelogs (#302)
Closes #300
2017-06-13 16:49:27 +02:00
Rhys Arkins
fbce505adc Lower upgrades print to debug 2017-06-13 13:09:14 +02:00
Rhys Arkins
03063f30b6 Hyperlink issue numbers in commit messages (#299)
* Add regex for hyperlinking issue numbers in commit messages

Closes #185

* Extend test
2017-06-13 12:22:21 +02:00
Rhys Arkins
91856cec7a Refactor changelog logic to directly use JSON (#296)
Closes #264 

* Basic refactor

* Refactor into module

* Further refactor

* Use json for group pr body

* Add commit links

* improve body

* Refactor names

* Add signature

* Refactor config

* Simplify non-group pr body template

* Fix Pull/Merge terminology

* Fix test

* Fix pr test

* Fix prettier
2017-06-13 11:08:37 +02:00
Troy Coutu
ed8a20b5b5 Add gitlab api v4 support to getPr (#295) 2017-06-12 21:05:09 +02:00
Rhys Arkins
e5ea889829 Delete unnecessary config fields (#293) 2017-06-12 15:48:42 +02:00
Rhys Arkins
112ff0b410 Support branch automerging (#274)
Add support for automerging without PR, Closes #177 

* update definitions and docs


* Add mergeBranch api

* support merge commit

* set automergeType

* Update API

* Refactor merge commit

* branch-push working

* Refactor branch

* Add back base tree

* Fix failing tests

* Update definitions and docs

* Fix automerge logic

* Test isBranchStale

* start mergeBranch test

* test mergeBranch branch-push throws

* more tests

* test unknown commit type

* pr tests

* Detect automerge in versions helper

* update tests for new automergeEnabled flag

* refactor pr logic

* complete pr worker tests

* branch automerge tests

* Update docs

* refactor branch automerge check
2017-06-08 06:18:21 +02:00
Hutson Betts
623a720ba5 fix(npm): accept JSON as fallback in content negotiation (#281)
Accept `application/json` as content type fallback in case user is accessing
npm registry that does not support the new `npm.install` content type.
2017-06-07 21:30:37 +02:00
Rhys Arkins
d293143475 Fix github api base branch update (#279)
* Update base commit SHA after merge

* drop unnecessary getcommittree
2017-06-07 15:42:20 +02:00
Rhys Arkins
db031e7361 Revert "Update base SHA after merge PR (#277)" (#278)
This reverts commit 981d446cb0.
2017-06-07 14:42:54 +02:00
Rhys Arkins
981d446cb0 Update base SHA after merge PR (#277) 2017-06-07 14:39:17 +02:00
Rhys Arkins
25a83d829f Fix baseBranch/defaultBranch in github api (#275) 2017-06-07 14:38:20 +02:00
Rhys Arkins
9be60b461f Add configuration faq/guide (#270)
Closes #265
2017-06-05 23:00:01 +02:00
Rhys Arkins
1e3d2449c8 Restore tmp directory cleanup (#268)
Partial implementation of #252
2017-06-05 19:22:39 +02:00
Rhys Arkins
88648ab4a5 Add npm caching (#266)
* use snapshots

* Use npm cache

Closes #246

* Add test for caching
2017-06-05 12:13:39 +02:00
Rhys Arkins
d234a0d9dd Support changelogs for groups (#257)
Closes #202 

* Externalise hbs templates

* Fix tests

* Move templates

* lint fix

* Pass all upgrades to ensurePr

* Group changelogs

* Fix lint

* Fix tests
2017-06-05 10:21:02 +02:00
Rhys Arkins
ee6b9876be Externalise hbs templates (#255)
* Externalise hbs templates

* Fix tests

* Move templates

* lint fix

* Refactor templates location
2017-06-04 16:42:24 +02:00
Rhys Arkins
156e104b5f Gracefully handle 404’s for npm module lookup (#254)
Closes #252, Closes #211
2017-06-04 12:34:04 +02:00
Rhys Arkins
a50e65e143 Add robustness to package.json parsing (#250)
* Add robustness to package.json parsing

* Add tests
2017-06-04 08:06:40 +02:00
Rhys Arkins
79de1b1ef3 Use npm Registry Filter Header (#249)
Closes #245
2017-06-04 07:10:12 +02:00
Rhys Arkins
edade684e6 Support lazy grouping (#241)
Closes #240
2017-06-03 15:27:11 +02:00
Rhys Arkins
775a93172f Add yarn cache support (#239)
* Add yarn cache support

Closes #237

* Fix prettier
2017-06-03 15:25:13 +02:00
Rhys Arkins
1bd22611fd Fix GitHub app merge (#234)
* Add installation debug

* Update initRepo merge detection

* mergePr tests

* guess squash

* Update tests
2017-06-03 09:40:13 +02:00
renovate[bot]
cfb692c0d0 Update dependency prettier to version 1.4.0 (#231)
* Update dependency prettier to version 1.4.0

* Update dependency prettier to version 1.4.0

* Run prettier autofixes
2017-06-02 22:40:00 +02:00
Rhys Arkins
07ad13337b Add GitHub App support (#230)
* Add jsonwebtoken

* Add githubApp option

* Add id and key configs

* Add integer parsing to cli and env

* Remove boolean app enablement

* Drop got

* Add API functions for GitHub Apps

* debug not verbose in api

* Add GitHub App Helper

* Update redact function

* Add GitHub app logic

* Update logging

* Fix lint

* getInstallations tests

* getInstallationToken tests

* getInstallationRepositories tests

* Refactor ghGot structure

* Add github app tests

* Add config tests

* update lockfile
2017-06-02 22:06:15 +02:00
Troy Coutu
ba7f6b6e5c Add support for v4 of Gitlab API (#221)
Closes #220 

* add gitlab api v4 support

* switch to projects/owned route
2017-06-02 08:50:07 +02:00
Rhys Arkins
a663ecddef Add npm5 package-lock.json support (#224)
* Add npm5 package-lock.json support

Closes #222

* Fix comment typo

* Add package-lock.json failure test cases
2017-06-02 08:29:36 +02:00
Rhys Arkins
d453f6cce7 Add try/catch around yarn.lock generation (#225)
* Add try/catch around yarn.lock calls

* Improve test structure
2017-06-02 08:06:44 +02:00
Renovate Bot
5ebff14931 Update dependency prettier to version 1.3.1 (#199)
* Update dependency prettier to version 1.3.1

* Run eslint-fix
2017-05-10 09:26:08 +02:00
Rhys Arkins
f2dd18fd5d Fix yarnMaintenanceCommitMessage use (#206)
Closes #205
2017-05-09 21:22:18 +02:00
Renovate Bot
c56c6d9bbe Update dependency prettier to version 1.3.0 (#198)
* Update dependency prettier to version 1.3.0

* Run eslint-fix
2017-05-03 06:42:24 +02:00
Rhys Arkins
6a0524edb7 Enable templates via env and update design decision doc (#192)
Closes #190
2017-04-29 04:42:17 +02:00
Rhys Arkins
8bb6c5cea2 Fix caret zero dot zero dot logic (#191)
Fixes #189 

* Add @types/helmet as npm fixture

* Add zero dot zero tests for tilde and caret

* Fix caret zero dot zero logic
2017-04-28 21:55:14 +02:00
Rhys Arkins
e844388e48 Add description of list configuration to docs and CLI help
Closes #188
2017-04-26 21:51:14 +02:00
Rhys Arkins
44e7bbf512 Use es5 trailing commas (#183) 2017-04-21 10:25:49 +02:00
Rhys Arkins
06f8d50f5e Use Prettier (#181) 2017-04-21 10:12:41 +02:00
Rhys Arkins
8d516e3491 Feature: Don't assign/review automerge PRs (#180)
* Skip assignees and reviewers if automerging

* Add tests
2017-04-21 07:23:36 +02:00
Rhys Arkins
97d2a54561 Add repository autodiscovery (#156)
Closes #146
2017-04-21 07:00:26 +02:00
Rhys Arkins
c1a561ebf7 Refactor platform check and api assignment (#179)
* Refactor platform check and api assignment

* Drop mock

* drop async
2017-04-21 06:43:26 +02:00
Rhys Arkins
aa3309ffe1 PR Automerging (#173)
Closes #109

* Add automerge definition

* Add mergeMethod

* add mergePr for GitHub

* update definitions

* autodetect merge type

* Check mergeable state

* Don’t split majors if automerging any

* Update mergePr api commands

* fix initRepo tests

* Add tests

* Fix mergePr call

* Fix description

* Revert branchWorker changes

* revert comment

* Add test

* Add major/minor separation tests

* Add status-success tests

* Add not-pending tests

* Add automerge tests

* Check branch status before merge
2017-04-20 13:01:23 +02:00
Rhys Arkins
5f8711da39 Refactor yarn helper and add tests (#174)
Refactor yarn helper and increase coverage
2017-04-20 12:15:46 +02:00
Rhys Arkins
4097b8291e Fix versions groupName check (#175) 2017-04-20 11:59:02 +02:00
Rhys Arkins
4283fbf7f8 Improve prCreation description 2017-04-20 07:11:45 +02:00
Rhys Arkins
8113a19b1f Fix GitHub branchExists check (#170)
* Fix: don’t check for closed PR if groupName is configured

* Fix GitHub branchExists check

* Revert "Fix GitHub branchExists check"

This reverts commit 775b3172f1.

* Revert "Revert "Fix GitHub branchExists check""

This reverts commit 84e4a5dbbf.

* Update tests
2017-04-17 08:39:11 +02:00
Rhys Arkins
d62345fc56 Fix GitHub branchExists check (#169)
* Fix: don’t check for closed PR if groupName is configured

* Fix GitHub branchExists check

* Revert "Fix GitHub branchExists check"

This reverts commit 775b3172f1.
2017-04-17 07:19:22 +02:00
Rhys Arkins
ca7b25825d Add PR Creation stage configuration (#168)
* Add prCreation config option

* Support ‘status-success’ configuration

* Add option ‘not-pending’
2017-04-17 06:46:24 +02:00
Rhys Arkins
adcd152c3f Fix monorepo yarn maintenance (#167)
Closes #166 

* Support multiple yarn.lock files for maintenance

Closes #166

* Refactor maintainYarnLock logic
2017-04-17 04:54:42 +02:00
Rhys Arkins
a117a1787e Decrease ensureBranch logging level 2017-04-15 22:06:15 +02:00
Rhys Arkins
05be49757c Dependency groups (#164)
Closes #10, Closes #48

* Update configuration options

* Upgrade dependencies to latest if groupName is configured

* Update docs

* Add groupName logic
2017-04-15 22:04:14 +02:00
Rhys Arkins
c267e06e7f Make package pattern explicit (#165) 2017-04-15 21:58:41 +02:00
Rhys Arkins
96b21ece41 Refactor branch batching (#163)
Closes #134 

* Refactor to combine upgrades in the same branch

* Fixing tests

* Fix config

* Fix more tests

* Fix newContent

* drop verbose

* Fix package file logic
2017-04-15 20:32:01 +02:00
Rhys Arkins
f70c243804 Refactor upgrade loop logic (#162) 2017-04-15 18:03:11 +02:00
Rhys Arkins
cad086d242 Add separateMajorReleases config option (#161) 2017-04-15 12:44:50 +02:00
Rhys Arkins
c6cbc00b07 Support package-level configuration (#160)
Closes #133 

* Add packages object

* Add first test

* Add override

* More package tests

* Update example config in docs

* Add regex test
2017-04-15 11:37:35 +02:00
Rhys Arkins
4856f22747 Support configuring per dependency-type (#159)
Related: #133 

* Add getDepTypeConfig

* Add depTypeConfig

* Add depType config tests

* Fix depTypes list
2017-04-15 08:51:42 +02:00
Rhys Arkins
425ada41cf Refactor per-dependency configs (#158)
* Assign configs to individual deps

* Fix

* Trim config object
2017-04-15 07:57:04 +02:00
Rhys Arkins
701aaef972 Support yarn.lock maintenance (#105)
Closes #96 

* Improve yarn logs

* Add processYarnLock

* Update worker.js

* Update worker.js

* Fix and update docs

* Make Yarn Maintenance strings into templates
2017-04-13 22:39:46 +02:00
Rhys Arkins
8d289ac445 Support simple range upgrades (#155)
Closes #31 

* Add config.pinVersions

* Check config.pinVersions before pinning

* Fix no pinning

* Add tests for existing functionality

* Add test for new feature

* Add semver-utils

* Supports tilde ranges

* Add tests for tilde and caret

* Add support for lesser than ranges

* Document range upgrade logic

* Support shorthand and .x ranges

* Refactor upgrade logic

* Simplify refactor

* revert test change

* Add isRange and update PR title template

* Refactor major/minor

* Refactor isRange

* Refactor newRange

* Use lodash for rejecting pin

* Revert "Use lodash for rejecting pin"

This reverts commit 7f0b704bbf.

* Fix major check

* Use lodash for rejecting

* Use lodash map

* rename

* Refactor mapping

* Refactor test config
2017-04-13 21:22:24 +02:00
Rhys Arkins
e959c492b9 Refactor change log versions (#154)
* Rename workingVersion to changeLogFromVersion

* Add changeLogToVersion
2017-04-13 12:44:34 +02:00
Hutson Betts
f6421b0bb9 fix(file): use path.isAbsolute for Windows compatibility (#142)
Use Node's built-in `path.isAbsolute` for compatibility with
Window's file paths.
2017-03-26 06:08:34 +02:00
Hutson Betts
c257717ea0 refactor(versions): refactor versions helper (#143)
Refactor versions helper to use lodash filters, instead of
nested if statements.
2017-03-26 06:08:01 +02:00
Hutson Betts
63dae3d901 fix(yarn): remove call to tmp cleanup function (#140)
Remove the direct call to `tmp`'s manual cleanup function
as `tmp` adds a listener on process exit to call cleanup
on all created directories (that weren't created with the
`keep` option set to `true`).

This is considered a fix because under some conditions the cleanup
will fail on Windows, and because the cleanup is called manually
in the middle of a renovate cycle, any sporadic failure will fail
the entire renovate process.

Instead, defer the temporary directory cleanup until after renovate
has completed, where a failure won't de-rail the entire cycle.

(I have not been able to track down why `tmp` fails sometimes on
Windows with my various project setups.)
2017-03-24 12:38:19 +01:00
Hutson Betts
b94e5458c6 fix(yarn): spawn in shell on Windows (#138)
Must spawn `yarn` within a shell on Windows for the `yarn`
executable to be resolved correctly. Otherwise a ENOENT
error is received because the `yarn` command can't be found.

Spawning a comamnd in a shell on Linux should behave the same,
though there may be a small increase in time required to
spawn the process.
2017-03-21 05:40:52 +01:00
Rhys Arkins
e86725430e Set remove_source_branch in gitlab MRs (#131)
Closes #126
2017-03-13 10:21:28 +01:00
singapore
a98bd9f476 Update config definition descriptions (#129)
* Update definitions.js

* Update docs
2017-03-13 10:07:57 +01:00
Rhys Arkins
54eaacebe3 Enhance logic for PR rebase check (GitHub) (#130)
* Enhance logic for PR rebase check (GitHub)

Closes #119

* don’t set false

* update snapshots

* Update tests
2017-03-13 10:05:19 +01:00
Rhys Arkins
88c600b85e Fix yarn.lock detection (#128)
* Fix yarn.lock detection

Closes #110, Closes #124

* Fix for tests :)
2017-03-13 06:33:28 +01:00
Rhys Arkins
ef30a73c3a Refactor for more worker tests (#104) 2017-02-14 22:04:57 +01:00
Rhys Arkins
ed132014e5 Refactor worker code for testing (#102)
Major refactor of worker code in order to add tests. Closes #99
2017-02-14 08:08:40 +01:00
Rhys Arkins
5d42dbfd4f Clean default config for initial PR 2017-02-13 18:25:28 +01:00
Rhys Arkins
eb9f508fef Update gitlab API to match github change 2017-02-11 20:19:43 +01:00
Jon Bretman
56f6696abb Add more tests (#98) 2017-02-11 20:18:54 +01:00
Rhys Arkins
53cc59a6bb Fix false positive yarn.lock detection 2017-02-11 17:57:10 +01:00
Rhys Arkins
191ed70898 Add Gitlab support (#83)
Closes #65
2017-02-11 08:14:19 +01:00
Rhys Arkins
d2ba6f3a08 Drop commitFileToBranch 2017-02-09 06:14:19 +01:00
Rhys Arkins
7ec2502a42 Add yarn.lock support (#93)
* Updates existing yarn.lock whenever we update package.json
* Closes #66
2017-02-09 05:59:50 +01:00
Jon Bretman
3818e535ad Move tests to Jest (#94)
* No need to run tests against compiled code
* Better support for reseting modules
* Will make writing tests for the github/npm apis easier
2017-02-09 05:30:00 +01:00
Rhys Arkins
4db3ce20e1 Add commitFilesToBranch to API 2017-02-08 08:43:45 +01:00
Rhys Arkins
8b0fb9939c Fix createPr return properly 2017-02-08 08:34:19 +01:00
Rhys Arkins
88a81cc6b8 Revert "Fix createPr return value"
This reverts commit 46c55c64df.
2017-02-08 08:33:54 +01:00
Rhys Arkins
46c55c64df Fix createPr return value 2017-02-08 08:23:32 +01:00
Jon Bretman
541edb1807 Fix some small bugs (#92)
* Remove leading `/` from file paths returned from GitHub API search
* Return PR object from `createPr` function in api/github
* Set the logging level as soon as it's known
* Make sure endpoint is set at the repository level
2017-02-07 21:45:35 +01:00
Sébastien ELET
7829dfea96 Add option to rebase stalled PRs (#89)
Closes #54 

* feat(rebaseStalePr): add option to rebase stalled PRs

* refactor(pr): rename isStalled to isStale

* docs(*): rebuild the docs
2017-02-06 07:56:33 +01:00
Rhys Arkins
76de590415 Support custom endpoints 2017-02-05 09:13:56 +01:00
Rhys Arkins
fc572b03dd Use pr.displayNumber instead of pr.number 2017-02-02 18:34:48 +01:00
Rhys Arkins
edf8e496ea Improve pr formatting 2017-02-02 16:08:35 +01:00
Rhys Arkins
12f4a4b034 Fix debug exception 2017-02-02 16:08:12 +01:00
Rhys Arkins
7ea382c065 Improve/fix changelog formatting 2017-02-02 16:07:55 +01:00
Rhys Arkins
c769ae2e82 Improve ensure PR error reporting 2017-02-02 16:07:39 +01:00
Rhys Arkins
c3999419b5 Fix configureRepository prNo return 2017-02-02 16:07:00 +01:00
Rhys Arkins
83f6f69fc6 Drop writeFile 2017-02-01 17:48:20 +01:00
Rhys Arkins
03a6e0a56d Refactor github API (#85)
More refactoring of GitHub API in preparation for GitLab
2017-02-01 17:43:28 +01:00
Rhys Arkins
ee27fd5e1f Refactor GitHub api (#82)
This refactors the GitHub API and related functions in preparation for GitLab support
2017-02-01 13:50:28 +01:00
Rhys Arkins
c3e96f1d2a Optimise setNewValue if nothing has changed 2017-02-01 13:20:21 +01:00
Rhys Arkins
87a025c2d1 Refactor for multiple platforms (#81)
* Add gl-got

* Add platform config definition

* Refactor for multiple platforms

Preparing for #65
2017-01-31 18:16:33 +01:00
Sébastien ELET
7c6a891b73 Add option for Requested Reviewers (#79)
This feature allows for the addition of requested reviewers for Pull Requests.
2017-01-31 14:54:16 +01:00
Rhys Arkins
528112bc47 Use async await (#78)
All promise syntax has been replaced with async/await.
`renovate` is now transpiled with `babel` to a `dist/` folder, which is the target of `main` and `start` in `package.json` now.
`renovate` can be run in `node.js` v7 without transpilation using `npm run start-raw`

Closes #77
2017-01-31 12:19:06 +01:00
Rhys Arkins
3096550672 Add onboarding (#76)
* Check for closed PR

* Refactor

* Make onboarding configurable
2017-01-30 07:34:35 +01:00
Rhys Arkins
a80f6489d2 Support custom registries
Closes #69
2017-01-29 22:26:43 +01:00
Rhys Arkins
dfd86e3740 Remove recreateUnmergeable option and update docs 2017-01-29 21:53:12 +01:00
Rhys Arkins
e9dc4a8c60 Rebase PRs instead of recreate
Closes #75
2017-01-29 21:47:16 +01:00
Rhys Arkins
a08902fefc Refactor branch creation & update (#74)
This commit refactors the way we create commits and branches to use the low-level GitHub "git data" API endpoints. in particular, it commits the file first and creates the branch second, rather than vice versa. This prevents unnecessary builds in CI due to the (empty) branch creation we had in previous versions. Closes #82.
2017-01-29 21:25:12 +01:00
Rhys Arkins
09c8e57c21 Remove getRateLimit log 2017-01-29 05:14:46 +01:00
Rhys Arkins
732958c843 Refactor worker 2017-01-22 14:40:14 +01:00
Rhys Arkins
6b21df5ce3 Debug rate limit after execution 2017-01-22 12:50:15 +01:00
Rhys Arkins
00d6249711 Refactor config
Now generates CLI, env and docs
Makes config more testable
2017-01-20 14:03:18 +01:00
Rhys Arkins
b068ad6597 Move all templates into config root 2017-01-20 13:55:27 +01:00
Rhys Arkins
1c25eb7b4e Support enabled boolean configuration
Closes #60
2017-01-19 10:27:31 +01:00
Rhys Arkins
bb5c144af3 Reorder defaults 2017-01-19 10:15:57 +01:00
Rhys Arkins
14fc4ebefa Add assignees to logic 2017-01-18 21:17:07 +01:00
Rhys Arkins
6f19935a34 Add assignees to config 2017-01-18 21:16:53 +01:00
Rhys Arkins
aa4164b89e Add renovate.json support
Closes #42
2017-01-18 19:55:03 +01:00
Rhys Arkins
9fc83cd171 Redact token in logs
commit e6ca456e63f9f42089275ceb14e42442d8cbe8eb
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Wed Jan 18 14:11:53 2017 +0100

    Redact string

commit 154367927f60a895708ef0f83192342bbf7a4093
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Wed Jan 18 14:02:12 2017 +0100

    Redact config
2017-01-18 14:14:07 +01:00
Rhys Arkins
26caf655a3 Fix changelog in pr body 2017-01-18 13:26:26 +01:00
Rhys Arkins
0356dd0eca Refactor templates to use handlebars (#57) 2017-01-18 01:48:17 +01:00
Rhys Arkins
485e0eb7ce Fix umergeable check 2017-01-17 16:07:17 +01:00
Rhys Arkins
1586627b64 Configurable ignore behaviour (#56) 2017-01-17 14:27:48 +01:00
Rhys Arkins
2e8721ebee Don’t upgrade to future versions unnecessarily
Closes #55

commit 4914c5bbf401711b61d9a54330532175a51a167c
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Tue Jan 17 12:45:45 2017 +0100

    Update debug

commit 55c8307381397399afda01038b6c50416cba27a3
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Tue Jan 17 12:44:08 2017 +0100

    Ignore versions newer than “latest”

commit 8aa3e7daa937c0d86f89e1d704853ebee46a54a8
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Tue Jan 17 11:17:31 2017 +0100

    Ignore futures if current is not future
2017-01-17 12:46:32 +01:00
Rhys Arkins
a53f906917 Refactor version filtering 2017-01-17 10:26:36 +01:00
Rhys Arkins
9a56bb96fb Support package.json autodiscovery (default)
Closes #53

commit e80dbfd9caa56edc3c9980622e6ebffecbc6e104
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Tue Jan 17 09:11:03 2017 +0100

    Update docs

commit 78830806efe35150e9ec4cb5416d43092ccf0fc7
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Tue Jan 17 08:52:23 2017 +0100

    Refactor

commit c44979212f7c51d395a4b4dbffe831af5467b4fc
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Tue Jan 17 07:25:28 2017 +0100

    Set default packageFiles to []

commit c830f0b37928460ed857260e6c4b4c3c23443f1e
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Tue Jan 17 07:14:33 2017 +0100

    Add github.fileFile
2017-01-17 09:12:02 +01:00
Rhys Arkins
57a41cac04 Recreate unmergeable PRs
Closes #32

commit b9706b2e0de85d3c2953ddda16cfc15ec92279e3
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Mon Jan 16 18:09:36 2017 +0100

    Fix lint

commit 04bb13b233609cba425b171ba529810b0ba614a1
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Mon Jan 16 18:08:33 2017 +0100

    Defer changelog and prBody

commit 2f1501aeedf1a3a2fb61db7df8ee1c0424efebb2
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Mon Jan 16 18:08:15 2017 +0100

    recreateClosed

commit 09cecdfcdd8a991c0d25bc7e27aef273c28595e0
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Mon Jan 16 13:24:58 2017 +0100

    docs

commit f219c1165086409a806dff8370050ae7909d8176
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Mon Jan 16 12:40:46 2017 +0100

    Recreate unmergeable PRs

commit c40b6bda284ddefccaddf1487a550d7c3d487a1a
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Mon Jan 16 12:19:15 2017 +0100

    Delete unmergeable PRs

commit 58283ea70b2b844f02fd025fb11541405b6e3280
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Mon Jan 16 12:19:03 2017 +0100

    Add github deleteBranch, getBranchPr
2017-01-16 18:10:39 +01:00
Rhys Arkins
8f2e2d5715 Update changelog source (#50)
* Use dylang changelog

* Use v1.2.0
2017-01-16 09:50:45 +01:00
Rhys Arkins
8d6bad0909 Refactor helpers
Also deprecates RENOVATE_TOKEN for GITHUB_TOKEN
2017-01-15 23:56:09 +01:00
Rhys Arkins
18bd697dae Add short versions to CLI 2017-01-15 17:24:13 +01:00
Rhys Arkins
ab585178bd Refactor env parsing 2017-01-15 16:29:34 +01:00
Rhys Arkins
5fc82077b7 Refactor config parsing to pass tests 2017-01-15 16:12:56 +01:00
Rhys Arkins
0f13d75073 Rename renovate file to worker 2017-01-15 15:09:20 +01:00
Rhys Arkins
f7cf78431b Add renovate.js to root 2017-01-15 15:05:25 +01:00
Rhys Arkins
7163700c7c Rename app to lib 2017-01-15 13:13:08 +01:00