Commit graph

1895 commits

Author SHA1 Message Date
Rhys Arkins
cbc29acb61 fix(pipenv): map cache dir into artifacts container 2019-01-27 06:52:23 +01:00
Rhys Arkins
db4dc1a3ba fix(bundler): don’t attempt failed lock files generation repeatedly 2019-01-26 15:33:12 +01:00
Rhys Arkins
f5b3fe1a75 fix(bazel): try archive update if download fails 2019-01-26 06:41:16 +01:00
Rhys Arkins
05ce6de1d3 fix(bundler): catch and warn about missing credentials 2019-01-25 14:51:55 +01:00
Rhys Arkins
d499cb0cd5 fix(docker): skip sources containing variables 2019-01-25 07:02:13 +01:00
Rhys Arkins
10b52cf93b refactor: log lockfileUpdate 2019-01-24 08:46:28 +01:00
Rhys Arkins
62d92660b2
feat: new 'lockfile-update' rangeStrategy (#3108)
Adds a new `rangeStrategy` value `lockfile-update'. Enabling this means you will get PRs that contain updates for the versions in your lock file (currently npm and yarn only) even if the range in the `package.json` file hasn't changed because the update is "in range".

Closes #1382
2019-01-24 06:23:08 +01:00
Rhys Arkins
1ee546b0ea feat(bundler): use ruby and bundler versions to update lock files 2019-01-21 14:50:30 +01:00
Rhys Arkins
8dfca59c04 feat(bundler): extract bundler compatibility from Gemfile.lock 2019-01-21 13:10:58 +01:00
Rhys Arkins
e02ffbdc60 feat(bunder): extract ruby compatibiity version 2019-01-21 13:10:56 +01:00
Rhys Arkins
00ff3d6385 tests: fix lint 2019-01-15 09:46:01 +01:00
Rhys Arkins
3a515cd467 fix(logs): don’t debug whole configs 2019-01-15 09:33:24 +01:00
Rhys Arkins
ba77d4a0e7
feat(bundler): extract, update, artifacts (#3058)
This completes the work of adding basic Ruby/Bundler support to Renovate. It will now find all Gemfiles in a repository, extract dependencies from them, look up results on Rubygems, and raise PRs if updates are found.

Closes #932
2019-01-14 06:52:13 +01:00
Rhys Arkins
76b34ac42e fix(nvm): node versioning, not semver 2019-01-11 10:21:27 +01:00
Rhys Arkins
37998efb16 fix(gradle-wrapper): don’t insert distributionSha256Sum
Fixes https://github.com/renovatebot/config-help/issues/139
2019-01-10 06:33:37 +01:00
Jan Sauer
1fb755c89c feat: gradle-wrapper (#3038)
Adds support for updating the gradle version used in a project via the gradle-wrapper.
See https://docs.gradle.org/current/userguide/gradle_wrapper.html
2019-01-09 12:50:53 +01:00
Rhys Arkins
983f38b26c chore: alphabetize 2019-01-08 05:04:20 +01:00
Rhys Arkins
6d09535c9f
feat: split out npm versioning from semver (#3023)
Closes #2069
2019-01-07 05:49:47 +01:00
Fedorets Alex
ef24694dc8 docs: add maven readme (#2999) 2019-01-06 20:44:39 +01:00
Rhys Arkins
55257fff26
feat: centralise app strings (#3032) 2019-01-06 14:47:42 +01:00
Rhys Arkins
c84417ddf1 fix(terraform): extract registry 2019-01-05 18:57:40 +01:00
Rhys Arkins
9202056f1f fix(pipenv): exposeEnv -> trustLevel 2019-01-05 18:42:13 +01:00
Rhys Arkins
4b38793471 refactor: trustLevel 2019-01-05 09:16:32 +01:00
Rhys Arkins
56d55fb1dc feat: node versioning
Very basic at first. A slim wrapper around npm semver that normalizes versions.
2019-01-04 12:41:22 +01:00
Rhys Arkins
738408b728 refactor: semver-hashicorp -> hashicorp 2019-01-03 08:41:59 +02:00
Rhys Arkins
7fb377ebad refactor: semver-composer -> composer 2019-01-03 08:32:44 +02:00
Fedor Lukyanov
6a2c6cf92e docs: bundler readme (#2980) 2019-01-03 07:29:50 +02:00
Rhys Arkins
55875476a8 refactor: sanitize -> normalize 2018-12-26 07:07:01 +02:00
Jan Sauer
ca8eafcfbc feat: Add new ansible manager (#2947)
Updates docker dependencies in ansible playbooks.

- https://docs.ansible.com/ansible/latest/user_guide/playbooks_best_practices.html#directory-layout
- https://docs.ansible.com/ansible/2.5/modules/docker_container_module.html
- https://docs.ansible.com/ansible/latest/modules/docker_service_module.html
2018-12-18 11:18:27 +01:00
Rhys Arkins
7d4cd7ca60
feat: circleci orb support (#2955)
Closes #2950
2018-12-16 14:32:11 +01:00
Rhys Arkins
079afe1820
feat: configurable versionScheme (#2945)
Closes #2914
2018-12-13 05:29:11 +01:00
Rhys Arkins
2627a1f2e4 refactor(gradle): lower logging on errors 2018-12-12 11:36:07 +01:00
Rhys Arkins
ad924f1c28 refactor: trace extract, not debug 2018-12-11 22:44:45 +01:00
Rhys Arkins
772bc17603 refactor: repositoryUrl -> sourceUrl 2018-12-10 05:59:28 +01:00
Rhys Arkins
e190851f8e
feat(docker): use whole tag as currentValue (#2922) 2018-12-10 04:26:14 +01:00
Rhys Arkins
846c16529d
refactor: versioning require (#2915)
Simplify when statically selected
2018-12-08 15:51:34 +01:00
Rhys Arkins
4e315c839e feat(pip): support getRangeStrategy
pin dependencies in requirements.txt if set to rangeStrategy=auto

Closes #2680
2018-12-05 09:36:48 +01:00
Rhys Arkins
0686fd5426 refactor(pip): increase setup.py timeout to 5000 2018-12-03 12:49:54 +01:00
Rhys Arkins
8a77914e86 fix(buildkite): handle arrays 2018-11-29 12:38:32 +01:00
Grigorij Eleskin
0b6ad1c898 fix(gomod): support remote option in go_repository (#2877) 2018-11-29 08:39:45 +01:00
Rhys Arkins
ea37301301
docs: start off bundler readme.md (#2867) 2018-11-27 07:40:24 +01:00
Sam Bull
bed39f10ed feat: Support pipenv (#2623)
Add support for pipenv as a manager. Disabled by default (needs opt-in) until out of beta.

Closes #2212
2018-11-23 07:58:25 +01:00
Rhys Arkins
485f06c23b chore: fix bundler ordering in file 2018-11-22 06:55:28 +01:00
Rhys Arkins
ebfa90d40d
feat: add ruby/bundler skeleton (#2852) 2018-11-20 19:16:13 +01:00
Rhys Arkins
cd8d073825
docs: init manager readmes (#2844) 2018-11-20 10:31:03 +01:00
Rhys Arkins
27aa59f5bc fix(bazel): better PR change description 2018-11-19 07:18:13 +01:00
Rhys Arkins
4df7e32cc5 feat(bazel): migrate commits to tags 2018-11-18 22:27:20 +01:00
Rhys Arkins
e6ef42d027 chore: fix log 2018-11-17 08:25:02 +01:00
FidoX
2332615ef8 feat: Support updating gradle global variables (#2779) 2018-11-16 17:56:59 +01:00
Rhys Arkins
db0efdf053 feat: trustLevel
New config option replaces existing option exposeEnv. Set trustLevel=high in the bot config if you trust the contents of the repositories you are renovating. Doing so results in env being exposed, access to localhost, etc.

Closes #2739
2018-11-16 12:16:37 +01:00
Ayoub Kaanich
08d22eba50 feat: Support setup.py files (#2805) 2018-11-15 18:42:01 +01:00
Ayoub Kaanich
7d31af5ecb feat: Support Bazel commit-based go_repository (#2821)
Closes #2806
2018-11-14 13:11:35 +01:00
Ayoub Kaanich
b48173a039 feat: Support go_repository in bazel (#2782) 2018-11-10 21:50:17 +01:00
Rhys Arkins
45da51aa6d refactor: add cargo skeleton
Begins #1870
2018-11-09 14:22:11 +01:00
Ayoub Kaanich
48278ad247 fix(pip): requirements.txt extras (#2773) 2018-11-09 13:51:23 +01:00
Rhys Arkins
9292833ecf
refactor: extractAllFiles (#2741) 2018-11-05 07:47:44 +01:00
Rhys Arkins
44d119823f refactor: rename extractDependencies -> extractPackageFile 2018-11-04 18:51:23 +01:00
Rhys Arkins
17701f2fa2 feat: update node.js releases 2018-11-02 08:33:53 +01:00
Ayoub Kaanich
483702b8af feat: Support pip_requirements extras 2018-11-02 06:36:38 +01:00
Ayoub Kaanich
c6e4379715 refactor: gomod purl (#2729)
<!--
    Before submitting a Pull Request, please ensure you have signed the CLA using this GitHub App:
    https://cla-assistant.io/renovateapp/renovate
-->

<!-- Replace this text with a description of what this PR fixes or adds -->

Closes #2725 <!-- Ideally each PR should be closing an open issue -->
2018-11-02 06:22:42 +01:00
FidoX
be65176dc4 feat: gradle support (#2610)
Closes #934
2018-10-29 17:32:31 +01:00
Ayoub Kaanich
751ee3b4de feat(bazel): Support bazel "urls" array (#2703)
Closes #2576
2018-10-29 17:18:07 +01:00
Ayoub Kaanich
9295efecdd fix(docker): skip index reference COPY --from tags (#2699) 2018-10-28 08:30:28 +01:00
Rhys Arkins
2dbab991a6 fix(monorepo): allow string packages 2018-10-26 07:10:29 +02:00
Rhys Arkins
f97de73e8d chore: rename composer const 2018-10-23 06:50:24 +02:00
Rhys Arkins
2b1e8357ef
feat(composer): auto pin project requires (#2682)
Pins require packages if type=project and rangeStrategy=auto.

Closes #2678
2018-10-23 06:40:35 +02:00
Rhys Arkins
ce8926a003
feat: pip requirements.txt ignore (#2676)
Adds support for “# renovate: ignore” command in requirements.txt files.
2018-10-23 06:09:33 +02:00
Rhys Arkins
790e74f036 fix(yarn): support resolutions glob syntax
Closes #2670
2018-10-22 11:08:07 +02:00
James King
f46f3f43af fix(composer): Add GitLab token to composer. (#2661)
Closes #2660
2018-10-18 12:28:02 +02:00
Rhys Arkins
f5c64a32c2 fix(composer): don’t warn for non-null registryUrls 2018-10-18 05:59:28 +02:00
Rhys Arkins
85dd6b02db feat(composer): support auto rangeStrategy 2018-10-18 04:28:10 +02:00
Rhys Arkins
da85c8f892 fix(composer): catch non-array registryUrls 2018-10-17 12:50:41 +02:00
Rhys Arkins
5a85e67b2e fix(npm): don’t error if no dependencies in lock file 2018-10-17 12:33:58 +02:00
Rhys Arkins
95b44d773d fix(gomod): CGO_ENABLED=0 2018-10-17 12:12:51 +02:00
Rhys Arkins
148126859d fix(terraform): handle whitespace better in replace 2018-10-17 06:38:41 +02:00
Rhys Arkins
f71ee0ef9f refactor: lower debugging 2018-10-17 06:04:39 +02:00
Rhys Arkins
956d198f89 fix(composer): handle non-array repositories 2018-10-16 06:33:42 +02:00
Rhys Arkins
b7123806f4 fix(npm): drop Host key verification check 2018-10-16 05:25:29 +02:00
Rhys Arkins
0f1710faf8
feat(composer): custom registries and basic auth (#2650)
Adds support for custom Packagist registries.

- [x] Support dynamic packages.json interface for wpackagist.org
- [x] Support static packages.json for satis
- [x] Support basic auth using hostRules
- [x] Write basic auth to `auth.json`

Closes #2574, Closes #2354
2018-10-16 04:52:57 +02:00
Rhys Arkins
50ba8473f7 refactor: lower debug logging 2018-10-15 09:21:57 +02:00
Rhys Arkins
10f4f42be0 fix(npm): skip non-string values
Closes https://github.com/renovatebot/config-help/issues/113
2018-10-14 21:11:50 +02:00
Rhys Arkins
6d681d5b64 fix(composer): extract repositories into registryUrls 2018-10-14 06:46:17 +02:00
Rhys Arkins
6fc40ad4f4 refactor: default skipInstalls to null
This allows users to control true/false explicitly via config.

Related: #2647
2018-10-12 20:00:49 +02:00
Rhys Arkins
2a3e1b8185 refactor(gomod): use renovate/go image 2018-10-11 16:13:24 +02:00
Rhys Arkins
9c74e93a27 refactor(composer): use renovate/composer docker image 2018-10-11 16:00:33 +02:00
James King
6b191b16a9 fix(composer): global hanging due to script / autoloader errors (#2626)
Make sure no scripts or autoloader or interactivity is set when updating composer dependencies to stop issues with PHP frameworks.

Closes #2625
2018-10-09 16:11:51 +02:00
Rhys Arkins
0cb302f907 fix(terraform): handle no source 2018-10-07 07:26:42 +02:00
Rhys Arkins
f67e34739b fix(terraform): skip tf files with only local modules 2018-10-06 19:33:42 +02:00
Rhys Arkins
8d99c9b8b8 fix(terraform): skip local references 2018-10-06 14:45:32 +02:00
Rhys Arkins
1abad41beb
feat: terraform support (#2606)
Adds terraform support for github sources with semver refs as well as fixed and ranged versions of Terraform registry modules.

Closes #1860
2018-10-06 13:39:39 +02:00
Rhys Arkins
9551ed75c0 feat(gomod): strip relative replace statements
Closes #2596
2018-10-05 12:34:51 +02:00
Rhys Arkins
04f89843b1 fix(gomod): handle quoted dependencies 2018-10-02 18:49:00 +02:00
Rhys Arkins
45339b778e refactor: log integrity switching 2018-10-02 16:32:12 +02:00
Rhys Arkins
8597f16ba9 fix(golang): skip digest updates if real versions exists 2018-10-02 14:20:24 +02:00
Rhys Arkins
924efa837f fix(gomod): no infinite major updates 2018-10-02 14:08:37 +02:00
Rhys Arkins
e790af89d1
feat(golang): support major version updates (#2590)
Adds capability to upgrade major versions of Go Modules. Includes special handling for gopkg.in modules.

Closes #2583
2018-10-02 13:18:49 +02:00
Rhys Arkins
caa972f1ab fix(golang): throw lock file error for go.sum 2018-10-02 12:44:56 +02:00
Rhys Arkins
6714a03b9b fix(yarn): write yarn.lock only once 2018-10-02 12:14:42 +02:00
Rhys Arkins
88371ea750 fix(lerna): call yarn directly
Closes #2589
2018-10-02 12:04:43 +02:00
Rhys Arkins
99df4f0f31 feat(golang): digest updates
Adds support to update dependencies that have pseudo-versions like v0.0.0-20140422174119-9fd32a8b3d3d.
2018-10-02 10:34:37 +02:00
Rhys Arkins
6595cfb3ca fix(composer): ensure vendor dir exists 2018-10-01 20:59:09 +02:00
Rhys Arkins
b7f1002774 feat(composer): pass lock file errors to PR comment
Instead of aborting PR when lock file errors happen, raise the PR with PR comment instead (like with npm/yarn).
2018-10-01 18:15:06 +02:00
Rhys Arkins
281507e421 refactor: getArtifacts return nested object 2018-10-01 16:29:50 +02:00
Rhys Arkins
80eaf9d89b fix(composer): skip PR if unmet requirements
Closes #2587
2018-10-01 15:59:07 +02:00
Rhys Arkins
2107ae1948 fix: rename go -> golang 2018-10-01 14:05:40 +02:00
Rhys Arkins
f4210631c0
feat: go modules support (#2584)
Adds support for updating go modules (found in go.mod) and the accompanying go.sum checksum files.

Limitations:

- github.com modules only (but supports "redirects" to github e.g. by gopkg.in and golang.org)
- skips major upgrades > v1
- no vendoring support

Closes #933, Closes #2578, Closes #2579
2018-10-01 13:50:36 +02:00
Rhys Arkins
a49a58c5f0 refactor: getLockFile -> getArtifacts 2018-09-30 10:10:42 +02:00
Rhys Arkins
281de8979e feat(composer): use docker cli for binarySource 2018-09-28 14:55:14 +02:00
Rhys Arkins
dbe30501bf fix(yarn): prepend nested path with node 2018-09-27 13:18:53 +02:00
Rhys Arkins
ec27dee005 fix: check for installed renovate bundled yarn 2018-09-27 13:01:33 +02:00
Rhys Arkins
c980fa1e13 fix: bundle yarn binary instead of aliasing 2018-09-27 12:35:05 +02:00
Rhys Arkins
1a209989bc
feat: yarn integrity switching (#2567)
Detects if `yarn.lock` contains `integrity` fields already and if so then runs `yarn` using v1.10.1 instead of the default v1.9.4.
2018-09-27 11:30:04 +02:00
Rhys Arkins
1135b02252 fix(composer): autoremove, fix tests 2018-09-25 12:14:02 +02:00
Rhys Arkins
705c57416a fix(composer): pass cache dir to docker 2018-09-25 11:35:16 +02:00
Rhys Arkins
1dd4c8ce76 fix(yarn): check binarySource=global 2018-09-25 11:18:15 +02:00
Rhys Arkins
75d07170cb feat(composer): support docker install 2018-09-25 10:31:07 +02:00
Rhys Arkins
912ff2846a refactor(composer): don’t delete scripts before install 2018-09-25 09:03:01 +02:00
Rhys Arkins
150dfa8a5d refactor(composer): use cache dir 2018-09-25 09:03:01 +02:00
Rhys Arkins
804484ed0f refactor: change npm/yarn cache dirs 2018-09-24 13:10:09 +02:00
Rhys Arkins
9d46ca6dbd refactor: lower log levels 2018-09-23 07:26:06 +02:00
Rhys Arkins
19a77f8901 fix(npm): force package-lock.json update when widening
Removes dependency record from package-lock.json before running “npm install” to ensure the latest version is installed.

Closes #2480
2018-09-22 18:17:49 +02:00
Rhys Arkins
fc9037a270 logs: correct depName/dependency 2018-09-20 12:13:18 +02:00
Rhys Arkins
4b3c2d23ac
feat: combine tmp storage (#2533)
Renovate will now put all its data in `path.join(os.tmpdir(), '/renovate’);` and will instruct npm and yarn to do the same. To force Renovate to use a specific folder, set `process.env.TMPDIR` when running. The previous variable `RENOVATE_TMPDIR` is now deprecated and will be rewritten to TMPDIR.

Closes #1794
2018-09-18 05:26:09 +02:00
Rhys Arkins
b29ea46f8b feat: bumpVersion mirror 2018-09-17 12:45:05 +02:00
Rhys Arkins
eeae416ac9
feat(npm): support git digest updates (#2528)
Adds support for renovating git references in `package.json` files. Supports updating semver tags or sha1 references ("commit hashes").

Also includes support for updating git references from *private* GitHub repositories, if the following conditions are met:
- Renovate user/token is authorised to read from the source private repository
- Dependency is written like `git+https://github.com/owner/repo.git#ref` in `package.json`

Closes #415, Closes #817
2018-09-17 11:18:18 +02:00
Rhys Arkins
c2eb51df54 feat(npm): support long git references
Part of #415
2018-09-17 10:55:27 +02:00
Rhys Arkins
c0eee811b2 refactor(npm): git ref semvers 2018-09-15 18:11:03 +02:00
Rhys Arkins
e7418b27a0 fix(npm): correct skipInstalls logic to consider config 2018-09-15 18:09:10 +02:00
Rhys Arkins
bad9c0770c refactor(npm): separate getDependency function 2018-09-15 18:01:11 +02:00
Rhys Arkins
e517a985c6 fix(npm): valid github owner/repo when extracting 2018-09-15 17:24:54 +02:00
Rhys Arkins
acf512a4ff feat: github semver tag support for npm
Detects github repos in package.json and keeps them up to date if they are using semver tags, e.g. `”github:gulpjs/gulp#v4.0.0-alpha.2”` will get updated to `”github:gulpjs/gulp#v4.0.0”`.

Part of #415 but not closing it yet.
2018-09-15 15:18:18 +02:00
Rhys Arkins
598d57c315 feat: binarySource
Defaulting to ‘bundled’ (default behaviour), this option can be changed to ‘global’ if you wish Renovate to use globally installed npm, yarn, pnpm and lerna binaries. Note: composer always uses global regardless.
2018-09-14 20:38:52 +02:00
Rhys Arkins
6feda1fd25 fix(lerna): detect changed lock files properly
Closes #2519
2018-09-14 06:07:53 +02:00
Rhys Arkins
f8cf83380f
refactor: endpoints -> hostRules (#2509)
Renames `endpoints` to `hostRules`
2018-09-12 12:16:17 +02:00
Rhys Arkins
dda0bade29
refactor: use single localDir per repo (#2505) 2018-09-12 06:30:01 +02:00
Rhys Arkins
bf7bb5a845 fix(npm): default lockfile value 2018-09-12 06:09:32 +02:00
Rhys Arkins
57fbdf7e57 fix(yarn): update resolutions in all cases 2018-09-11 05:25:54 +02:00
Rhys Arkins
d822d4491b refactor(composer): gitfs lockfiles in-place 2018-09-10 21:23:56 +02:00
Rhys Arkins
2ce75cdbf1 refactor(composer): reuse localDir for lockfile generation 2018-09-10 15:58:24 +02:00
Rhys Arkins
6bd41d3541 refactor(composer): use nested cwd 2018-09-10 15:32:41 +02:00
Rhys Arkins
69a7ff697c refactor(composer): better variable names 2018-09-10 15:32:41 +02:00
Rhys Arkins
b20dde2d53 fix: handle grouped monorepo lockFileMaintenance branches 2018-09-10 09:48:20 +02:00
Rhys Arkins
11c6be8fba refactor: deprecate copyLocalLibs
This can/should be enabled by default now.
2018-09-10 09:38:03 +02:00
Rhys Arkins
ccffdaf712 fix: throw error up if no disk space 2018-09-08 07:16:05 +02:00
Rhys Arkins
81818195b7 refactor: separate lockFileMaintenance per-package file
Closes #2464
2018-09-07 09:26:43 +02:00
Rhys Arkins
6ed4b80bd9 fix: update languageList in manager 2018-09-07 08:44:31 +02:00
Rhys Arkins
4539487d26 refactor: less logging 2018-09-05 14:18:31 +02:00
Rhys Arkins
ed0bb8760e fix(yarn): throw errors when registry down
Detect strings in `yarn` `stderr` that indicate a registry problem and if found then throw a `registry-failure` error instead of continuing with a PR creation or update. This way they should be retried on each run until the registry is available again.

Closes #2474, Closes #2475
2018-09-04 18:06:07 +02:00
Maximilian Gaß
ff19fb4478 fix(kubernetes): Fix updating of image in YAML array (#2435)
Follow up to #2434, this lets Renovate actually update those image lines
2018-08-27 16:24:58 +02:00
Maximilian Gaß
515cec28cb fix(kubernetes): support image line in a YAML array (#2434)
Renovate did not recognize images where "image" was the first key in the YAML mapping inside the YAMl container list/array
2018-08-27 13:16:51 +02:00
Rhys Arkins
08b44a062a chore: rename packageFile/fileName in extract 2018-08-24 17:49:32 +02:00
Rhys Arkins
d4aec0ff76 feat(npm): perform full install if file: references found
npm’s —package-lock-only implementation seems to have a bug and produces incorrect lock files when file: references are present. If file: dependencies are detected, skipInstalls is set to false.

Closes #2401
2018-08-17 08:22:41 +02:00
Maximilian Gaß
7a1418ad6f fix(docker): exclude calico/node from being marked as Node.js (#2397)
fix(docker): exclude calico/node from being marked as Node.js
2018-08-16 15:46:19 +02:00
Rhys Arkins
a80173d898 fix(npm): ignore scripts on full install 2018-08-15 17:27:40 +02:00
Rhys Arkins
d0ec341e15
feat: skipInstalls (#2390)
Adds new admin option “skipInstalls” that is applicable for npm-only for now (including lerna-npm). If set to false, Renovate will perform a full install of modules rather than `—package-lock-only`. This is necessary in some cases to work around bugs in npm.

Self-hosted bot users can set this option themselves on the bot’s config, but app users will require it to be enabled per-repository by the app admin.
2018-08-15 17:13:07 +02:00
Maximilian Gaß
52a8da89fa feat(docker): Add support for COPY --from lines (#2368)
COPY --from= can specify external images. Add support to renovate them.
2018-08-11 11:27:18 +02:00
Rhys Arkins
103d8fbf68
feat: prettyDepType (#2376)
Adds field prettyDepType available for templates, currently used for npm only. Allows for PR titles like “Update devDependency left-pad to v1.3.0” instead of default “Update dependency left-pad to v1.3.0”.

To enable in PR titles: add this configuration: `"commitMessageTopic": "{{prettyDepType}} {{depName}}”`

This is not enabled by default as otherwise it could lead to the reopening of previously manually-closed PRs.

Closes #2371, Closes #1863
2018-08-11 11:24:38 +02:00
Rhys Arkins
47e79912bc feat(composer): write auth.json before generating lock file
Supports github.com only
2018-08-06 20:21:57 +02:00
Rhys Arkins
85dafee812 refactor(composer): rename newPackageFileParsed 2018-08-06 16:34:34 +02:00
Rhys Arkins
a77a35e42c fix(composer): remove scripts from composer.json 2018-08-06 16:27:57 +02:00
Rhys Arkins
7453ea18e4 fix(composer): --ignore-platform-reqs 2018-08-06 16:19:14 +02:00
Rhys Arkins
1420443242 fix(meteor): match only clean Npm.depends 2018-08-06 08:20:06 +02:00
Maximilian Gaß
4a3ed1dd6b feat: Implement Kubernetes manager (#2341)
Add support for renovating Docker images in Kubernetes manifests
2018-08-04 08:04:11 +02:00
Rhys Arkins
31f2f4c610 refactor: rename getDependency to getPkgReleases 2018-07-29 16:04:00 +02:00
Mathias Schreck
4868a0e9d9 fix: strip yarn-path option from yarnrc (#2311)
Removing the `yarn-path` option from `yarnrc` makes sure that renovate always uses its bundled version of `yarn`.

Closes #2310
2018-07-26 16:18:37 +02:00
Rhys Arkins
efff72a5e1 chore: fix lint 2018-07-22 09:39:35 +02:00
Rhys Arkins
250c4d8162 feat(npm): ignore vendorised package.json files
Closes #2291
2018-07-22 09:29:19 +02:00
Rhys Arkins
37b1c8f0de
feat: gitlabci.yml support (#1744)
Adds support for .gitlabci.yml files. Part of the logic is same as Docker Compose files, however the “services” list is new/different so requires additional logic.

Closes #1598
2018-07-22 06:33:11 +02:00
Rhys Arkins
91215af1ba refactor(js): use language ‘js’ for npm and meteor 2018-07-21 21:28:38 +02:00
Rhys Arkins
a0e2a18e7a
refactor(docker): rename docker manager to dockerfile (#2298)
"docker" in config now refers to the Docker "language", which is the parent of dockerfile, docker-compose and circleci managers.
2018-07-21 19:40:50 +02:00
Rhys Arkins
2b0cfd436e refactor(docker): don’t include language in extract 2018-07-21 09:38:12 +02:00
Rhys Arkins
d2e1bc38e4 refactor(docker): remove unused exports 2018-07-21 09:34:27 +02:00
Rhys Arkins
03b7bc40ff refactor(circleci): use docker extract 2018-07-21 09:07:11 +02:00
Rhys Arkins
8a116f9ab5 refactor(docker-compose): use docker extract 2018-07-21 09:03:49 +02:00
Rhys Arkins
8175f363b7 refactor: docker.getDep 2018-07-21 09:00:31 +02:00
Rhys Arkins
7254b5f16c
feat: use generic lookup for docker (#2280)
Removes custom Docker lookup code and instead integrates it with the generic lookup routine used by other package managers. Logic for digest support was added but is used by Docker-only for now.

Closes #2081, Closes #2276
2018-07-20 09:09:01 +02:00
Rhys Arkins
c4389cb11b
feat(composer): composer.lock support (#2255)
Adds logic to support updating the accompanying `composer.lock` file whenever `composer.json` is updated.

Closes #2098
2018-07-19 09:14:34 +02:00
Rhys Arkins
cddd9cd858 feat: raise prs with lock file warning
Raises PRs and includes warning if lock file updates fail and release timestamp is greater than a day old.

Closes #2233
2018-07-14 08:14:02 +02:00
Rhys Arkins
ca23927735 feat: pin PRs should only block necessary PRs
Previously if there were any “pin” updates then that would block all non-pin updates until the pin one was merged. However, this doesn’t make sense if the other PR is for an unrelated dependency.

Closes https://github.com/renovatebot/config-help/issues/64
2018-07-13 06:48:52 +02:00
Rhys Arkins
11c4741271 refactor: fix import order 2018-07-09 11:15:06 +02:00
Rhys Arkins
5ea6955aac fix: don’t reuse lock files in branch if any updates are lock file maintenance 2018-07-05 12:06:55 +02:00
Rhys Arkins
517de6f545
feat: repositoryUrls (#2221)
Adds config option repositoryUrls which can be used by pip to define an alternate host to pypi.

Closes #2181
2018-07-05 11:33:50 +02:00
Rhys Arkins
07b652507b refactor: remove unused contentPatterns
Closes #2168
2018-07-04 22:40:06 +02:00
Rhys Arkins
cd9adf76b5 refactor: RENOVATE_REUSE_PACKAGE_LOCK
Attempted workaround for #1984
2018-07-04 19:20:34 +02:00
Rhys Arkins
fb6271e4f7 refactor: rename update.type -> update.updateType 2018-07-04 10:11:53 +02:00
Rhys Arkins
17f54934e2 refactor: remove unused nuget.getPackageUpdates 2018-07-04 10:04:52 +02:00
Rhys Arkins
41efc97e60 fix(docker): harden currentValue check 2018-06-29 17:50:29 +02:00
Rhys Arkins
6ad0aba860 tests: fix coverage 2018-06-29 17:44:17 +02:00
Rhys Arkins
7be16a4fd5 fix(docker): update Dockerfile by line number 2018-06-29 17:17:52 +02:00
Rhys Arkins
02b79b96b0 refactor(docker): set newValue to version not version-suffix 2018-06-29 17:15:27 +02:00
Rhys Arkins
103f54402e refactor(docker): extract Dockerfile line by line 2018-06-29 15:54:13 +02:00
Rhys Arkins
1eaf512710 refactor(docker): use extracted value and suffix 2018-06-29 15:18:43 +02:00
Rhys Arkins
c25e979aad refactor: push docker suffix filter to datasource 2018-06-29 14:28:24 +02:00
Rhys Arkins
0fb704ff29 refactor(docker): rename currentPlatform to tagSuffix 2018-06-29 14:09:59 +02:00
Rhys Arkins
ebfb97ba78
refactor: use docker versioning (#2195) 2018-06-29 12:59:15 +02:00
Rhys Arkins
511fef8135 refactor: use docker versioning
Initially docker versioning is just a node semver wrapper, but it will later be expanded with custom support for docker-specific version tags.
2018-06-29 09:02:49 +02:00
Rhys Arkins
01ccb03b94 feat: massage docker Node.js branches
Manually finds and massages node updates in Docker, Docker Compose and Circle CI so that they should take on the same “renovate/node-8.x” style branch naming. The goal is to unify all node updates into a single branch.
2018-06-29 06:55:42 +02:00
Rhys Arkins
25a35b871d fix(npm): set lockedVersion only if valid semver 2018-06-29 06:31:12 +02:00
Rhys Arkins
46bc8d0068 fix: restore lockFile set for lerna 2018-06-28 13:41:11 +02:00
Rhys Arkins
ae62215936 feat(npm): lerna lockFile maintenance
Adds support for lock file maintenance when lerna is in use.

Closes #1974
2018-06-28 12:33:45 +02:00
Rhys Arkins
a3043c47ec feat: log warning if lock file error persists for 1 day
Raises an additional log file warning whenever lock file errors persist for a day or longer. The idea of this is that temporary errors - e.g. caused by npmjs itself - should not disturb the user. 1 day seems like a reasonable time for multiple attemps to be made first, assuming it has been scheduled. Once this is tested in production for a little while and no unexpected problems, it will be converted to actually raise a config warning issue in the repo to get user attention.
2018-06-28 10:17:17 +02:00
Rhys Arkins
dca7eb6983 fix: match against non-starred workspaces packages
Previously we were missing out cases like `app/package.json` if the workspaces packages were defined like `[“packages/*”, “app/“]`.

Fixes #2186
2018-06-27 14:22:45 +02:00
Rhys Arkins
0e123661cd fix(pip): enable non-equals package patterns 2018-06-25 11:24:59 +02:00
Rhys Arkins
ec5ac5fbf6 logs: lower npm.update debugs to trace 2018-06-22 22:39:21 +02:00
Ayoub Kaanich
e0ebf03e5a feat: PEP440 ranges (#2137)
Closes #2085
2018-06-19 13:32:05 +02:00
Rhys Arkins
124807974a feat(nuget): support changelogs
Refactors nuget lookups to use generatic logic and fill in repositoryUrl to enable changelogs.
2018-06-14 15:52:37 +02:00
Sam Neirinck
87575f49a3 feat: nuget support
Adds basic support for renovating C# project files. The scope is initially limited to:

- .Csproj only (no VB.NET / F#)
- SDK style csproj's only (this is the default in .net core anyway)
- Limited to nuget.org support (no custom repository support)

Closes #935, Closes #2050
2018-06-14 11:17:14 +02:00
Rhys Arkins
a60c210076 fix(docker): extract Dockerfile FROM on adjacent lines 2018-06-13 10:25:42 +02:00
Rhys Arkins
688ec14b6a refactor: datasource return array of releases 2018-06-11 14:28:50 +02:00
Rhys Arkins
371c10f259 refactor: rename clean=true to sanitize=true 2018-06-11 07:15:54 +02:00
Rhys Arkins
453fb7033f fix(npm): gracefully skip empty dependency version 2018-06-08 11:26:18 +02:00
Rhys Arkins
dbfb5606e5 logs: lower pnpm lock file error to info 2018-06-08 11:25:53 +02:00
Rhys Arkins
94cdf2cd3e
feat: composer range support (#2099)
Adds range support for composer. Mostly leverages existing npm semver range support, but massages where necessary to support Composer differences.

Closes #2097
2018-06-08 08:44:16 +02:00
Ayoub Kaanich
697b80aaf0 feat: composer exact semver support (without lockfile updates) (#1993)
This PR adds the packagist datasource plus basic exact semver Composer support. Composer lockfile updating is not yet supported.
2018-06-08 06:15:13 +02:00
Rhys Arkins
4919306265 fix(npm): correct npmrc replace regex 2018-06-07 13:05:56 +02:00
Rhys Arkins
2a0f2fbba9 fix(npm): filter out package-lock = false in .npmrc
This prevents us from updating npm lock files
2018-06-07 12:39:49 +02:00
Rhys Arkins
3dffefd82b logs: fix npm lockfile debug filename and command 2018-06-07 12:32:38 +02:00
Rhys Arkins
b21f873cf5 fix(travis): retain existing full config when updating
Also improved sorting and quotation detection.

Closes #2087
2018-06-05 18:40:05 +02:00
Ayoub Kaanich
f283104988 feat: use purl for pip requirements (#2067) 2018-06-05 11:26:08 +02:00
Rhys Arkins
c2c50222cc refactor(pip): expand matches logic 2018-06-05 10:26:58 +02:00
Rhys Arkins
775b2979eb fix(pip): reset regex before each search 2018-06-05 10:21:36 +02:00
Connor Brathwaite
398303235b (refactor): delegate generic predicate checking to @sindresorhus/is (#2021)
Closes #1764
2018-06-04 20:07:22 +02:00
Rhys Arkins
233fa20781 refactor: source yarn versions from npm not github 2018-06-04 06:40:13 +02:00
Rhys Arkins
7feca361af refactor: github datasource default to tags 2018-06-04 06:36:48 +02:00
Rhys Arkins
c21029ecbb
refactor: rename some versioning interface (#2078)
isPinnedVersion -> isVersion
rangify -> getNewValue
2018-06-04 06:03:21 +02:00
Rhys Arkins
d8cb261ecb
refactor: rename version -> value (#2076)
Renames currentVersion to currentValue, newVersion to newValue, newVersionMajor to newMajor, and newVersionMinor to newMinor.
2018-06-04 05:48:20 +02:00
Rhys Arkins
24e341b5b4 feat: support semver equals (=)
Adds support for upgrading equals values, e.g. from `=1.0.0` to `=1.0.1`.
2018-06-03 22:25:27 +02:00
Rhys Arkins
dc6959c939 fix: set versionScheme for all manager extracts 2018-06-03 19:13:39 +02:00
Ayoub Kaanich
c54d0ab69d refactor: add versioning wrapper 2018-06-03 17:02:53 +02:00
Rhys Arkins
527c355b48
refactor: move getRangeStrategy to manager (#2072) 2018-06-03 14:25:05 +02:00
Rhys Arkins
dd09707c20 refactor: default versionScheme to ‘semver’ 2018-06-03 07:43:09 +02:00
Rhys Arkins
d982056cd3 fix: skip non-semver nvmrc 2018-06-02 19:36:12 +02:00
Rhys Arkins
d1f49e93eb fix: buildkite semverScheme -> versionScheme 2018-06-02 18:59:02 +02:00
Rhys Arkins
13e8e1a2ff fix: travis get clean versions 2018-06-02 18:58:48 +02:00
Rhys Arkins
2bdc54501a feat: use purl for nvm 2018-06-02 18:28:54 +02:00
Rhys Arkins
0a38cfbc22 chore: add versionScheme to purl extract 2018-06-02 10:19:36 +02:00
Rhys Arkins
2383c5c462 fix(npm): bumpVersion use correct from version
Closes #2060
2018-06-02 07:44:01 +02:00
Rhys Arkins
1f72f473d1 fix: look up npm versions from npmjs not github 2018-06-01 19:07:55 +02:00
Rhys Arkins
fc48fac138 fix: ignore unknown engines fields
Ignores any engines fields in package.json that aren’t node, npm or yarn.

Closes #2059
2018-06-01 18:14:49 +02:00
Rhys Arkins
8b279fd38b feat: use purl for buildkite 2018-06-01 17:12:08 +02:00
Rhys Arkins
c86ea5a4ec refactor: bazel use purl 2018-06-01 16:23:13 +02:00
Rhys Arkins
784a0598b9 refactor: use options for github datasource 2018-06-01 15:32:17 +02:00
Rhys Arkins
04f1e40c30 fix: disable major node engines updates 2018-06-01 11:49:44 +02:00
Rhys Arkins
e39cc9a584
feat: use purl for package lookups (#2041) 2018-06-01 09:02:51 +02:00
Rhys Arkins
8bdc7a6c95 refactor: add purl for meteor 2018-05-31 22:21:28 +02:00
Rhys Arkins
122bb3e3d8 refactor: don’t massage @types url 2018-05-31 22:07:44 +02:00
Rhys Arkins
077923109e
feat: add purl to npm packages (#2053) 2018-05-31 19:19:42 +02:00
Rhys Arkins
d37eb1d694
logs: debug new node releases 2018-05-31 16:28:01 +02:00
Rhys Arkins
b5fdc67872
feat: github datasource getDependency (#2051)
Add new function `getDependency` with same structure as in npm.
2018-05-31 16:24:14 +02:00
Rhys Arkins
830d56875e
fix: restore allowedVersions filter (#2044)
Also adds tests to make sure it’s never lost again.

Fixes https://github.com/renovatebot/config-help/issues/49
2018-05-30 08:27:49 +02:00
Rhys Arkins
8737a324df fix(yarn): handle complex workspaces packages 2018-05-29 22:06:36 +02:00
Rhys Arkins
5475e567d7 fix(node): use semver sort 2018-05-29 15:17:41 +02:00
Rhys Arkins
1da997dbe6 fix: pin when range strategy is autodetected to pin 2018-05-29 14:27:34 +02:00
Rhys Arkins
51108d3fed logs: log dep name with pin message 2018-05-29 14:20:28 +02:00
Rhys Arkins
6cb8f7f583
feat: refactor lookup/package logic for npm (#2038) 2018-05-29 12:44:01 +02:00
Rhys Arkins
16e66ad67b fix: do not log find before lock file
Closes #2039
2018-05-29 10:04:51 +02:00
Rhys Arkins
9e80c2bde7 fix(npm): unpublishable calculation 2018-05-29 09:52:32 +02:00
Rhys Arkins
1271414cb0 fix: respect latest only if ignoring unstable 2018-05-29 09:32:15 +02:00
Rhys Arkins
7ad306da44 feat: allow rollback + upgrades
If a current version is missing, we now return both rollback as well as upgrades if upgrades are present.
2018-05-29 07:13:44 +02:00
Rhys Arkins
6c2cabac6e feat: optimise lerna reuse
Removes `npx` approach and instead installs each version globally.

Closes #1801
2018-05-29 06:25:46 +02:00
Rhys Arkins
7b149df595 logs: less debug 2018-05-28 22:25:33 +02:00
Rhys Arkins
720c280421 refactor: handle lock file errors due to registry not being ready 2018-05-28 20:12:17 +02:00
Rhys Arkins
6f77953795 fix(npm): use —no-audit 2018-05-28 19:41:34 +02:00
Rhys Arkins
4ae2ee10e9 refactor: run find after npm install 2018-05-28 19:19:10 +02:00
Rhys Arkins
98c250af1a fix: log info messages if package being updated fails 2018-05-28 18:47:58 +02:00
Rhys Arkins
11d5a8b02e fix: don’t update starred versions 2018-05-28 15:18:40 +02:00
Rhys Arkins
1c115ae6b6 refactor: move getRangeStrategy into npm/lookup 2018-05-28 13:25:54 +02:00
Rhys Arkins
c9e9bb73a8 fix: widen complex bump range instead of skip 2018-05-28 12:42:02 +02:00
Rhys Arkins
addf184473
feat: refactor getPackageUpdates for manager expansion (#1994)
The goal of this PR is to refactor npm's version lookup/grouping as much as possible to enable the same logic to be used for other package managers.
2018-05-28 09:09:22 +02:00
Rhys Arkins
a9f47ca0b0 fix(yarn): read yarnrc contents properly
Properly fixes #2020
2018-05-26 18:22:32 +02:00
Rhys Arkins
c2100ffc21 fix(yarn): look for .yarnrc for every package file
Closes #2020
2018-05-25 12:12:03 +02:00
Rhys Arkins
7f8dd25a97 refactor: matchesSemver -> matches 2018-05-21 17:40:15 +02:00
Rhys Arkins
63f2669153 refactor: semverSort -> sortVersions 2018-05-21 17:35:50 +02:00
Rhys Arkins
7a1d30c8b6 refactor: move semver to lib/versioning 2018-05-21 17:30:55 +02:00
Rhys Arkins
d45f957cfd refactor: defer isX upgrade classifications 2018-05-21 17:20:41 +02:00
Rhys Arkins
702ccee67a refactor: rename changelog fields 2018-05-18 17:20:20 +02:00
Rhys Arkins
4c80a433df fix(npm): handle jump between unstable releases in same major
Closes #1990
2018-05-18 16:07:33 +02:00
Rhys Arkins
93379c4b79 refactor: separatePatchReleases -> separateMinorPatch
Closes #1952
2018-05-17 07:40:29 +02:00
Rhys Arkins
6c3645d18c refactor: separateMajorReleases -> separateMajorMinor 2018-05-17 07:37:37 +02:00
Rhys Arkins
eaf10143c2 refactor: rename multipleMajorPrs -> separateMultipleMajor 2018-05-17 07:33:59 +02:00
Rhys Arkins
7f4cb4aa57
feat: rangeStrategy (#1954)
This PR replaces the existing `pinVersions`, `upgradeInRange` and `versionStrategy` settings with a single one: `rangeStrategy`.

Previously:
 - `pinVersions` could be `true` or `false`, but defaulted to `null`, which meant that Renovate would decide. `true` meant that Renovate would replace existing ranges like `^1.0.0` with an exact/pinned version such as `1.2.0`.
 - `upgradeInRange` could be true or false, default to false. If `true`, it would mean Renovate would replace an existing range like `^1.0.0` with something like `^1.2.0`
 - `versionStrategy` could be `replace` or `widen` and was mainly used for `peerDependencies` to widen existing ranges, e.g. from `^1.0.0` to `^1.0.0 || ^2.0.0`

It was possible to set conflicting settings, e.g. configuring `pinVersions=true` and `upgradeInRange=true`.

Now, we combine them into a single setting: `rangeStrategy`:
 - `auto` = Renovate decides (this will be done on a manager-by-manager basis)
 - `pin` = convert ranges to exact versions
 - `bump` = same as `upgradeInRange` previously, e.g. bump the range even if the new version satisifies the existing range
 - `replace` = Same as pinVersions === false && upgradeInRange === false, i.e. only replace the range if the new version falls outside it
 - `widen` = Same as previous versionStrategy==='widen'
2018-05-17 07:16:13 +02:00
Rhys Arkins
10fae47aa0 logs: print cmd when lockfile error 2018-05-16 08:22:28 +02:00
Rhys Arkins
d8aac6aff6 refactor: run find before installs 2018-05-16 08:20:51 +02:00
Rhys Arkins
b7703e3beb refactor: ls -l before yarn install 2018-05-16 06:58:07 +02:00
Rhys Arkins
7f49e1b617 logs: fix circleci debug 2018-05-16 06:36:48 +02:00
Rhys Arkins
2167eeba11 fix(lerna): return gracefully for lock file maintenance 2018-05-16 05:27:12 +02:00
Rhys Arkins
b7c90ce15d refactor(lerna): throw error if no lernaClient 2018-05-15 21:38:39 +02:00
Rhys Arkins
9f8852c1e3 refactor(lerna): debug missing lernaClient 2018-05-15 21:27:47 +02:00
Rhys Arkins
f3584b5fea fix(yarn): optimise existing file writing 2018-05-15 20:52:25 +02:00
Rhys Arkins
da562aadd2 fix(npm): write package-lock.json and npm-shrinkwrap.json 2018-05-15 20:03:06 +02:00
Rhys Arkins
2323820df9 refactor: replace config dot notation in npm lookup 2018-05-15 07:29:42 +02:00
Rhys Arkins
409cd4adde refactor: monorepoPackages -> internalPackages 2018-05-15 07:21:10 +02:00
Rhys Arkins
8c2ae3248c fix: use yarn workspaces packages if defined, the lerna 2018-05-15 05:58:18 +02:00
Rhys Arkins
3fa8ea22ea logs: log packageFile when failing to look up dependency 2018-05-14 21:53:00 +02:00
Rhys Arkins
1dd623c917 fix: set npmrc before calling getDependency 2018-05-14 21:02:50 +02:00
Rhys Arkins
2bc93e285b fix: correct nested config recommendation 2018-05-14 10:08:41 +02:00
Rhys Arkins
1352bbeb18 feat: discard npmrc if containing variables
.npmrc files will fail during lock file generation if they contain unexpanded variables, so it’s better to discard them instead.
2018-05-14 08:11:23 +02:00
Rhys Arkins
7e8148dfae fix: restore non-root package.json config validation errors 2018-05-14 07:54:24 +02:00
Rhys Arkins
69b264cf01 fix(npm): don’t read npmrc files if ignoreNpmrcFiles=true 2018-05-13 23:06:27 +02:00
Rhys Arkins
ebe9607d79 fix(npm): npmrc/ignoreNpmrc logic 2018-05-13 22:04:06 +02:00
Rhys Arkins
57552d5d2b fix(npm): skip packageFile npmrc if ignoreNpmrc 2018-05-13 21:31:46 +02:00
Rhys Arkins
16f6b5810a fix(npm): skip lock file check if no npm package files 2018-05-11 07:23:26 +02:00
Rhys Arkins
eccef72b52 fix(npm): restore autodetect pinVersions 2018-05-09 18:17:11 +02:00
Rhys Arkins
9c7600d6d3 fix: check npmrc before calling includes 2018-05-09 14:20:10 +02:00
Rhys Arkins
2ebc0b7718 fix: don’t write .npmrc if contains unexpanded variables 2018-05-09 13:38:24 +02:00
Rhys Arkins
4ecd691325 fix: expand criteria for keeping package.json files 2018-05-09 12:36:58 +02:00
Rhys Arkins
1631757e61 logs: don’t debug package.json content 2018-05-09 12:35:22 +02:00
Rhys Arkins
d4de9108af feat: skip PR generation if lock file generation fails 2018-05-09 12:10:45 +02:00
Rhys Arkins
ee3f7f714e fix: iterate all lerna dirs 2018-05-09 11:17:50 +02:00
Rhys Arkins
2075c20baa fix: lock file refactor 2018-05-09 10:42:38 +02:00
Rhys Arkins
10012f343a fix: manager -> lernaClient 2018-05-09 10:14:21 +02:00
Rhys Arkins
a332d8fb50 fix: lernaLockFile -> lernaClient 2018-05-09 09:38:11 +02:00
Rhys Arkins
f1f88e4443 fix: always write config.npmrc 2018-05-09 09:35:02 +02:00
Rhys Arkins
3c0e6b7e88 fix: default lerna client to npm 2018-05-09 09:32:21 +02:00
Rhys Arkins
ecdcd9df4f
feat: refactor dependency extraction (#1912)
Rewrite of dependency extraction, particularly for npm. Paves way for easier addition of new package managers.

Closes #1882
2018-05-09 08:03:59 +02:00
Ayoub Kaanich
38a4397feb feat: changelog for pip (#1927)
This PR adds support for pip changelog,
unlike npm, I couldn't find a mapping between github and pip other than github being used as the homepage of some projects, if there are other ways of mapping it would be helpful.

Closes #1911
2018-05-08 04:55:16 +02:00
Rhys Arkins
f190ca505b fix(docker): handle null string when extracting 2018-05-03 19:27:57 +02:00
Rhys Arkins
19e35ffee0
refactor: return object from extract (#1914) 2018-05-03 18:09:18 +02:00
Rhys Arkins
100c6368d8 fix: update node.js data 2018-05-01 20:46:54 +02:00
Rhys Arkins
a94088ba28
feat: deprecate packageFiles (#1898)
This PR deprecates the use of `packageFiles` and migrates it to `includePaths` and `packageRules`.

Closes #1887
2018-05-01 09:21:15 +02:00
Rhys Arkins
a17cbda1a9 fix: allow config.global limit for maxPackageFiles 2018-05-01 08:25:27 +02:00
Rhys Arkins
336ab8fdf8 refactor: don’t warn when no Dockerfile FROM found 2018-05-01 07:59:58 +02:00
Rhys Arkins
c800ee9344
refactor: remove custom docker resolve/contentPatterns (#1897) 2018-04-30 18:57:52 +02:00
Rhys Arkins
43742467f6
feat: includePaths (#1896)
Adds a config option `includePaths` that allows the user to specify one or more paths to include in renovation and the rest will be excluded.
2018-04-30 16:13:32 +02:00
Rhys Arkins
55c2a4619e feat: rate limit packageFile retrieval
Uses fixed limits of 5 concurrent for a maximum of 100. Issues Warning if more than 100 found. Can be made configurable later if requested.

Closes #1895
2018-04-30 14:08:48 +02:00
Rhys Arkins
c356bb0349
feat: custom filenames for package files (#1894)
Renovate now comes with a variety of package managers supported, each with their own filename pattern(s). These patterns are now exposed for user configuration through the new `fileMatch` list/array configuration option, which has been added to each manager (npm, bazel, docker-compose, etc). `fileMatch` is defined as a mergeable list, meaning that users can add to the default pattern to extend the files being detected.

Closes #799
2018-04-30 13:18:51 +02:00
Rhys Arkins
b38df44b18
refactor: rename parentManager -> language (#1890)
Closes #1888
2018-04-30 07:16:34 +02:00
Rhys Arkins
706cdcc122 refactor: log manual packageFiles config 2018-04-29 20:46:11 +02:00
Ayoub Kaanich
c8ae853d58 feat: python requirements.txt support (#1858)
This PR adds basic support for requirements.txt. Currently it works on fully specified (pinned) versions only, so is disabled by default. Enable it by setting `pip_requirements.enabled = true` in config.
2018-04-28 20:39:07 +02:00
Rhys Arkins
898b913f3b
feat: deprecate pathRules (#1881)
pathRules are now migrated to packageRules.

Closes #1880
2018-04-28 14:05:39 +02:00
Rhys Arkins
4349a21484
feat: buildkite plugin renovation (#1874)
This PR adds initial support for buildkite plugin renovation.

It supports `plugin-name` or `my/plugin-name` plugins, and fully specified semver versions only (e.g. `v1.3.2`). Currently it will always propose an upgrade to the latest version available, e.g. if current version is v1.3.1 and both v1.3.2 and v2.0.0 exist then v2.0.0 will be proposed. Looks for any yml file in the `.buildkite/` directory.

Closes #1869
2018-04-27 19:54:44 +02:00
Rhys Arkins
1564150d9f refactor: streamline debug logging 2018-04-18 21:19:00 +02:00
Rhys Arkins
a35643740b refactor: save newDigestShort to newVersion for docker 2018-04-17 12:15:22 +02:00
Rhys Arkins
9753f9dcba
feat: modular branchName/prTitle/commitMessage templating (#1760)
This PR refactors `branchName`, `commitMessage` and `prTitle` so that they are more easily editable and hopefully more understandable. By breaking each up into subsections, users can modify one part without needing to copy/paste the entire string.

Directly editing any of these fields will now be deprecated and a warning issued.
2018-04-17 08:39:26 +02:00
Rhys Arkins
5bda10af76 logs: drop noisy locked version debug 2018-04-14 07:25:39 +02:00
Rhys Arkins
523b02fbc8
refactor: npm and semver (#1817) 2018-04-10 05:20:46 +02:00
Rhys Arkins
d742732e2b fix: set isRange true for non-version docker tags
Closes #1806
2018-04-09 13:28:08 +02:00
Rhys Arkins
e6e28a62fb fix: return empty travis updates if no support policy set
No longer defaults to supportPolicy=[‘lts’] when supportPolicy is undefined.

BREAKING CHANGE: If you wish to use travis with supportPolicy=lts, then you need to explicitly set that in node or travis config.
2018-04-09 08:29:39 +02:00
Rhys Arkins
1f63173194 fix: remove enabled=true requirement from managers
Simplify manager definitions by removing need for explicit enabled=true
2018-04-09 08:23:59 +02:00
Țurcanu Dragomir
2f4d5836f3 feat: Raise config error if config found within nested package.json (#1777)
Raises config error if renovate config found in a nested package.json

Closes #1742
2018-04-05 22:42:07 +02:00
Rhys Arkins
ced374ea24 fix: disable manager if parentManager is disabled
Closes #1778
2018-04-03 06:52:04 +02:00
Rhys Arkins
b15909f8df
feat: enabledManagers (#1755)
feat: enabledManagers
2018-03-30 17:00:51 +02:00
Rhys Arkins
5b3d7a9f86 refactor: use common manager resolve function 2018-03-30 07:38:38 +02:00
Rhys Arkins
9a36bdcf1b refactor: rename setNewValue to updateDependency 2018-03-30 06:05:00 +02:00
Rhys Arkins
ba614d4624 fix: support quotation marks for circleci
Fixes #1745
2018-03-29 19:25:31 +02:00
Rhys Arkins
9a28852eb9 fix: correct logic 2018-03-29 19:09:27 +02:00
Rhys Arkins
339a767582 fix: filter out parameterised docker-compose tags
e.g. ${TAG}
2018-03-29 18:38:18 +02:00
Rhys Arkins
f5ecc1f4c8 logs: lower no digest from warn to info 2018-03-29 18:37:57 +02:00
Rhys Arkins
b57437940b fix: handle quoted docker compose strings 2018-03-29 15:42:17 +02:00
Rhys Arkins
71433de9c6 logs: trace docker version list 2018-03-29 15:02:48 +02:00
Rhys Arkins
533f866c82 fix: don’t raise error for locked private dependencies
yarn should be able to handle this now.

Closes #1721
2018-03-29 11:34:36 +02:00
Rhys Arkins
aa3d361187 fix: throw registry failure if a tag has no manifest 2018-03-29 10:53:08 +02:00
Rhys Arkins
9d6401f823 fix: skip missing docker manifests altogether 2018-03-29 07:59:20 +02:00
Rhys Arkins
2e173c3539 fix: better fix for undefined new docker digest 2018-03-29 07:07:56 +02:00
Rhys Arkins
9b19096743 fix: filter out null docker digests
Closes #1739
2018-03-29 06:57:12 +02:00
Rhys Arkins
94a5240858
feat: CircleCI docker image support (#1732)
Adds support for renovating docker image definitions in CircleCI 2 config files (`.circleci/config.yml`).

Closes #1714
2018-03-28 20:12:56 +02:00
Rhys Arkins
cb3537feaa refactor: return manager name with package files 2018-03-28 19:53:42 +02:00
Rhys Arkins
b724a411da
feat: Docker Compose support (#1729)
Adds support for renovating Docker Compose files (e.g. `docker-compose.yml`). Functionality is essentially the same as the existing `Dockerfile` capabilities, so config for `docker` is shared with `docker-compose` but may also be overridden.

Merging as disabled by default - will wait for some opt-in testing before turning it on by default.

Closes #832
2018-03-28 15:24:42 +02:00
Rhys Arkins
1c96ba54b4 chore: fix Warning typo 2018-03-28 13:33:58 +02:00
Rhys Arkins
9ab4e55bc5 chore: reduce logger.debug volume 2018-03-27 21:57:02 +02:00
Rhys Arkins
acb725beb9 fix: stringify currentVersion before trim 2018-03-27 16:25:06 +02:00
Rhys Arkins
0e658843a2 fix: don’t raise config warning issue when onboarding 2018-03-27 16:02:56 +02:00
Rhys Arkins
df0dc74e22 fix: handle meteor package.js with trailing comma 2018-03-27 15:46:29 +02:00
Rhys Arkins
b110e22218 fix: filter out deps with no current version 2018-03-27 15:13:16 +02:00
Rhys Arkins
6b7077a3ef fix: filter and debug failed meteor extraction 2018-03-27 14:00:29 +02:00
Rhys Arkins
94892db991 fix: config warn issue only if using yarn
It seems that npm is able to update a lock file even if some of the non-updated deps can not be found. So the renovate halt and warning is only needed if a yarnLock file is present.
2018-03-27 13:41:45 +02:00
Rhys Arkins
a302b11a26
feat: custom docker registries (#1707)
Adds support for custom docker registries. To work (for now), registries must support anonymous public access to their v2 API. Tested against quay.io and gcr.io, including tags pagination for quay. Also needed to add a 10s timeout for registry queries to catch private/firewalled registries that we can't access.

Closes #797
2018-03-23 14:48:36 +01:00
Rhys Arkins
fc4d5fc08d fix: add check if lerna npmClient=yarn 2018-03-22 20:35:25 +01:00
Rhys Arkins
f0cd0cb8b8
feat: raise config action issue if failing to look up locked dependency (#1704)
If an npm dependency can’t be found, and the package.json has a lock file, then Renovate will encounter lock file errors every time *any* dependency in that package.json has an update. Instead of raising PRs with an error, we instead now stop raising PRs and instead raise a config warning issue. Users can “dismiss” this by setting config option `updateLockFiles` to false.

Closes #1697
2018-03-22 11:55:58 +01:00
Rhys Arkins
3a4a0cb029
feat: updateLockFiles (#1703)
Adds an option “updateLockFiles” which defaults to true. Setting to false means that updating lock files (e.g. package-lock.json, yarn.lock and shrinkwrap.yaml) will be skipped. The main reason for doing this is for repositories that use a dependency we can’t resolve, so that they can keep updating the package.json without lock file.
2018-03-22 10:41:26 +01:00
Rhys Arkins
f0a61c8b26 chore: log custom docker host better 2018-03-22 08:58:59 +01:00
Rhys Arkins
5fa5793c3a chore: add logging to package file detection 2018-03-21 06:02:54 +01:00
Rhys Arkins
42ea27a926 fix: skip looking up scratch base image (docker) 2018-03-21 05:16:03 +01:00
Rhys Arkins
78f5b35442 fix: skip named multistage docker builds 2018-03-20 21:42:34 +01:00
Rhys Arkins
c9f2d387fa fix: use github tags not releases to determine node versions
Closes #1691
2018-03-20 15:51:37 +01:00
Rhys Arkins
3f77d676cd
fix: docker multi-stage duplicate replace (#1662)
Closes #1656
2018-03-14 12:49:47 +01:00
Rhys Arkins
1b2a319643 fix: use escaped line returns in docker regex escape 2018-03-14 12:41:43 +01:00
Rhys Arkins
bf43b2817c fix: travis newline replace problem 2018-03-10 16:58:47 +01:00
Rhys Arkins
36afcad570 fix: handle invalid travis supportPolicy 2018-03-10 16:58:34 +01:00
Rhys Arkins
c2f0a46d9a feat: npm shrinkwrap
Adds support for npm-shrinkwrap.json files.

Closes #67
2018-03-08 09:46:08 +01:00
Rhys Arkins
a2ef094485 feat: support pinned versions in .travis.yml
If the existing version was pinned, or if pinVersions=true, then Renovate will use pinned versions for all the new values.

Closes #1605
2018-03-06 22:18:13 +01:00
Rhys Arkins
e29c2d5aca fix: detect quotation mark in .travis.yml 2018-03-06 22:18:13 +01:00
Rhys Arkins
453ce13278 fix: Revert "refactor: array concatenation (#1601)"
This reverts commit dd26a018c5.
2018-03-06 15:54:39 +01:00
AndreiMargineanu
dd26a018c5 refactor: array concatenation (#1601)
Refactors all instances of .concat() to use array spread operators instead

Closes #1459
2018-03-06 12:34:39 +01:00
Rhys Arkins
7ca9918c3c fix: don’t detect disabled managers 2018-03-05 14:56:21 +01:00
Rhys Arkins
daba8ba560 fix: add travis content filter 2018-03-05 13:50:54 +01:00
Rhys Arkins
6530480410 refactor: simplify detectPackageFiles 2018-03-04 20:03:52 +01:00
Rhys Arkins
80dbeaa563 refactor: use filePattern to detect package files 2018-03-04 16:34:55 +01:00
Rhys Arkins
5e3822d0cc refactor: use filePattern for each manager 2018-03-04 16:09:12 +01:00
Rhys Arkins
dde5756488
feat: .nvmrc files (#1582)
Adds initial support for `.nvmrc` renovation. If the existing value is a fully-specified semver version then it will be upgraded, otherwise left alone.

Closes #1270
2018-03-04 15:52:06 +01:00
Rhys Arkins
dae287b62b
refactor: node-travis definitions (#1583)
Retains the "node" configuration object but moves enabling/disabling to "travis". Also removes the default `supportPolicy` from config.
2018-03-04 07:08:19 +01:00
Rhys Arkins
33bcbdd91d fix: add repositoryUrl to travis results 2018-03-03 22:25:27 +01:00
Rhys Arkins
faa4cc6171 fix: travis metadata and formatting
Updates travis config and logic to use same variables as for other managers. This fixes the onboarding PR.

Fixes #1551
2018-03-03 20:53:54 +01:00
Rhys Arkins
cd9218444d refactor: move node package lookup to node helper 2018-03-03 17:36:45 +01:00
Rhys Arkins
886a3d05bf refactor: rename ‘node’ manager to ‘travis’ 2018-03-03 15:35:43 +01:00
Rhys Arkins
3c56f8aeb6
refactor: move manager-specific code under lib/manager (#1573)
Refactors all non-npm code to live inside lib/manager/*
2018-03-03 14:39:39 +01:00
Rhys Arkins
bb2fc1b7ca refactor: move npm extract from workers to manager 2018-03-01 10:21:26 +01:00
Rhys Arkins
cf336a0b21 refactor: use manager not packageFile 2018-02-28 19:01:35 +01:00
Rhys Arkins
d68d5ccabf refactor: move npm resolve code into separate file 2018-02-28 07:06:04 +01:00
Rhys Arkins
e011d95e86 fix: don’t resolve empty meteor package.js
Refactors meteor to have a resolve function that detects/filters out empty files (like for other managers).
2018-02-27 17:19:12 +01:00
Rhys Arkins
579214682f fix: throw config validation error if unknown filename
Refactors manager.resolve to use file name to manager mappings.
2018-02-27 16:58:36 +01:00
Rhys Arkins
55c3288c09 chore: log filename for .npmrc and .yarnrc 2018-02-27 16:47:21 +01:00
Rhys Arkins
df19a6e8bb fix: config.packageFiles null check 2018-02-27 16:40:03 +01:00
Rhys Arkins
1f6893f5e2 fix: npm config should only be merged for package.json 2018-02-27 15:43:19 +01:00
Rhys Arkins
f95058d66b refactor: move npm registry to datasource 2018-02-27 10:49:24 +01:00
Rhys Arkins
5d73738dde refactor: move docker registry to datasource 2018-02-27 10:28:31 +01:00
Rhys Arkins
e516a22686 fix: check bazel versions for stable/unstable 2018-02-22 09:02:46 +01:00
Rhys Arkins
23e3a62e9a fix: unset GHE token before checking node releases
Fixes #1540
2018-02-20 21:41:16 +01:00
Rhys Arkins
116939ffb5
feat: renovate node engine in package.json (#1519)
Adds support for upgrading `node` version in `package.json` > `engines` if the current version is pinned.
- Does not convert from range to pin
- Ignores ranges
- Does not upgrade major versions
2018-02-19 14:21:45 +01:00
Rhys Arkins
16a8d15e33 refactor: move bazel github operations to datasource 2018-02-16 16:32:48 +01:00
Rhys Arkins
2e61b3878e refactor: increase got retries to 5 for npmjs 2018-02-09 10:29:59 +01:00
Rhys Arkins
03302a47cc fix: retry npmjs when receiving 5xx errors 2018-02-09 10:15:53 +01:00
Rhys Arkins
c2ca0e46b0 fix: return null rather than registry failure when unpublished deps found 2018-02-09 09:54:15 +01:00
Rhys Arkins
9c89629183
fix: re-enable lerna bootstrap (#1487)
* Revert "fix: Revert "feat: lerna bootstrap support (#1486)""

This reverts commit 4e592d601d.

* fix: fix lerna.json detection
2018-02-05 20:06:24 +01:00
Rhys Arkins
4e592d601d fix: Revert "feat: lerna bootstrap support (#1486)"
This reverts commit 3cab59d2fe.
2018-02-05 19:40:54 +01:00
Rhys Arkins
3cab59d2fe
feat: lerna bootstrap support (#1486)
Adds support for running `lerna bootstrap` instead of `npm install` or `yarn install` (without Workspaces), hence allowing support of internally-linked dependencies.

Closes #1441, Closes #1443
2018-02-05 19:30:07 +01:00
Rhys Arkins
1c33bb1a31 fix: strip NPM_TOKEN lines from npmrc if not exposing env 2018-02-02 16:00:05 +01:00
Rhys Arkins
baa27de289 fix: gracefully handle missing versions in npm registry response 2018-02-02 15:02:43 +01:00
Rhys Arkins
5f3b1b7fdf feat: set repository url for @types/* packages manually
If a dependency has name starting with `@types/` and no repository url returned from the npmjs query, we manually set a URL pointing to the DefinitelyTyped repository.
2018-01-31 11:24:19 +01:00
Rhys Arkins
294fc6b3a5 refactor: don’t warn if current version is a file reference 2018-01-28 15:44:35 +01:00
ctaepper
989114692f fix: properly handle boolean values in npmrc keys (#1445)
#1407 introduced a bug where the replacement logic breaks if the value of the npmrc key is a boolean.
2018-01-26 05:26:49 +01:00
ctaepper
280e74fa9f feat: expose env to npmrc and npm/yarn/pnpm (#1407)
Adds a config option to bot administrators called `exposeEnv`, for cases where repositories are trusted. If set to true, the bot's full `process.env` can be used for `.npmrc` variable substitution and is passed to child processes when generating lock files. Disabled by default, including in the App.
2018-01-25 10:38:30 +01:00
Rhys Arkins
ef17430d7a refactor: lower bazel and semver warnings to info logs 2018-01-23 13:00:05 +01:00
Rhys Arkins
0b7deb546c
feat: apply package.json renovate config to whole repository (#1419)
Changes the way Renovate treats renovate config inside `package.json` files. Before, config used to be applied only to that particular file, meaning that it was not applied for the rest of a monorepo, or for other package managers like Docker. Now, any `renovate` section inside the repository’s root `package.json` will be applied globally, just the sams as if it were contained within a `renovate.json` file. This means there is no longer any case where you *must* have a `renovate.json` file instead of `package.json`.

Closes #1323

BREAKING CHANGE: renovate config in `./package.json` is now applied to whole repository, and renovate config inside non-root `package.json` files is now ignored.
2018-01-23 06:59:01 +01:00
Rhys Arkins
44813aede2 refactor: add log if package.json renovate config found outside root of repository 2018-01-21 07:54:17 +01:00
Rhys Arkins
d774a14910 feat: abort repo for most npm registry errors
Renovate now aborts processing of repositories if for any 4xx responses except 401 and 404, and also for 200 OK responses which are unparseable.

Closes #1341
2018-01-21 07:16:28 +01:00
Rhys Arkins
537e3cd7e6 refactor: check for RENOVATE_SKIP_CACHE in npm registry 2018-01-20 19:34:27 +01:00
Rhys Arkins
b72bfdf4ba
feat: bumpVersion (#1413)
Adds a new configuration option that allows you to bump the version number in the package.json being updated. e.g. you might configure Renovate to bump a patch every time, or maybe for dependencies only and not devDependencies. e.g. if you configure `"bumpVersion": "patch"` then a Renovate PR updating a `package.json` that used to be version `1.2.1` will now see it updated to `1.2.2` (in addition to the dependency version(s) being updated too). Thanks to @gunar for the feature suggestion.

Closes #861
2018-01-20 09:27:05 +01:00
Rhys Arkins
08cb61f835
feat: support multiple Docker FROM statements (#1409)
Adds support for multiple FROM statements within a Dockerfile. Thanks to @reicheltp for regex inspiration.

Closes #1011
2018-01-19 06:59:35 +01:00
Rhys Arkins
85dfa819c1
fix: skip newlines at start of Dockerfile (#1402)
Allow for both comment lines or empty lines prior to FROM in Dockerfile
2018-01-17 17:58:28 +01:00
Rhys Arkins
b72be53fba fix: ensure monorepo packages are ignored in workspaces root too
Adds an extra check to ensure that monorepo package names are ignored in the workspaces root too.

Closes #1398
2018-01-17 06:32:07 +01:00
Rhys Arkins
23e217991c
feat: pnpm shrinkwrap support (#1392)
This feature adds support for pnpm shrinkwrap.yaml files.

Closes #1391
2018-01-15 16:55:33 +01:00
Rhys Arkins
ac09b9d7cd feat: cache npm results in memory per-run
We currently use got’s inbuilt caching for npmjs, however it still results in a roundtrip/304 even when cached. The when using presets is that a package like renovate-config-default gets looked up 10+ times unnecessarily. With this feature we assume that npm lookups don’t change for the duration of a run, and even if they did then we’d prefer the reliability of using the first lookup.

Closes #1389
2018-01-15 11:53:02 +01:00
Rhys Arkins
54d3a62284 fix: throw error when receiving 5xx responses from npmjs
This is a partial fix for #929. After this we should catch and retry.
2018-01-14 15:17:57 +01:00
Rhys Arkins
1cb920fa4b fix: set/reset npmrc during init
Detect npmrc in root of repo and make sure it’s set early. Also ensure npmrc is reset at start of each run if necessary.

Helps #1335
2017-12-30 06:11:04 +01:00
Rhys Arkins
f8a10a9f4c feat: pathRules
Adds new configuration option “pathRules”. pathRules is an array of path rules. Each rule should contain a “paths” array which uses string or glob matching like the existing ignorePaths. If any of the paths in a rule matches a packageFile then the remaining configuration from the rule is applied to the packageFile.
2017-12-29 15:06:28 +01:00
Rhys Arkins
6b91b87dee feat: stop updating PR if edited
Previously, Renovate would attempt to keep a branch up to date even if users had edited it. e.g. adding commits on top of the existing branch if newer versions were released. Now, Renovate adds a warning comment if a user has edited a branch, making it clear that responsibility for the branch is over to them and how they can undo this.

Closes #653
2017-12-27 15:20:32 +01:00
Rhys Arkins
383302d433 refactor: info not warn if npm 401 response 2017-12-27 06:40:24 +01:00
Rhys Arkins
82fa5cd64d refactor: warn if npm lookup fails with other than 404 2017-12-26 06:45:51 +01:00
Rhys Arkins
163ce43a27 feat: update yarn resolutions
Detect if the upgraded dependency was already in “resolutions” and update it too if it was an exact match. Warn if it was not.

Closes #1318
2017-12-25 17:10:20 +01:00
Rhys Arkins
4cfcee7b25 chore: info not warn for unsupported bazel remote 2017-12-24 20:43:44 +01:00
Rhys Arkins
33e4b51126 feat: raise config validation issue if onboarded repo has invalid package.json
Previously, if someone updated a package.json to include invalid JSON, Renovate fails to parse it (as expected), so ignores it. As a result, any existing PRs would be autoclosed. Instead, Renovate will now skip the repository and raise a warning issue until the file parsing is complete or the file is added to Renovate’s ignore list.
2017-12-18 13:43:29 +01:00
Rhys Arkins
eeefc3c8f3
feat: stop and raise error if repository is misconfigured (#1302)
This PR updates Renovate to detect config validation problems and (1) stop processing, and (2) either raise an Issue if already onboarded, or (2) update the onboarding PR to reflect the error if still onboarding.

Closes #1300
2017-12-18 09:39:52 +01:00
Rhys Arkins
f7e8414240 fix: remove extraneous newline in bazel replacements 2017-12-14 20:31:21 +01:00
Rhys Arkins
3730c66aa2
feat: bazel http_archive support (#1296)
This PR adds support for bazel http_archive references where they point to a GitHub download URL.

Closes #1292
2017-12-14 20:05:45 +01:00
Rhys Arkins
68a37b906a refactor: log if finding npmrc or yarnrc 2017-12-14 07:13:30 +01:00
Rhys Arkins
3093b3d787 refactor: log dependency name when lookups are blocking 2017-12-14 06:54:46 +01:00
Rhys Arkins
39a48c6e55
fix: npm configs should be applied to all package.json files (#1289) 2017-12-11 19:43:49 +01:00
Rhys Arkins
494dc08897
refactor: unsatisfied range warn -> info (#1278)
* refactor: unsatisfied range warn -> info

* refactor: downgrade setNewValue warn -> info
2017-12-08 09:39:40 +01:00
Rhys Arkins
987891ba2e
feat: bazel WORKSPACE support (#1268)
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]
73506f9043 chore(deps): update dependency prettier to v1.9.0 (#1267)
* 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 (#1243)
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 #1208
2017-12-05 07:50:16 +01:00
Rhys Arkins
c2590a56ab
feat: support multiple yarn workspaces in one repository (#1264) 2017-12-04 15:41:37 +01:00
Rhys Arkins
d56654cd88
fix: don’t exception if no rollback versions found (#1263) 2017-12-04 15:07:35 +01:00
JYC
7a63342ddd fix: path joins on windows (#1216)
Use `upath` for windows-friendly path joins.

Closes #1203
2017-11-24 07:50:49 +01:00
Rhys Arkins
67bb02e725
fix: Revert "feat: docker registry cache (#1210)" (#1211)
This reverts commit 371f1cbf3d.
2017-11-22 15:07:53 +01:00
Rhys Arkins
371f1cbf3d
feat: docker registry cache (#1210)
Use got’s built-in caching with in-memory map.

Closes #1028
2017-11-22 13:25:07 +01:00
Rhys Arkins
4e7830e831
refactor: use internal got cache (#1209)
Replace explicit keyv-based memory cache for npm with implicit keyv-based memory cache built into got v8.
2017-11-22 10:24:34 +01:00
Rhys Arkins
77dbef5cf0
feat: add back keyv-based memory cache for npm (#1206)
Disk-based caching for npm responses was overkill and actually started hurting performance after a while as the cache grew.
2017-11-22 04:45:40 +01:00
Rhys Arkins
0f80e7d501 fix: use RENOVATE_TMPDIR (#1202) 2017-11-20 07:08:30 +01:00
Rhys Arkins
804d7ba955 refactor: don't cache lock files (#1190)
* refactor: don’t store yarn.lock content in packageFile

* chore: don’t log full lockfile

* refactor: don’t save package-lock.json

* update tests
2017-11-17 14:53:29 +01:00
Rhys Arkins
46f8dd751d
refactor: resolve package files in parallel (#1189)
Speeds up monorepos substantially
2017-11-17 06:06:06 +01:00
Rhys Arkins
d5f58fcb6e
feat: allow configurable tmpdir for caching (#1176) 2017-11-16 10:26:04 +01:00
Rhys Arkins
b3ec1c0156
fix: set npmrc at repository level (#1169) 2017-11-15 12:30:39 +01:00
Rhys Arkins
f0b094b006
feat: use persistent cache for npm registry queries (#1161)
This PR refactors the npm registry code to use `make-fetch-happen` instead of got. Additionally, it will use `cacache` for a disk-based caching solution.
2017-11-13 15:08:30 +01:00
Rhys Arkins
6d17d4a58d
fix: only ignore monorepo packages if matching glob (#1153)
Previously, packages within a workspace or lerna project were ignores across the entire repo. Now, they are only ignored within package files that exist in the same lerna project or yarn workspace.

Closes #1147
2017-11-12 10:16:46 +01:00
Rhys Arkins
51cde5d03f
feat: multipleMajorPrs (#1129)
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 #1101
2017-11-10 04:57:07 +01:00
Rhys Arkins
c5c6a55c1a
fix: docker separateMajorReleases and groupName (#1130)
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 (#1126)
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 (#1125)
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 #1035
2017-11-08 21:57:34 +01:00
Rhys Arkins
0251fad68b
fix: allow multiple whitespace in dockerfile from line (#1123) 2017-11-08 14:47:52 +01:00
Rhys Arkins
f044aca321 refactor: streamline platform file operations (#1121)
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
55307389a4
refactor: improve docker digest lookup logging (#1119) 2017-11-08 11:21:13 +01:00
Rhys Arkins
8c479071fd
refactor: use global logger (#1116) 2017-11-08 06:44:03 +01:00
Rhys Arkins
602752f9fe
refactor: use platform global (#1115) 2017-11-07 13:31:34 +01:00
renovate[bot]
c1df1b2cb8 chore(deps): update dependency prettier to v1.8.0 (#1113)
* chore(deps): update dependency prettier to v1.8.0

* reformat
2017-11-07 11:52:15 +01:00
Rhys Arkins
f8be45055a
refactor: remove config.api and use platform dispatcher (#1114) 2017-11-07 11:46:10 +01:00
Rhys Arkins
35e83b2211
fix: split registry and namespace correctly (#1112) 2017-11-06 13:19:41 +01:00
Rhys Arkins
1af60f5158
feat: Support 'AS' names in Dockerfile from line (#1110)
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 (#1107) 2017-11-05 14:23:20 +01:00
Rhys Arkins
bec66f4d40
refactor: add logging to detect/resolve code (#1106) 2017-11-05 13:51:29 +01:00
Rhys Arkins
80bed05146
feat: return result from renovateRepository
Repository logic code has been rearranged for better logic and file separation.

Closes #654
2017-11-05 05:45:49 +01:00
Rhys Arkins
7d5d330d8f
fix: loosen docker digest replace regex (#1098)
By searching for the *original* value, this caused problems if a tag gets updated multiple times in the same PR.

Closes #1050 hopefully for the last time
2017-11-03 14:48:14 +01:00
Rhys Arkins
d5462049a6
chore: implement require-await eslint rule (#1095) 2017-11-03 11:56:25 +01:00
Rhys Arkins
9769f5a5db
refactor: detectPackageFiles returns packageFiles not config (#1092) 2017-11-03 09:25:18 +01:00
Rhys Arkins
9c1b7d78cd
refactor: move monorepos logic to npm manager (#1091)
* refactor: move monorepos logic to npm manager

* fix test
2017-11-03 09:06:42 +01:00
Rhys Arkins
aada8f0b73 feat: support globs in ignorePaths (#1069)
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 #1054

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
f3273618b2
fix: add uniqueness to docker-digest pr title (#1051)
Use first 6 chars of sha256 digest in PR title to ensure uniqueness and not block future digest updates.

Closes #1060
2017-10-27 23:33:55 +02:00
Rhys Arkins
0427604de6 refactor: move language extraction logic to manager (#1046)
* 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 (#1044) 2017-10-25 06:48:08 +02:00
Rhys Arkins
7d06bebe2e refactor: push detect dockerfiles to manager (#1043)
* 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 (#1040) 2017-10-24 13:12:44 +02:00