Commit Graph

415 Commits (v10.7.1)

Author SHA1 Message Date
Rhys Arkins 30b82c06a7
fix: gitlab MR bodies should use html () 2017-11-10 09:15:51 +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 c5c6a55c1a
fix: docker separateMajorReleases and groupName ()
Bring docker config support up to npm support.
2017-11-09 20:53:25 +01:00
Rhys Arkins 53b6848061
fix: don’t upgrade docker from unstable to new major unstable ()
Before, if current node version was 7 then Renovate would propose upgrades to versions 8 and 9. However, like with npm we should allow upgrades to unstable only if it’s the same major version or if ignoreUnstable is explicitly set to false.
2017-11-09 10:15:08 +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 0251fad68b
fix: allow multiple whitespace in dockerfile from line () 2017-11-08 14:47:52 +01:00
Rhys Arkins f044aca321 refactor: streamline platform file operations ()
Remove original getFile, getFileContent, and getFileJson and replace with getFile (which used to be getFileContent.. shortened now for convenience). Also remove unused getSubdirectories functions.
2017-11-08 12:23:32 +01:00
Rhys Arkins 00e7821fcb
feat: use mostly markdown for pr bodies ()
Existing solution uses HTML bodies for PR descriptions, as that was the easiest way to get consistency between GitHub and GitLab. However, VSTS supports only markdown so we needed to refactor how this is done. Now, GitHub PR bodies uses only minimal HTML (for summary/details) while GitLab PR bodies are converted to HTML using GitHub flavoured markdown for maximum compatibility. VSTS will be able to strip out the minimal markdown.

Closes 
2017-11-08 11:09:26 +01:00
Rhys Arkins 89e13d05fe
fix: refactor logger addStream and depType logging ()
* fix: refactor logger addstream

* remove depTyp setMeta
2017-11-08 09:59:32 +01:00
Rhys Arkins 8c479071fd
refactor: use global logger () 2017-11-08 06:44:03 +01:00
Rhys Arkins 602752f9fe
refactor: use platform global () 2017-11-07 13:31:34 +01:00
Rhys Arkins f8be45055a
refactor: remove config.api and use platform dispatcher () 2017-11-07 11:46:10 +01:00
Rhys Arkins 35e83b2211
fix: split registry and namespace correctly () 2017-11-06 13:19:41 +01:00
Rhys Arkins 1af60f5158
feat: Support 'AS' names in Dockerfile from line ()
This PR adds support for 'AS' names in Dockerfiles. e.g. `FROM node:8 AS base`. It also adds logic to detect and ignore - for now - any image sources from custom registries.
2017-11-06 11:36:06 +01:00
Rhys Arkins 76a680b98d
fix: add check for Dockerfile content before parsing () 2017-11-05 14:23:20 +01:00
Rhys Arkins edfca74ede
refactor: make common platform public API ()
Refactors file system of platforms and adds test to ensure GitHub and GitLab have same module.exports signatures.
2017-11-05 08:18:20 +01:00
Rhys Arkins f4d0fea6ae
fix: use colon not at when describing existing docker image:tag () 2017-11-05 06:17:16 +01:00
Rhys Arkins 80bed05146
feat: return result from renovateRepository
Repository logic code has been rearranged for better logic and file separation.

Closes 
2017-11-05 05:45:49 +01:00
Rhys Arkins 8c27d97d5d
feat: rebase stale pin branches () 2017-11-03 20:15:44 +01:00
Rhys Arkins d5462049a6
chore: implement require-await eslint rule () 2017-11-03 11:56:25 +01:00
Rhys Arkins dcdfc0d004
fix: refactor pin dependencies first using array.some () 2017-11-03 11:50:57 +01:00
Rhys Arkins 935a70e88c
refactor: use plain markdown for onboarding pr body ()
This PR refactors the onboarding PR logic into its own subdirectory and redesigns it to use plain markdown instead of html. Plain markdown in PR bodies is a requirement for adding VSTS Support (  ).
2017-11-03 10:01:54 +01:00
Rhys Arkins 9769f5a5db
refactor: detectPackageFiles returns packageFiles not config () 2017-11-03 09:25:18 +01:00
Rhys Arkins 9c1b7d78cd
refactor: move monorepos logic to npm manager ()
* refactor: move monorepos logic to npm manager

* fix test
2017-11-03 09:06:42 +01:00
Rhys Arkins 543d93c520
refactor: move migrate-validate to config/ () 2017-11-03 08:25:51 +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 9dd3fd968c
feat: rename mistakenly closed PRs ()
Renovate already detects PRs mistakenly closed during a certain time period when a bug was present. Now, it will rename those so that they are no longer detected and the ignore code does not have to remain indefinitely.
2017-11-03 06:29:29 +01:00
Rhys Arkins 90c3b1cdbd
fix: add gitlab MR labels at time of creation ()
This refactor means that createPr now takes `labels` as a new parameter so that the GitLab API can include them with the MR creation request, so save one API call. This also fixes  as a result.
2017-11-01 13:55:36 +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 1fb8369804 feat: deprecate gitlab apiv3 ()
GitLab is now hardcoded to apiv4 with no detection performed.

BREAKING CHANGE: GitLab API v3 is no longer supported
2017-11-01 13:13:55 +01:00
Rhys Arkins aada8f0b73 feat: support globs in ignorePaths ()
Renovate will now check ignorePaths values for either (a) a string match, or (b) glob pattern. e.g. a string of ‘node_modules/‘ will ignore ‘node_modules/foo/package.json’ and ‘backend/node_modules/foo/package.json’ but it will also ignore ‘not_node_modules/foo/package.json` too. Therefore a blog pattern of `**/node_modules/**` is superior.

Closes 

BREAKING CHANGE: ignorePaths now supports globs and may match more than before, but that’s probably a good thing.
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 2cd741d1df feat: deprecate ignoreFuture configuration option ()
Drop support for (unused) ignoreFuture option.

Closes 

BREAKING CHANGE: Support is removed for ignoreFuture configuration option
2017-11-01 13:13:55 +01:00
Rhys Arkins 56e6bd32b5
refactor: log if repository is a configured fork () 2017-11-01 11:42:20 +01:00
Rhys Arkins 780b3f3175
feat: autodetect js type during runtime ()
This is instead of autodetecting lib or app during onbiarding. This means some package files might be all pinned while others in the same monorepo can be not. This also simplifies the onboarding logic.
2017-10-29 05:15:59 +01:00
Rhys Arkins f3273618b2
fix: add uniqueness to docker-digest pr title ()
Use first 6 chars of sha256 digest in PR title to ensure uniqueness and not block future digest updates.

Closes 
2017-10-27 23:33:55 +02:00
Rhys Arkins f582181504 fix: check day of month in schedule ()
Fixes 
2017-10-25 11:37:05 +02:00
Rhys Arkins 0427604de6 refactor: move language extraction logic to manager ()
* refactor: move docker and meteor extraction to manager

* refactor: move resolve docker logic to manager

* refactor extract config
2017-10-25 10:11:11 +02:00
Rhys Arkins 31e7c8a881 refactor: move languages from branch worker to manager () 2017-10-25 06:48:08 +02:00
Rhys Arkins 7d06bebe2e refactor: push detect dockerfiles to manager ()
* refactor platform

* refactor detect package files

* fix

* refactor npm detect

* refactor meteor detect

* refactor: move detect package files completely to manager

* update snapshots
2017-10-25 06:00:07 +02:00
Rhys Arkins da1ded5344 refactor: move more package worker logic to manager 2017-10-24 15:46:47 +02:00
Rhys Arkins 3b180aa679 refactor: move workers/package/npm to manager/npm/package 2017-10-24 15:46:47 +02:00
Rhys Arkins d134d8b38e refactor: move workers/package/docker to manager/docker/package 2017-10-24 15:46:47 +02:00
Rhys Arkins 3960da6e38 refactor: use manager subdirectory for grouping () 2017-10-24 13:12:44 +02:00
Rhys Arkins a2bdcde8fb fix: check for dockerfile content before processing () 2017-10-24 12:11:37 +02:00
Rhys Arkins fbf0824dd8 refactor: rename lib/api to lib/registry ()
docker and npm
2017-10-24 10:40:47 +02:00
Rhys Arkins 01fedc7e0c refactor: move github and gitlab api to platform () 2017-10-24 10:27:17 +02: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