Commit Graph

102 Commits (v10.1.8)

Author SHA1 Message Date
Rhys Arkins 11d7f26cc1
refactor: perform decrypt as part of merge renovate.json ()
Also clarify docs that encrypted config must be contained in renovate.json (i.e. not package.json).
2017-11-03 07:51:44 +01:00
Rhys Arkins 3665021270 docs: update configuration.md for docker pr title () 2017-11-03 07:43:48 +01:00
Rhys Arkins 58784fc958 feat: add renovateFork option
99% of the time we should not Renovate forked repositories. Previously, we skipped onboarding them unless a renovate.json was present. However, that meant that if someone forked a repository where the source was using Renovate, then the fork gets renovated automatically too. After this change, forked repositories need to set renovateFork=true in their renovate.json

Closes 

BREAKING CHANGE: Forked repositories now need to configure renovateFork=true in renovate.json
2017-11-01 13:13:55 +01:00
Rhys Arkins e90c5e55b5 docs: update ignorePaths doc 2017-11-01 13:13:55 +01:00
Rhys Arkins af75504e20 feat: deprecate github app ()
BREAKING CHANGE: GitHub *App* support code has been removed from within this repository.
2017-11-01 13:13:55 +01:00
Rhys Arkins 138d99a04f feat: default lockFileMaintenance to disabled ()
Closes 

BREAKING CHANGE: lock file maintenance is now disabled by default.
2017-11-01 13:13:55 +01:00
Rhys Arkins 950c65f827 feat: default pinVersions to null (autodetect) ()
By defaulting pinVersions to null, this allows Renover to autodetect on a per-package file basis. Users may still manually configure (override autodetection) pinning enabled or disabled via config.

Closes 

BREAKING CHANGE: Renovate will no longer default to pinning versions - instead it will autodetect whether to pin, unless overrided.
2017-11-01 13:13:55 +01:00
Rhys Arkins 85d8466e53 chore: regenerate docs () 2017-11-01 06:22:33 +01:00
Rhys Arkins 435478864e feat: renovate docker tag major/minor versions ()
This feature enables docker tag "upgrading". Examples:
- From `node:6` to `node:8`
- From `node:6.10` to `node:6.11`
- From `node:6.11.1` to `node:6.11.3`
- From `node:6.10-onbuild` to `node:6.11-onbuild`
Currently these are disabled by default so they are opt-in, you can enable them by setting e.g. `{ docker: { minor: { enabled: true }, major: { enabled: true }}`

Closes 
2017-10-24 06:36:52 +02:00
Rhys Arkins 7dd8bf13be refactor: add pinDigests configuration option for docker () 2017-10-24 05:33:03 +02:00
Rhys Arkins db05a259e0 refactor: improve docker pin templates () 2017-10-24 05:24:15 +02:00
Rhys Arkins 798a126ed7 docs: regenerate config reference () 2017-10-24 05:09:21 +02:00
Rhys Arkins 1a174226ed feat: keep branches/PRs updated when out of schedule ()
By default, Renovate will now continue *updating* - but not creating - branches even if off-schedule. This applies to features such as (a) rebasing branches if master changes, (b) updating if new version comes, (c) creating PRs if tests pass, (d) automerging. It is planned that (b) will be configurable in a future feature. To disable this behaviour altogether, set updateNotScheduled to false.

Closes 
2017-10-13 06:42:17 +02:00
Rhys Arkins 83ecc08541 fix: add commitMessage for pin groups ()
Fixes 
2017-10-11 13:10:12 +02:00
Rhys Arkins e03ad98b54 chore: update definitions md file () 2017-10-11 13:04:51 +02:00
Rhys Arkins 8125c772ae feat: ignoreNpmrcFile ()
This feature adds support for ignoring .npmrc files in a repository. Set config option to true if you wish to ignore.

Closes 
2017-09-29 08:22:22 +02:00
Rhys Arkins c59bd372b6 Add meteor and docker info to the FAQ () 2017-09-14 09:51:46 +02:00
Rhys Arkins a88ba0d16a feat: Dockerfile digest support ()
This feature adds initial support for renovating Dockerfiles. Renovate now:
- Detects all `Dockerfile`s in repo
- Searches for `FROM x` in first non-comment line, breaks x into image, tag, digest
- Queries public Docker registry for image:tag combination to find latest digest
- Patches Dockerfile if necessary
- Creates branches/PRs as like with npm

Closes 
2017-09-14 09:31:36 +02:00
Rhys Arkins dd6f3630b6 refactor: move pin config to definitions () 2017-09-13 20:52:07 +02:00
Rhys Arkins 37f3acf657 chore: update docs () 2017-09-13 20:23:09 +02:00
Rhys Arkins d765b34c33 feat: renovate meteor package.js dependencies ()
This feature adds support for renovating Meteor's `package.js` files. Meteor config is disabled by default so must be manually enabled to work. If enabled, Renovate uses GitHub's search API to look for any files named `package.js` that include the text `Npm.depends`. If so then the file is parsed using Regex to extract its dependencies and check them for updates.

Closes 
2017-09-12 09:33:41 +02:00
Rhys Arkins 16d36a15e2 feat: add npmToken, npmrc and yarnrc configuration support ()
Renovate config can now support the fields `npmToken`, `npmrc` and `yarnrc`. `npmrc` and `yarnrc` (note no `.` prefix) can be used as an alternative to checking the respective files into the repo and have the same effect. `npmToken` is a shorter alternative and allows for just the npm token to be added, defaulting to the public npm registry.
2017-08-29 09:25:44 +02:00
Rhys Arkins deac76b015 feat: support timeout for pr creation = not-pending ()
We should not leave the PR unopened forever if the branch remains in not-pending state too long. Some status checks may leave the status as “pending” instead of “failed”. Defaults to 12 hours but is configurable.

Closes 
2017-08-28 11:37:09 +02:00
Rhys Arkins ec1eaa2dd0 feat: convet ignoreNodeModules to ignorePaths ()
The ignoreNodeModules feature is replaced with a generic ignorePaths one and allows any array of strings to be defined and package.json file matching them will be skipped/ignored. Also migrates any existing config/presets.
2017-08-26 21:28:29 +02:00
Rhys Arkins e443e6b848 fix: only migrate 'and' schedule if it includes before and after () 2017-08-23 12:38:47 +02:00
Rhys Arkins b657d3c291 feat: support lock file maintenance automerge ()
Refactored the `automerge` field to change it to boolean. Existing string will be migrated to new config. Automerging lock files is now possible by adding `”lockFileMaintenance”: { ”automerge”: true}` to config.

Closes 
2017-08-21 13:41:48 +02:00
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