Commit Graph

76 Commits (v9.43.0)

Author SHA1 Message Date
Rhys Arkins ad40f0abd8 feat: shareable preset configs ()
This PR implements eslint-inspired shareable configs. With this feature, we:
- Add new config option "extends"
  * This is an array of preset config names that the current config or preset extends/inherits from
- Add new config option "description"
  * Each preset config should include a description of its functionality that is human-readable
- Provide a set of commonly use configs called "preset defaults"
- Provide two "full" preset configs: "app" and "library"
   * Almost the same but app pins *all* version numbers while library only pins devdependencies
- Replace regular config in onboarding with one of these two presets
- Generate human-readable description of config in Onboarding PR
- Support npm for hosting configs (both scoped and non-scoped)

Closes , Closes , Closes 
2017-08-18 06:10:19 +02:00
Mike S 54e967d431 docs(faq): update `packageRules` examples ()
- Updated FAQ based on changes in 
    - `packages` -> `packageRules`
2017-08-10 19:14:20 +02:00
Rhys Arkins d7a6bbe367 feat: unpublish-safe status check ()
Renovate now adds a status check renovate/unpublish-safe that has the following behaviour:
If any upgrade in the branch is < 24 hours old then the status check state is "pending"
If all upgrades in the branch are 24 hours or more old then the status check state is "success"
This is able to be disabled via a new option "unpublishSafe".

Closes 
2017-08-06 15:38:10 +02:00
Rhys Arkins 5d6652b4bc fix: remove non-functioning yarn cache folder option () 2017-08-04 16:12:24 +02:00
Rhys Arkins a010d2ce5d docs: update automatic docs () 2017-08-04 15:32:17 +02:00
Rhys Arkins 694f9f43cf docs: update lock file maintenance description in faq () 2017-08-04 14:43:37 +02:00
Rhys Arkins e7ce772e94 feat: Make semanticPrefix implicit in templates ()
No need for {{semanticPrefix}} to be specified in templates now - it will be implicitly added to start of commit message and PR titles if semanticCommits=true
2017-08-04 12:34:42 +02:00
Rhys Arkins 134065c7c7 refactor: use branch prefix in templates ()
This allows for the easy overriding of our default `renovate/` branch naming.

Closes 
2017-08-04 08:32:22 +02:00
Rhys Arkins c3b123a83d feat: Advanced package rules ()
- Renames `packages` to `packageRules`
- Refactor `packageName` to `packageNames` array
- Refactor `packagePattern` to `packagePatterns` array
- Adds `excludePackageNames` array
- Adds `excludePackagePatterns` array

Closes 
2017-08-03 07:55:59 +02:00
Rhys Arkins 8f8a4de69f fix: Schedule should always be an array ()
Massaging of string to array is done in migration function.
2017-08-02 16:14:09 +02:00
Rhys Arkins d2ad057a33 feat: Improve depTypes configuration ()
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 c76222fd53 fix: Validate array objects in configuration () 2017-08-02 07:52:28 +02:00
Rhys Arkins a24ec1f6fc chore: Add patch releases to FAQ () 2017-08-01 17:24:26 +02:00
Rhys Arkins d9d131de6c feat: Full patch separation support ()
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 , Closes 
2017-08-01 17:10:53 +02:00
Ika 3c83075fb8 feat: add 'patch' option to automerge ()
* 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 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 
2017-07-24 20:56:15 +02:00
Rhys Arkins 66194f55c1 chore(docs): Update docs 2017-07-24 20:40:40 +02:00
Rhys Arkins e41c44ea77 fix(prBody): Update PR body link 2017-07-18 07:33:37 +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 dc5773c2e5 feat: Configurable base branch for PRs ()
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 
2017-07-06 10:26:18 +02:00
Rhys Arkins c30472dd43 feat: Add ability to skip status checks for automerge ()
This starts off [](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 48fa9bb923 fix: format json in config table correctly ()
Closes 
2017-07-04 14:29:45 +02:00
Rhys Arkins 4272b113d2 refactor: configuration options and update docs () 2017-07-03 11:34:46 +02:00
Rhys Arkins faa754d136 Use NPM_TOKEN for registry lookup 2017-07-02 20:52:31 +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 

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 6664110c29 feat: schedules ()
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 
2017-06-30 14:04:46 +02:00
Rhys Arkins 01df41086b fix: semanticCommitsEnabled -> semanticCommits 2017-06-30 06:01:50 +02:00
Rhys Arkins 46a4d8ba9d Refactor pin groups ()
* 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 6e12c35da5 Update docs 2017-06-27 15:36:53 +02:00
Rhys Arkins 19f4b3b0bc Refactor repository worker ()
* 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 06cd61e704 Add log to file capability () 2017-06-20 21:34:25 +02:00
Rhys Arkins 112ff0b410 Support branch automerging ()
Add support for automerging without PR, Closes  

* 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 9be60b461f Add configuration faq/guide ()
Closes 
2017-06-05 23:00:01 +02:00
Rhys Arkins 3c1ae808a8 Fix master branch tests ()
* Update docs

* Update yarn.lock
2017-06-03 15:49:34 +02:00
Rhys Arkins 775a93172f Add yarn cache support ()
* Add yarn cache support

Closes 

* Fix prettier
2017-06-03 15:25:13 +02:00
Rhys Arkins 07ad13337b Add GitHub App support ()
* 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 6a0524edb7 Enable templates via env and update design decision doc ()
Closes 
2017-04-29 04:42:17 +02:00
Rhys Arkins e844388e48 Add description of list configuration to docs and CLI help
Closes 
2017-04-26 21:51:14 +02:00
Rhys Arkins 97d2a54561 Add repository autodiscovery ()
Closes 
2017-04-21 07:00:26 +02:00
Rhys Arkins aa3309ffe1 PR Automerging ()
Closes 

* 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 4283fbf7f8 Improve prCreation description 2017-04-20 07:11:45 +02:00
Rhys Arkins ca7b25825d Add PR Creation stage configuration ()
* 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 ()
Closes  

* Support multiple yarn.lock files for maintenance

Closes 

* Refactor maintainYarnLock logic
2017-04-17 04:54:42 +02:00
Rhys Arkins 05be49757c Dependency groups ()
Closes , Closes 

* 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 cad086d242 Add separateMajorReleases config option () 2017-04-15 12:44:50 +02:00
Rhys Arkins c6cbc00b07 Support package-level configuration ()
Closes  

* 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 701aaef972 Support yarn.lock maintenance ()
Closes  

* 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 c1a0366f11 Update docs 2017-04-13 21:25:00 +02:00
singapore a98bd9f476 Update config definition descriptions ()
* Update definitions.js

* Update docs
2017-03-13 10:07:57 +01:00