Rhys Arkins
c2a6033ad7
fix: use v prefix for commit message and pull request versions ( #603 )
...
Now will use “v1.0.0” instead of “version 1.0.0”
Closes #587
2017-08-04 09:26:11 +02:00
Rhys Arkins
134065c7c7
refactor: use branch prefix in templates ( #604 )
...
This allows for the easy overriding of our default `renovate/` branch naming.
Closes #586
2017-08-04 08:32:22 +02:00
Rhys Arkins
4a4016f232
fix: escape #issueNumber and backticks in prBody ( #602 )
...
Adds a zero width space between the # and first digit in issue numbers to prevent GitHub autolinking, also replaces escaped backticks with `<code></code>`
Closes #595
2017-08-04 07:34:11 +02:00
Rhys Arkins
6c1f27f905
fix: semantic commit messages should always be lower case ( #598 )
...
commitMessage and prTitle will be converted to lowercase after compilation if semanticCommits=true
Fixes #594
2017-08-03 21:49:44 +02:00
Rhys Arkins
3df264501f
chore: add warning if yarn workspaces found ( #599 )
2017-08-03 21:48:58 +02:00
Rhys Arkins
7ff5780a8f
fix: migrate packages array properly ( #597 )
2017-08-03 19:52:10 +02:00
Rhys Arkins
db2e6dd1b9
refactor: Convert Object.assign to spread ( #585 )
...
Closes #226
2017-08-03 08:01:20 +02:00
Rhys Arkins
c3b123a83d
feat: Advanced package rules ( #582 )
...
- Renames `packages` to `packageRules`
- Refactor `packageName` to `packageNames` array
- Refactor `packagePattern` to `packagePatterns` array
- Adds `excludePackageNames` array
- Adds `excludePackagePatterns` array
Closes #529
2017-08-03 07:55:59 +02:00
Rhys Arkins
8809861d3c
fix: Circular reference in depTypeConfig ( #581 )
2017-08-02 21:33:58 +02:00
Rhys Arkins
195988aa0b
fix: Incorrect variable used to resolve depTypeConfig ( #579 )
2017-08-02 16:19:52 +02:00
Rhys Arkins
8f8a4de69f
fix: Schedule should always be an array ( #580 )
...
Massaging of string to array is done in migration function.
2017-08-02 16:14:09 +02:00
Rhys Arkins
6c6b1756cb
fix: Migration check should set flag true at all times ( #578 )
2017-08-02 14:41:25 +02:00
Rhys Arkins
d2ad057a33
feat: Improve depTypes configuration ( #577 )
...
depTypes configuration is now refactored from being an array of strings/objects to having each type of dep (`dependencies`, `devDependencies`, `optionalDependencies`, `peerDependencies`) be a first class object in the namespace. The "old" way of configuring is still supported but is transformed using a migrateConfig script. Later, PRs will be raised to impacted repositories to suggest the new config.
2017-08-02 14:05:45 +02:00
Rhys Arkins
7f97424092
fix: Separate config migration check to own file ( #576 )
2017-08-02 08:54:42 +02:00
Rhys Arkins
c76222fd53
fix: Validate array objects in configuration ( #575 )
2017-08-02 07:52:28 +02:00
Rhys Arkins
f7db11c9d7
fix: Downgrade merge failure to warning ( #574 )
2017-08-02 07:16:31 +02:00
Rhys Arkins
d9d131de6c
feat: Full patch separation support ( #572 )
...
This PR adds explicit patch support. A user can set `separatePatchReleases` to true and receive not only major/minor updates but also patch updates separately. This functionality is also implicitly enabled if `automerge` is set to `patch`.
This PR also enables separate major/minor/patch configuration, e.g. config overrides for major versions, for patch versions, etc. `branchName` is currently overridden for patch branches using this technique.
Closes #390 , Closes #538
2017-08-01 17:10:53 +02:00
Rhys Arkins
75b0bdc322
fix: Fix merge debug message ( #570 )
2017-08-01 13:31:27 +02:00
Rhys Arkins
f1d7330f2b
fix: Improve PR body fixes for scoped packages ( #569 )
...
Escape all scoped package mentions
Escape in group PR bodies too
Remove empty repositoryUrl links
2017-08-01 08:49:41 +02:00
Rhys Arkins
6cd398f0c5
fix: Escape scoped package names in PR bodies ( #568 )
...
GitHub attempts to autolink any @user mention and this causes problems when we use scoped npm modules like `@types/gulp`. This escapes such package names with a zero width space to fool GitHub’s parser.
Fixes #518
2017-08-01 07:22:43 +02:00
Rhys Arkins
8374ef6caa
fix: Allow ‘@user’ format for assignees and reviewers ( #567 )
...
Usernames can now be expressed as like either ‘rarkins’ or ‘@rarkins’
2017-08-01 06:58:13 +02:00
Rhys Arkins
b674e93de2
fix: Add groupCommitMessage to deprecatedOptions ( #566 )
2017-07-31 16:54:24 +02:00
Rhys Arkins
6c7382df14
fix: Check for valid version before performing npm lookup ( #565 )
...
Closes #564
2017-07-31 16:03:19 +02:00
Rhys Arkins
023e520702
fix: Do not log warning when deprecated config options found ( #563 )
2017-07-31 14:50:44 +02:00
Rhys Arkins
8fc97af5c7
feat: Ignore forked repositories unless already configured ( #561 )
...
This feature is particularly useful in the case that renovate is enabled on all repositories a user/account has. Many of those might be forks, and it makes no sense to renovate those by default. Instead, Renovate will skip over forked repositories unless a renovate.json has been added to their root.
Also, Renovate will now prune branches after deciding to skip a repository, whether because of a fork or disablement.
Closes #541
2017-07-30 22:59:53 +02:00
Rhys Arkins
603f63af4d
fix: Retry github API when 502 error ( #560 )
...
The GitHub API will now retry up to 3 times before giving up, if it is receiving a 502 Bad Gateway response.
2017-07-30 11:06:15 +02:00
Rhys Arkins
8aafdaf182
refactor: Use promise.reject to simulate non-200 responses in github tests ( #559 )
2017-07-30 08:20:19 +02:00
Rhys Arkins
194b5b4b16
fix: Config validation ignore null and massage schedule to array ( #558 )
2017-07-29 22:12:19 +02:00
Rhys Arkins
055cfaf73b
fix: Don’t warn for any getChangeLogJSON errors ( #557 )
2017-07-29 10:29:26 +02:00
Rhys Arkins
7d493a14bf
feat: Log warnings when unknown configuration options or option types found ( #554 )
...
This PR adds detection and log warnings for the following config validation errors:
- Unknown config option (e.g misspelling of a valid config option)
- Config option is a wrong type (e.g. string instead of boolean)
It does *not* propagate this warning to the user (i.e. in onboarding or PRs) yet due to the high chance that we'll find a false negative. I will watch logs for a week or so and then once happy with results will activate user-visible warnings via #556 .
Closes #548 , Closes #555
2017-07-28 21:15:27 +02:00
Ika
3c83075fb8
feat: add 'patch' option to automerge ( #539 )
...
* feat: add 'patch' option to automerge
* test: add tests for automerge = patch
* docs: add patch option to automerge
* refactor(isAutomergeEnabled): write code verbosely
* feat: export isAutomergeEnabled
* test(isAutomergeEnabled): add tests
2017-07-27 22:17:28 +02:00
Rhys Arkins
984b5a89b8
fix(lerna): Use packages path from lerna.json ( #542 )
2017-07-27 22:15:50 +02:00
Rhys Arkins
434def2bf4
fix(lerna): Return empty lerna packages if 404 for packages/* ( #540 )
2017-07-27 14:58:26 +02:00
Rhys Arkins
feffa774d8
feat(lerna): Add lerna support ( #535 )
...
If a `lerna.json` is present in the root of the repository, then Renovate will automatically ignore (i.e. not renovate) all package names found in the `packages/*` path. It does not require an explicit configuration to work.
2017-07-27 09:36:36 +02:00
Rhys Arkins
f866f54a14
fix(github): Return repoForceRebase to main config ( #533 )
2017-07-26 10:56:11 +02:00
Rhys Arkins
cd2b1193ad
fix(github): Use more specific URI when checking branch protection ( #532 )
2017-07-26 08:19:27 +02:00
Rhys Arkins
c4e8b6bf94
fix(npm): Log correct package name when 404 ( #531 )
...
Because we are running Promise.all on package lookups, we were getting some incorrect package names in our log messages.
2017-07-26 08:15:28 +02:00
Rhys Arkins
1eea69f164
fix(github): Gracefully catch 403 response to branch protection ( #530 )
2017-07-26 06:55:25 +02:00
Rhys Arkins
2331d6e840
feat(branch): Check for rebase if repo branch protection is strict ( #527 )
...
We now check branch protection configuration for the repository's base branch to see if branches must be kept up-to-date. If so then we check Renovate branches for rebasing even if rebaseStalePrs is not set to true.
Closes #524
2017-07-25 18:18:19 +02:00
Rhys Arkins
c22fc69785
fix(branch): Add check before rebasing stale PRs ( #526 )
...
We should not rebase stale PRs if they have been edited any anyone. This adds a check from the PR to see if it can be rebased. If no PR then we assume we can - nobody should be editing our branches directly without PR.
Closes #525
2017-07-25 15:07:53 +02:00
Rhys Arkins
beb37bc128
feat(lockFile): Support lockFileMaintenance disabling in env
...
It’s now possible to set `RENOVATE_LOCK_FILE_MAINTENANCE={}` in env to disable lock file maintenance.
Closes #515
2017-07-24 20:56:15 +02:00
Rhys Arkins
d48ba65528
fix(npm): Pass npm version and logger to getLockFile
2017-07-24 08:38:45 +02:00
Rhys Arkins
9af6117386
fix(lockFiles): Pass NODE_ENV=dev to npm and yarn installs
...
Without this setting, it can result in an incomplete `package-lock.json` if renovate is run on a system with NODE_ENV=production set.
Fixes #517
2017-07-24 08:10:42 +02:00
Rhys Arkins
2bd452281f
fix(npm): Run npm install with —ignore-scripts
2017-07-24 06:54:13 +02:00
Rhys Arkins
cd762c7bc6
fix(onboarding): Don’t hyperlink package name if undefined repository URL
2017-07-23 14:25:37 +02:00
Rhys Arkins
ee2a344013
fix(onboarding): Escape scoped npm repos in PR body
...
Uses a zero length space
2017-07-23 14:25:13 +02:00
Rhys Arkins
a39a86c6ba
fix(yarn): Filter out pure-lockfile option from yarnrc
...
A repository with .yarnrc specifying pure-lockfile was preventing our yarn from saving a lockfile too! Now filter it out before writing the yarnrc to our tmp directory.
Closes #507
2017-07-21 10:58:11 +02:00
Rhys Arkins
47044a11e1
feat(yarn): Use embedded yarn version ( #510 )
...
Renovate now uses an embedded yarn binary. This way, the version of yarn used can be known + there is no requirement for Renovate admins to install yarn separately.
2017-07-21 08:47:05 +02:00
Rhys Arkins
89200842f1
fix(yarn): Add —ignore-scripts when generating yarn.lock
...
This should avoid us accidentally trying to “build” anything post-install.
2017-07-20 20:24:11 +02:00
Rhys Arkins
27b443c4a1
fix(onboarding): De-duplicate onboarding branch commits ( #504 )
...
Now checks in case `renovate.json` content is identical and if so then doesn’t unnecessarily re-commit the same file each run.
2017-07-19 17:47:45 +02:00
Rhys Arkins
cadc148cd0
fix(changelog): Check that err.message exists
2017-07-19 08:46:00 +02:00
Rhys Arkins
30155782f5
chore(logs): Ignore start_time log field
2017-07-19 08:41:09 +02:00
Rhys Arkins
8e48d97392
feat(logs): Support custom log detail fields
...
This removes the need to JSON.stringify() objects in logs. Default bunyan fields plus our custom meta fields are stripped out, and everything else is stringified in the details field.
Closes #498
2017-07-19 08:05:26 +02:00
Rhys Arkins
8e7fe1d37b
chore(logger): Reduce some log.warn to debug
2017-07-19 05:55:21 +02:00
Rhys Arkins
475e548e9c
feat(versions): Roll back if current version missing/unpublished ( #497 )
...
If the current version is not in the version list on the npm registry, we assume it has been unpublished and we raise a roll back PR.
Closes #493
2017-07-18 20:01:00 +02:00
Rhys Arkins
8f3f624c22
refactor(npm): Don’t warn twice in logs for dep lookup
...
Closes #496
2017-07-18 16:33:54 +02:00
Rhys Arkins
8666835bc8
fix(repository): Ignore uninitiated repositories
...
Closes #379
2017-07-18 14:31:48 +02:00
Rhys Arkins
f6980b51f2
fix(cleanup): Add pr exists check
2017-07-18 07:48:24 +02:00
Rhys Arkins
4eb20e0e57
refactor(repositoryWorker): Separate token from config
2017-07-18 07:41:19 +02:00
Rhys Arkins
e41c44ea77
fix(prBody): Update PR body link
2017-07-18 07:33:37 +02:00
Rhys Arkins
fdaa88efb1
feat(cleanup): Add specific lock file maintenance cleanup
...
Now cleans up lock file maintenance branch - which is usually scheduled - if it has become unmergeable or pointless.
2017-07-17 16:13:59 +02:00
Rhys Arkins
c73a6c3ce6
fix(cleanup): Call cleanup only once
2017-07-17 16:00:48 +02:00
Rhys Arkins
d59911127b
fix(lockFileMaintenance): Add missing await to branchExists
...
A call to api.branchExists() was missing an await, as a result we were causing errors when yarn lock maintenance had no files to commit.
2017-07-17 15:33:16 +02:00
Rhys Arkins
73df88c473
fix(pr): Prevent accidental hyperlinks in PR body ( #490 )
...
GitHub incorrect assumes these #12345 issue numbers refer to the *local* repo, not the source. Adding ` ` should prevent that auto-hyperlinking.
Closes #489
2017-07-16 18:37:17 +02:00
Rhys Arkins
5f02c91823
refactor(config): Warn instead of error when no repositories found
2017-07-15 06:47:20 +02:00
Rhys Arkins
95f7eab826
feat(onboarding): simplify default config ( #486 )
...
Onboarding PRs now include much less default configuration options than before.
Closes #484
2017-07-14 07:34:01 +02:00
Rhys Arkins
192c9b998c
feat(config): mergeable depTypes ( #485 )
2017-07-13 22:18:24 +02:00
Rhys Arkins
b10bcecade
fix(groups): Assign a groupName to lockFileMaintenance to prevent unwanted grouping
...
Previously, when someone declared a repository groupName such as “All”, it resulted in lock file maintenance updates being grouped together as well. This is undesirable, especially if the All group then inherits the lock file maintenance schedule.
Fixes #483
2017-07-13 13:37:06 +02:00
Rhys Arkins
64e91eed0f
fix(github): Hyperlink issues on GitHub only if private repo ( #479 )
...
Adding hyperlinks to all #12345 issues/PRs in upstream dependencies causes undesirable noise for maintainers of those repositories.
Now, such hyperlinking is done only for private repos as that won’t result in the same GitHub annotations.
Closes #478
2017-07-09 15:13:03 +02:00
Rhys Arkins
93b13b55db
feat(onboarding): Allow branch cleanup after onboarding ( #477 )
...
Refactored location of branch cleanup so that it can be run even if onboarding is enabled.
This means someone can “undo” a closed Configure Renovate and all other PRs would get cleaned up.
2017-07-09 05:35:41 +02:00
Rhys Arkins
b55ba07b47
feat(repository): Ignore package files discovered inside node_modules
...
Renovate will now ignore any package.json files found within node_modules folders, with the option to disable this functionality by setting config.ignoreNodeModules=false.
2017-07-08 07:00:58 +02:00
Rhys Arkins
7a841de7e6
feat(onboarding): dependencies.pinVersions=true for private repos ( #475 )
...
Closes #369
2017-07-08 06:01:02 +02:00
Rhys Arkins
3fa4d9236e
refactor(workers): Rename core function names for readability
2017-07-07 19:44:49 +02:00
Rhys Arkins
1395187ccc
feat(npm): Support packagelock.json maintenance ( #471 )
...
Renovate will now "maintain" npm@5's `package-lock.json` files on the same schedule as existing `yarn.lock` maintenance.
Closes #470
2017-07-07 13:57:43 +02:00
Rhys Arkins
4897d2721f
fix(onboarding): fix typo in description
2017-07-07 12:53:24 +02:00
Rhys Arkins
6bd74c979d
refactor: send config to ensurePr
2017-07-07 12:37:33 +02:00
Rhys Arkins
0e00dc3f83
fix(templates): Set semanticPrefix for Pin Dependencies
2017-07-07 11:16:03 +02:00
Rhys Arkins
d8a054410b
feat(onboarding): Allow update of renovate.json if it’s unmodified ( #469 )
...
This allows for improvements to renovate’s default renovate.json to be passed on to users who haven’t merged or modified their Configure Renovate PR.
Closes #465
2017-07-07 11:09:52 +02:00
Rhys Arkins
fd33996f0f
refactor(onboarding): Update onboarding description ( #468 )
...
Better describe renovate.json and if/when it needs to be added.
2017-07-07 09:53:22 +02:00
Rhys Arkins
06504b4abe
feat(onboarding): conventional commits detection ( #463 )
...
When onboarding, retrieve the most recent commits from the repository and use https://github.com/conventional-changelog/conventional-commits-detector to parse the commit messages to detect if any conventional commit approach is being used.
Closes #462
2017-07-07 07:54:09 +02:00
Rhys Arkins
04e20dce8e
feat: Prune all orphan branches ( #461 )
...
Schedule logic has been refactored to enable the pruning of all orphan branches.
Now, schedules aren't checked at package-time, instead package upgrades are queued regardless of schedule.
At branch time, it is checked whether the *branch* is scheduled and then the branch is not created/updated if it's off-schedule.
This enables the repository worker to know all possible branches and hence be able to determine which remaining branches in the repository are "orphans" to be deleted.
Closes #428 , Closes #426
2017-07-07 06:25:38 +02:00
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