Commit Graph

122 Commits (v10.31.7)

Author SHA1 Message Date
Rhys Arkins c98faa2b34 refactor: default bazel to enabled 2017-12-14 13:19:30 +01:00
Rhys Arkins 794e149179 refactor: ignore bower_components by default 2017-12-14 06:35:12 +01:00
Rhys Arkins 18c41df5c1
refactor: fix up config definitions ()
- Remove duplicate autodiscover (fixes )
- Remove npm.pin.automerge=true
2017-12-11 22:26:59 +01:00
Rhys Arkins cb8fd6b4ed
feat: fork mode ()
This PR adds the capability to run Renovate in a new "fork mode". This new mode must be configured by the Renovate admin, and cannot be configured within repositories themselves (for now). Example use: `renovate --autodiscover --fork-mode`

In this mode: 
* Renovate will fork the repository if necessary (first run only)
* If the fork already existed, Renovate will ensure that its base branch is up to date with the source repository's
 * Branches will be created within the fork, PRs will be created in the source
2017-12-11 19:14:51 +01:00
Rhys Arkins 5036360658
feat: gitPrivateKey for signed git commits ()
This feature enables signing of git commits on GitHub. To achieve this, Renovate must be configured with a gitPrivateKey in format supported by openpgp. There must also be a gitAuthor configured to enable this feature.

Closes 
2017-12-09 17:56:23 +01:00
Rhys Arkins 70c95add5a
feat: custom git commit author ()
This PR adds the capability to specify a custom author for git commits on GitHub. Setting this field will mean GitHub uses this value for author and commit instead of the token’s identity. For instance if you are running hosted mode you may set the gitAuthor to “Renovate Bot <bot@renovate.com>” to have commits appear as coming from the renovate-bot account.
2017-12-09 17:09:31 +01:00
Rhys Arkins 987891ba2e
feat: bazel WORKSPACE support ()
This PR adds support for bazel WORKSPACE package files, as suggested https://github.com/alexeagle/angular-bazel-example/issues/17#issuecomment-349167982

Renovate will:
1. Detect `WORKSPACE` files anywhere in the repository
2. Look for all `git_repository()` sections in the file
3. Extract any dependencies with name, remote and tag values
4. Look up any dependencies that (a) have a github https remote, and (b) a valid semver as tag
5. Update the tag to the latest available
2017-12-07 09:22:10 +01:00
renovate[bot] 32021a5c13 chore(deps): update dependency prettier to v1.9.1 ()
* chore(deps): update dependency prettier to v1.9.1

* prettier
2017-12-06 13:13:28 +01:00
renovate[bot] 73506f9043 chore(deps): update dependency prettier to v1.9.0 ()
* chore(deps): update dependency prettier to v1.9.0

* run prettier
2017-12-05 11:50:16 +01:00
Rhys Arkins b8dadb718d
feat: travis.yml node_js versions support ()
This PR adds support for renovating the `node_js` versions in `.travis.yml` configuration files. Important notes:
- Functionality is disabled by default and hence opt-in via configuration
- Added a new manager type `node` because it is anticipated to support more than just Travis in future, with mostly unified logic
- Added the config option "policy" with supported values: lts, active, current, lts_latest and lts_active
- Policy is actually an array, to allow additive combining, e.g. `["lts_latest", "current"]`
- Actual node versions are *hardcoded*. There is no perfect metadata source for this and they change infrequently enough that it is definitely not a problem for now (next change will be in April 2018)
- If node versions need updating, they are listed from newest to oldest
- Replacing function attempts to detect the indention (spacing) in file and use that

To enable, configure `node.enabled=true` and optionally `node.policy=["<policy>"]` if you want something other than `lts`.

Closes 
2017-12-05 07:50:16 +01:00
Rhys Arkins 4101fa40a6 chore: enable prettier on markdown files 2017-12-02 20:29:55 +01:00
JYC ab3372d33c feat: copy local packages ()
If we have in a package.json links to some local lib file:../path/to/folder
Then the local lib package.json will be copied to the tmp folder to be able to generate the right yarn lock file. This is not working with tgz files, only folder reference.

Closes 
2017-11-30 06:43:56 +01:00
Rhys Arkins 65a5e90bb7
feat: split semanticPrefix into type and scope 2017-11-24 07:14:58 +01:00
Rhys Arkins 7675f3a9f1
fix: replace singapore/renovate references with renovateapp/renovate () 2017-11-23 14:08:31 +01:00
JYC 8e1dfa111c feat: VSTS - Add Reviewers & Assignees () 2017-11-22 05:12:19 +01:00
Rhys Arkins 1dcc3e4bca docs: regenerate docs () 2017-11-22 04:51:43 +01:00
Rhys Arkins 47d9cabfda chore: regenerate docs () 2017-11-12 07:28:17 +01:00
Rhys Arkins 51cde5d03f
feat: multipleMajorPrs ()
With this PR, Renovate will default to raising only one major PR at a time. e.g. if you have Webpack 1.x then you will get only one major PR for webpack v3 and not also for v2. set multipleMajorPrs=true to get multiple.

Closes 
2017-11-10 04:57:07 +01:00
Rhys Arkins 4cebc7ad64
feat: unstablePattern ()
This adds a configuration option unstablePattern - used only by Docker currently - that can be used to define a regex patternt to identify “unstable” versions.

Closes 
2017-11-08 21:57:34 +01:00
Rhys Arkins 7d0a4afd2a docs: remove platform-specific references () 2017-11-05 08:18:49 +01:00
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