Commit graph

2180 commits

Author SHA1 Message Date
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
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
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
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
439367e223 Don’t show commit details when none present (#311)
Fixes #308
2017-06-16 09:46:57 +02:00
Rhys Arkins
299016918a Change autogenerate PR message (#301) 2017-06-13 16:52:33 +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
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
Rhys Arkins
92a1417b67 Use snapshots for versionsHelper tests (#282) 2017-06-07 21:36:47 +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
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
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
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
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
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
5f6cf321bb Add missing ensurePr tests (#176) 2017-04-20 12:11:56 +02:00
Rhys Arkins
4097b8291e Fix versions groupName check (#175) 2017-04-20 11:59:02 +02:00
Rhys Arkins
d3023dcb26 Add tests 2017-04-20 07:09:07 +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
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
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
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
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
Renovate Bot
e0e4c7be9f Update dependency jest to version 19.x (#113)
* Update dependency jest to version 19.0.0

* Update jest snapshot
2017-02-21 11:50:35 +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
Jon Bretman
56f6696abb Add more tests (#98) 2017-02-11 20:18:54 +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
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
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
732958c843 Refactor worker 2017-01-22 14:40:14 +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
d2ceb9a50c Remove unused test files 2017-01-20 13:51:54 +01:00
Rhys Arkins
0356dd0eca Refactor templates to use handlebars (#57) 2017-01-18 01:48: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
8d6bad0909 Refactor helpers
Also deprecates RENOVATE_TOKEN for GITHUB_TOKEN
2017-01-15 23:56:09 +01:00
Rhys Arkins
3133513aa8 Fix test lint 2017-01-15 15:52:13 +01:00
Rhys Arkins
977060eb17 Add test index 2017-01-15 15:24:45 +01:00
Rhys Arkins
14bfee0244 Refactor tests 2017-01-15 15:19:19 +01:00
Rhys Arkins
0f13d75073 Rename renovate file to worker 2017-01-15 15:09:20 +01:00
Rhys Arkins
7163700c7c Rename app to lib 2017-01-15 13:13:08 +01:00
Rhys Arkins
245f64312f Refactor logger
Avoid passing it around between modules
2017-01-14 13:50:39 +01:00
Rhys Arkins
5921d0e089 Support configurable dep types
Closes #29
2017-01-13 16:04:05 +01:00
Rhys Arkins
dacaad7492 Fix pin branch name (#36) 2017-01-13 10:06:38 +01:00
Rhys Arkins
74c3aba2ba Fix missing dev dependencies (#35)
* Add test for missing devDependencies case

* Add check for depType
2017-01-13 10:03:32 +01:00
Rhys Arkins
8e859dfe42 Increase npm tests (#25) 2017-01-12 19:57:38 +01:00
Rhys Arkins
aebf03a4d1 Major refactor to add npm tests (#24) 2017-01-12 17:04:25 +01:00
Rhys Arkins
733ea77d85 Fix mocha lint 2017-01-12 10:10:47 +01:00
Rhys Arkins
1e24017992 Add tests for package-json
commit 8e72ab18f39f6e177757e1442e9f491d22982e58
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Thu Jan 12 09:33:33 2017 +0100

    Remove use strict

commit 3d13fa9e69b0050ba211128b8b73d210eb0b549a
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Thu Jan 12 09:31:22 2017 +0100

    Add circle.yml

commit d5fad78f3847f8b384a508d3ab6e4cd19939be4e
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Thu Jan 12 09:28:58 2017 +0100

    Try use strict

commit 32ed86bfb6e04fe4270381dc3faa1184192a6f91
Author: Rhys Arkins <rhys@keylocation.sg>
Date:   Thu Jan 12 09:12:46 2017 +0100

    Add package-json tests
2017-01-12 09:36:22 +01:00