Commit graph

2180 commits

Author SHA1 Message Date
Rhys Arkins
74ec520830 feat(ruby): cache versions list 15 minutes 2019-01-22 05:55:39 +01:00
Rhys Arkins
c2f18e47d4 fix(ruby): datasource throw if empty 2019-01-22 05:55:09 +01:00
Rhys Arkins
1408bb4bc0 feat(ruby): ruby-version datasource
Closes #3088
2019-01-21 21:01:49 +01:00
Rhys Arkins
d4cff79374 refactor: gitFs stage 2019-01-21 14:48:55 +01:00
Rhys Arkins
1f49fcd523 refactor: compatibility through to branch 2019-01-21 14:13:20 +01:00
Rhys Arkins
8dfca59c04 feat(bundler): extract bundler compatibility from Gemfile.lock 2019-01-21 13:10:58 +01:00
Rhys Arkins
28a1f864d4 tests: remove unused config 2019-01-21 13:10:57 +01:00
Rhys Arkins
e02ffbdc60 feat(bunder): extract ruby compatibiity version 2019-01-21 13:10:56 +01:00
Rhys Arkins
b212f8d6df feat: packageRules filter on depTypes
Needed for package managers that support more than one depType (e.g. Bundler).

Closes #3076
2019-01-21 05:44:14 +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
34c8ebe486 fix(ruby): replace complex ranges 2019-01-13 11:08:11 +01:00
Rhys Arkins
ac63a5097c fix(ruby): isValid for complex ranges 2019-01-13 10:39:48 +01:00
Rhys Arkins
fbafbcabed tests: fix nvm tests 2019-01-11 10:25:51 +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
Fedor Lukyanov
a11bf657e7 feat: rubygems datasource (#3039)
Closes #2981
2019-01-09 22:03:57 +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
2572d618aa tests: update snapshot 2019-01-08 06:05:57 +01:00
Rhys Arkins
b01f7e64ca fix: improve versioning test 2019-01-07 23:56:18 +01:00
Rhys Arkins
e5cd1cd4b0 docs: add versioning readmes 2019-01-07 16:19:15 +01:00
FidoX
e046536503 feat: maven datasource (WIP) (#2995)
feat: maven datasource
2019-01-07 10:44:47 +01:00
Rhys Arkins
76b9db414d fix: Revert "feat(github): allow positive PR reviews to override changes requested (#3037)"
This reverts commit 9af3ef2ee1.
2019-01-07 07:37:10 +01:00
Fedor Lukyanov
1a7326efeb refactor: Extract mask token function from npm datasource to utils (#3040)
Helps with https://github.com/renovatebot/renovate/pull/3039 😄
2019-01-07 06:38:24 +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
rtaum
9af3ef2ee1 feat(github): allow positive PR reviews to override changes requested (#3037)
Closes #3012
2019-01-06 17:56:30 +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
Sergio Zharinov
94491ba0d0 feat: Implement auxiliary functions for maven versioning (#3028) 2019-01-05 17:32:55 +01:00
Rhys Arkins
4b38793471 refactor: trustLevel 2019-01-05 09:16:32 +01:00
Rhys Arkins
a407d8f767 refactor: use purl for all npm getPkgReleases 2019-01-05 08:24:03 +01:00
Rhys Arkins
3dc82ffa2d refactor: remove retries from npm getPkgDependencies 2019-01-05 08:17:22 +01:00
Rhys Arkins
6f529375e4 refactor: split npm datasource into separate files 2019-01-05 08:01:56 +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
1c6725f0bd tests: drop github cache test 2019-01-04 12:28:08 +01:00
Rhys Arkins
284f7862a5 tests: drop cache test for docker 2019-01-04 10:56:19 +01:00
Sergio Zharinov
e9ee0179c5 feat: maven compare functions (#3020)
Adds comparator function, in readiness for full Ruby versioning support later.
2019-01-04 11:11:42 +02:00
rtaum
960648abbe feat: Detect GitLab default branch for presets (#3015)
Usually master will be used, but just in case - let's find which branch is default first, before retrieving the file.

Closes #2991
2019-01-04 07:48:12 +02: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
Rhys Arkins
cfb7a4750f refactor: rename semver-cargo -> cargo 2019-01-03 08:27:08 +02:00
Rhys Arkins
1ddf747eed fix: add ruby versioning to definitions 2019-01-03 08:24:39 +02:00
Nikita Chashchinskii
419692a2f3 feat: semver-cargo versioning (#3002)
This PR adds support for semver-cargo versioning.

Closes #2780
2019-01-03 07:33:22 +02:00
Fedor Lukyanov
e3446bfc0c feat: Ruby semver versioning (#3000) 2019-01-03 07:32:08 +02:00
Rhys Arkins
67e3825f42 refactor: renovateFork -> includeForks 2018-12-31 07:46:00 +02:00
Rhys Arkins
4923ef93fb refactor: move version normalization into datasource index 2018-12-27 07:51:26 +02:00
Rhys Arkins
4a19d57c6b
feat: datasource versions filter (#3001)
* add filter and sort to datasource
* remove filter and sort from individual datasources
2018-12-26 09:36:24 +02:00
Rhys Arkins
0f4f2ae862 tests: refactor docker getPkgReleases 2018-12-26 08:46:07 +02:00
Rhys Arkins
a087db1c87 tests: drop unused docker test 2018-12-26 08:37:25 +02:00
Rhys Arkins
5a6e622234 tests: complete packagist 2018-12-26 07:51:04 +02:00
Rhys Arkins
55875476a8 refactor: sanitize -> normalize 2018-12-26 07:07:01 +02:00
Nikita Chashchinskii
71ee394aba feat: cargo datasource (#2993) 2018-12-26 06:39:38 +02:00
Rhys Arkins
ba0e1ef3eb fix(docker): remove unused suffix matching in datasource 2018-12-25 21:13:37 +02:00
Rhys Arkins
9d8239d9cf feat: datasource releases memcache
Adds automatic memcaching of datasource releases results per-repo.
2018-12-25 13:31:51 +02:00
Rhys Arkins
b1ac356efe tests: fix lookup name 2018-12-25 13:25:19 +02:00
Rhys Arkins
81daa65af9 fix(datasource): trim empty dep urls 2018-12-25 08:02:10 +02:00
Rhys Arkins
5b43931aab fix(gitFs): use sha for non-master branches 2018-12-23 08:46:09 +02:00
rtaum
0a8264612d feat: Add gitlab preset (#2984) 2018-12-21 20:28:26 +02:00
Rhys Arkins
820a8a8ab5 fix: reenable deprecation warning issues 2018-12-19 06:28:39 +01:00
Rhys Arkins
08b7752027 feat(github): ensure issue once 2018-12-19 06:05:43 +01:00
Nebukadneza
a519916763 fix: got needs url parsed for basic-auth in url (#2972)
When including basic-auth information in the URL, such as
`https://user:pass@my.pypi.repo.xx/repo`, `got` needs this url-parsed to
not throw an error. Since this is common with requirement.txts and
Pipfiles, let’s support this.

Closes #2971
2018-12-19 05:55:42 +01:00
Rhys Arkins
4356d4c7d5 fix: recreateClosed if grouping multiple digests
Closes #2974
2018-12-18 22:22:19 +01: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
7e7abb60e1 tests: fix renovate user tests 2018-12-17 15:08:43 +01:00
Rhys Arkins
7c99a6c4e7 chore: update snapshots 2018-12-16 18:50:46 +01:00
Rhys Arkins
6ef61c8608 Revert "feat: ensureIssue once"
This reverts commit 3988fb808a.
2018-12-16 17:18:00 +01:00
Rhys Arkins
0956c058d0 Revert "fix: ensureIssue logic (#2957)"
This reverts commit 83b4bead48.
2018-12-16 17:17:33 +01:00
Rhys Arkins
7d4cd7ca60
feat: circleci orb support (#2955)
Closes #2950
2018-12-16 14:32:11 +01:00
Rhys Arkins
83b4bead48
fix: ensureIssue logic (#2957)
if ensureIssue once, and the first matching issue was closed, then any other matching open ones are also closed.

If ensureIssue regular, and all are closed, then reopen the latest one.
2018-12-16 13:47:05 +01:00
Rhys Arkins
bb1db08fe3 tests: fix snapshot 2018-12-14 12:37:32 +01:00
Rhys Arkins
3988fb808a feat: ensureIssue once
Closes #2936
2018-12-14 11:47:52 +01:00
Rhys Arkins
5577b4de79 tests: disable python setup parsing tests 2018-12-14 10:23:22 +01:00
Rhys Arkins
9587581c46 tests: drop flakey changelog cache test 2018-12-14 09:10:13 +01:00
Rhys Arkins
0dd52209b9 tests: drop flakey cache test 2018-12-13 21:24:52 +01:00
Rhys Arkins
8e8fd4dad9 tests: update snapshot 2018-12-13 20:37:41 +01:00
Rhys Arkins
079afe1820
feat: configurable versionScheme (#2945)
Closes #2914
2018-12-13 05:29:11 +01:00
Rhys Arkins
320c666a6c chore: prettier 2018-12-12 11:59:43 +01:00
Mike Bryant
9ac84fa4e3 refactor(docker): break out manifest retrieval function (#2931) 2018-12-11 13:04:09 +01:00
Rhys Arkins
8c2cad0647 feat: packageRules>languages
Adds new filter option “languages” to packageRules to filter on language time.
2018-12-11 12:55:12 +01:00
Rhys Arkins
31849e215b feat: packageRules>managers
Adds new filter option `managers` to `packageRules`. This allows you to define rules that filter on package manager (e.g. pipenv) before applying the rule.
2018-12-11 12:40:35 +01:00
Rhys Arkins
6819764295 feat: packageRules>sourceUrlPrefixes
Adds filtering option “sourceUrlPrefixes” to allow matching updates based on one or more prefixes. Prefixes could be a full source repo, e.g. https://github.com/renovatebot/presets, or it could be an org prefix like https://github.com/renovatebot/

This will make monorepo groupings easier.
2018-12-11 12:03:09 +01:00
Rhys Arkins
f242ef1256 refactor: centralize pypi manual source urls 2018-12-10 09:20:51 +01:00
Rhys Arkins
a69376ab46 feat: printConfig
Adds an option to print the full, resolved config for a repo at INFO level. e.g.

renovate —print-config owner/repo

Closes https://github.com/renovatebot/config-help/issues/128
2018-12-10 08:53:55 +01:00
Rhys Arkins
00de6f2e1e feat: datasource manual source URLs
Adds central location to define manual source URLs for packages.
2018-12-10 06:49:15 +01:00
Rhys Arkins
0f0bae4b65 refactor: datasource manual urls
Provide a central location for mapping changelog and source URLs.
2018-12-10 06:34:39 +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
eb1c65277e
refactor: use renamed azure devops dependency (#2925) 2018-12-10 04:24:42 +01:00
Rhys Arkins
bd163effb0 chore: prettier 2018-12-09 13:17:37 +01:00
Rhys Arkins
32e2140886 fix(deprecations): do not raise warnings for onboarding repos 2018-12-09 13:12:10 +01:00
rtaum
90af9fc3ab feat: refactor raiseDeprecationWarnings into suppressNotifications (#2921) 2018-12-09 11:39:35 +01:00
Rhys Arkins
6b12fc4ea4 refactor(versioning): use get function 2018-12-08 16:46:13 +01:00
Rhys Arkins
846c16529d
refactor: versioning require (#2915)
Simplify when statically selected
2018-12-08 15:51:34 +01:00
rtaum
2146bafdbd feat: suppressNotifications (#2906)
Adds ability so suppress certain notifications/warnings/comments.

Closes #2794
2018-12-08 12:42:56 +01:00
Rhys Arkins
ba114c393f fix(bitbucket): getPrList fetch all 2018-12-08 06:38:22 +01:00
Rhys Arkins
385c0531b8 feat(onboarding): warning about unresolvable dependencies
Closes #2303
2018-12-05 13:19:27 +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
6ba13f9132 feat(pr): support rebasing checkbox
Adds a “rebase this PR” checkbox for github and gitlab. Suppressed for Bitbucket and VSTS because not currently supported.

Closes #2766
2018-12-05 07:22:38 +01:00
Rhys Arkins
0d6a1308e2 fix: ignore white space when comparing PR bodies
Closes #2769
2018-12-05 05:58:02 +01:00
Rhys Arkins
fd6398ef69 fix(github): gracefully handle integration unauthorized 2018-12-03 12:03:46 +01:00
Grigorij Eleskin
400272f68e fix(github): handle ParseError (#2885) 2018-12-03 10:49:07 +01:00
Rhys Arkins
8a77914e86 fix(buildkite): handle arrays 2018-11-29 12:38:32 +01:00
Rhys Arkins
265e552ea4
chore(buildkite): add test fixture with multiple plugins 2018-11-29 12:21:00 +01:00
Grigorij Eleskin
0b6ad1c898 fix(gomod): support remote option in go_repository (#2877) 2018-11-29 08:39:45 +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
Sam Bull
d689424ce2 feat(pypi): try multiple hostUrls 2018-11-22 17:14:12 +01:00
Rhys Arkins
8c79536101 feat(config): allow .github/renovate.json 2018-11-22 16:06:02 +01:00
Rhys Arkins
35172b5b9c chore: rename newmanager -> bundler tests 2018-11-22 08:56:54 +01:00
Rhys Arkins
36feb03d1c fix(go): filter out versions without leading v
Closes #2850
2018-11-21 22:51:49 +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
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
Rhys Arkins
e879bf6f30 fix(config): migrate file config 2018-11-16 12:02:30 +01:00
Ayoub Kaanich
08d22eba50 feat: Support setup.py files (#2805) 2018-11-15 18:42:01 +01:00
Rhys Arkins
30d2338500 fix(semver): replace operatorless ranges rather than bump 2018-11-15 15:54:50 +01:00
Ayoub Kaanich
7d31af5ecb feat: Support Bazel commit-based go_repository (#2821)
Closes #2806
2018-11-14 13:11:35 +01:00
Rhys Arkins
0f6772e699
refactor: flatten updateTypes inside packageRules (#2808)
Closes #2799
2018-11-13 09:29:53 +01:00
Rhys Arkins
b0293da9fa fix(npm): bump full unstable versions
Closes #2809
2018-11-12 23:32:58 +01:00
Rhys Arkins
2533fb0751 fix(packagist): use static endpoint for org lookups
Closes #2785
2018-11-11 07:42:35 +01:00
Rhys Arkins
e4a73c2320 fix(github): detect status checks automerge failure
.. and don’t create PRs.

Closes #2786
2018-11-11 07:09:39 +01:00
Rhys Arkins
265d375f6a fix(gitlab): detect empty repo earlier in initRepo 2018-11-10 23:19:20 +01:00
Ayoub Kaanich
b48173a039 feat: Support go_repository in bazel (#2782) 2018-11-10 21:50:17 +01:00
Rhys Arkins
3300b5a51a fix(pr): don’t log automerged unless true 2018-11-09 22:11:26 +01:00
Rhys Arkins
45da51aa6d refactor: add cargo skeleton
Begins #1870
2018-11-09 14:22:11 +01:00
Rhys Arkins
f3b4b413c6 chore: website test exclude unpublished options 2018-11-09 14:20:55 +01:00
Ayoub Kaanich
48278ad247 fix(pip): requirements.txt extras (#2773) 2018-11-09 13:51:23 +01:00
renovate[bot]
dff1fb137b feat(deps): update got packages (major) (#2433) 2018-11-09 12:50:21 +01:00
Rhys Arkins
e04dbc38b6 fix(gitlab): check MR branch status only if opened
Fixes #2771
2018-11-08 23:41:52 +01:00
Ayoub Kaanich
c1f6eb38c3 feat: delete gitlab labels (#2772)
Closes #2764
2018-11-08 20:01:10 +01:00
Ayoub Kaanich
164b9af513 feat: gitFs over SSH (#2768)
Support setting git clone protocol `http`, `https` or `ssh`.
Config name: `gitFsProtocol`.
Platform independent.

Closes #2708
2018-11-08 13:21:36 +01:00
Rhys Arkins
a5531b8713 fix(gitlab): check branch status for MR mergeability
Adds a call to getBranchStatus() from getPr() so that we are correctly calculating pr.canMerge status.

Closes #2735
2018-11-07 13:19:20 +01:00
Guillaume Dedrie
3428b4b183 fix(gitlab): getPrFiles throw TypeError: files.map is not a function. (#2761)
In `getPrFiles` function, when requesting MR changes to GitLab API
(in order to return files modified by the MR), we should iterate over
`changes` property in the HTTP body response, and return `new_path` as
the filename.
See: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-mr-changes
2018-11-07 13:17:32 +01:00
Ayoub Kaanich
680d5c17ac feat: loose versioning (#2759)
Closes #2748
2018-11-06 13:35:11 +01:00
Ayoub Kaanich
33781c4d39 feat(docker): better versioning redo 2018-11-05 12:14:04 +01:00
Rhys Arkins
71b8fb0e72 fix: Revert "feat: better docker versioning (#2742)"
This reverts commit ea8bcbc9b2.
2018-11-05 11:35:06 +01:00
Rhys Arkins
031d94d7ed Revert "fix(docker): null is not a valid version"
This reverts commit 8f0279ec3a.
2018-11-05 11:35:06 +01:00
Rhys Arkins
8f0279ec3a fix(docker): null is not a valid version 2018-11-05 10:11:58 +01:00
Ayoub Kaanich
ea8bcbc9b2 feat: better docker versioning (#2742)
Rewrite docker versioning to support versions of any size.

Closes #2357, Closes #2358
2018-11-05 09:32:34 +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
Ayoub Kaanich
4f320ed9cd feat: Python compatibility (#2736) 2018-11-04 18:12:58 +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
Ayoub Kaanich
894fc72b42 tests: fix gradle tests in Windows (#2727) 2018-11-01 14:55:40 +01:00
Ayoub Kaanich
278b892cb9 feat(gitlab): Implement pr.isStale (#2716)
feat(gitlab): Implement pr.isStale
2018-10-31 15:05:25 +01:00
Ayoub Kaanich
975ee2b79b feat: GitFs for GitLab (#2692)
Since Gitlab does not support using tokens to write to repo, `commitFilesToBranch` will always use the API. This could be changed once GitFS over SSH is implemented. 

Closes #2549
2018-10-29 18:25:11 +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
554f305a82 feat(bitbucket): Issues Support (#2705)
Closes #2439
2018-10-29 17:07:50 +01:00
Rhys Arkins
6c8e796cb1 fix(github): skip branch status checks if pr.canMerge=true 2018-10-29 06:32:20 +01:00
Ayoub Kaanich
9295efecdd fix(docker): skip index reference COPY --from tags (#2699) 2018-10-28 08:30:28 +01:00
Rhys Arkins
05fa91e9cd feat: dry run
Adds support to run Renovate like “renovate owner/repo —dry-run”. Instead of creating branches, PRs or comments, an INFO level dry run message will be logged each time instead.

Closes #1399
2018-10-26 09:48:49 +02:00
Guillaume Dedrie
23c3caf268 fix(gitlab): s/PATCH/PUT on MR note modification API call. (#2690)
When trying to modifying an existing note for a merge request,
RenovateBot ended up with an `Error updating branch`, the API call
returning a `404 Not Found`.
After taking a look at the GitLab API documentation
(https://docs.gitlab.com/ee/api/notes.html#modify-existing-merge-request-note),
the right call for modifying a MR notes should be perform using the
`PUT` HTTP Method.

This has been discovered because I observed errors after commit
6577651f74 that modify all occurences of
`Pull request` (or `PR`) to `Merge Request` (or `MR`) of notes bodies
before updated it.
2018-10-25 19:01:39 +02:00
Rhys Arkins
163c4bf53a fix: github getDigest use purl 2018-10-23 13:48:08 +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
a0cfab4421 chore: update fixture to non-vulnerable version 2018-10-23 06:31:02 +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
Rhys Arkins
9c0135cf0d fix: typo in digest newValue
Closes #2674
2018-10-22 10:50:58 +02:00
Rhys Arkins
46dfc5eb1d feat(schedule): massage “every month” and “monthly” 2018-10-18 15:58:15 +02:00
Rhys Arkins
1409f923d9 feat(composer): packagist.org optimisation
Use direct lookup for packagist.org only
2018-10-18 13:48:30 +02:00
Rhys Arkins
93a331f214 fix(composer): cache per site 2018-10-18 13:11:33 +02:00
Rhys Arkins
81d64bb884 feat: repo mem cache for packagist 2018-10-18 11:06:57 +02:00
Rhys Arkins
5565e4d79d refactor(packagist): don’t warn when 404 registry 2018-10-18 05:52:49 +02:00
Rhys Arkins
058289e8bd fix(githhub): handle empty file 2018-10-18 04:59:07 +02:00
Rhys Arkins
085a4d8514 fix(composer): support complex range widening 2018-10-18 04:28:55 +02:00
Rhys Arkins
85dd6b02db feat(composer): support auto rangeStrategy 2018-10-18 04:28:10 +02:00
Rhys Arkins
148126859d fix(terraform): handle whitespace better in replace 2018-10-17 06:38:41 +02:00
Rhys Arkins
04bdad1093 fix(composer): handle differing toVersion lengths 2018-10-16 17:53:14 +02:00
Rhys Arkins
3ed9d36a27 refactor(gitfs): throw error if branch no longer exists 2018-10-16 16:32:45 +02:00
Rhys Arkins
d19a4ba709
feat(github): support check-runs for branch status (#2659)
Closes #2571, Closes #2616
2018-10-16 12:43:27 +02:00
Rhys Arkins
70b4000f83 chore: remove misbehaving cache test 2018-10-16 06:47:54 +02:00
Rhys Arkins
956d198f89 fix(composer): handle non-array repositories 2018-10-16 06:33:42 +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
ba80991bac fix(hostRules): support endpoint-only rule 2018-10-15 13:43:17 +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
James King
a0dfa3fddc fix(gitlab): issues API is description not body (#2620)
Fixes a crash with GitLab due to the API Issue body being called `description` and not `body`:

https://docs.gitlab.com/ee/api/issues.html#single-issue

Closes #2619
2018-10-09 05:05:20 +02:00
Rhys Arkins
36070ca43a fix(gitlab): getPrBody massage master issue links
Closes #2615, Closes #2621
2018-10-09 05:02:58 +02:00
Rhys Arkins
2cabefef83 fix(github): gracefully handle fork error 2018-10-08 10:42:17 +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
659d89ce5f fix(semver-hashicorp): handle comma separator 2018-10-06 13:59:44 +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
a429618e09
chore: try delay for changelog cache test (#2608) 2018-10-06 13:35:10 +02:00
Rhys Arkins
ff2e40bd21 feat: terraform datasource
Adds a new datasource for querying terraform module registries.
2018-10-06 09:52:00 +02:00
Rhys Arkins
91d3729b37 feat: hashicorp semver
Hashicorp’s semver is same as npm’s except for handling of “~> 1.2”. For Hashicorp it means ^1.2 whereas for Hashicorp is means ~1.2.
2018-10-06 09:43:25 +02:00
Rhys Arkins
efa67edf65 fix(semver): handle ~> 2018-10-06 09:17:39 +02:00
Rhys Arkins
78271c818a
chore: refactor cached changelog test (#2607) 2018-10-06 07:27:43 +02:00
Rhys Arkins
34061cf53c feat: go datasource getDigest
Closes #2603
2018-10-05 16:04:12 +02:00
Rhys Arkins
bdf1227bc0 fix: better group commit extra detection 2018-10-05 14:04:21 +02:00
Rhys Arkins
9551ed75c0 feat(gomod): strip relative replace statements
Closes #2596
2018-10-05 12:34:51 +02:00
Rhys Arkins
faac0ee484 tests: fix go.mod filename in artifacts 2018-10-05 12:20:59 +02:00
Rhys Arkins
69cf9d309f feat(schedule): default to “at any time”
Closes #2601
2018-10-05 10:50:21 +02:00
Rhys Arkins
77997770f1 fix(schedule): don’t massage null value 2018-10-05 10:03:30 +02:00
Rhys Arkins
4ec79bb018 fix: better detect common toVersion when grouping
Closes #2600
2018-10-05 06:39:53 +02:00
Rhys Arkins
95d01e7ab1 feat: master issue
Adds undocumented/experimental “master issue” feature.

Setting `config.masterIssue = true` will result in Renovate opening and maintaining an issue that contains a list of all PRs both pending and open, and allowing some control over them (e.g. bypass schedule, force retry, etc).

Setting `config.masterIssueApproval` in addition will mean that branches are not created automatically and instead await approval in that master issue.

Closes #2595
2018-10-04 10:08:20 +02:00
Rhys Arkins
1f128bbcc2 refactor: processBranch function interface 2018-10-03 15:57:01 +02:00
Rhys Arkins
6481c74905 feat: add platform.findIssue() 2018-10-03 15:47:03 +02:00
Rhys Arkins
04f89843b1 fix(gomod): handle quoted dependencies 2018-10-02 18:49:00 +02:00
Rhys Arkins
8597f16ba9 fix(golang): skip digest updates if real versions exists 2018-10-02 14:20:24 +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
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
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
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
2555339552 feat: rebase using PR title
If PR title starts with “rebase!” then PR will be rebased.
2018-09-27 15:34:13 +02:00
Rhys Arkins
29115ba38c fix: bump patch only if explicitly separating
Bump updates should only be separated into “patch” if users explicitly separate patch and minor.

Closes https://github.com/renovatebot/presets/issues/85
2018-09-27 14:57:28 +02:00
Rhys Arkins
5956adf8bc fix(pr): improve rebase instructions 2018-09-27 14:32:45 +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
0e2947aa3f fix(followTag): jump unstable
Fixes #2561
2018-09-26 15:52:06 +02:00
Rhys Arkins
8c27d6fb23 tests: drop fatal test and ignore 2018-09-25 12:30:44 +02:00
Rhys Arkins
1135b02252 fix(composer): autoremove, fix tests 2018-09-25 12:14:02 +02:00
Rhys Arkins
75d07170cb feat(composer): support docker install 2018-09-25 10:31:07 +02:00
Rhys Arkins
e4db4a4a35 fix(github): handle ‘empty’ repository properly 2018-09-25 08:50:47 +02:00
Rhys Arkins
6f16f1c569 feat: prBody default to Change column 2018-09-24 22:04:04 +02:00
JYC
56ee66381b feat(vsts): abandon pr after delete branch (#2086) 2018-09-23 16:36:37 +02:00
JYC
d68f780987 fix(vsts): check body in updatePr 2018-09-23 14:32:01 +02:00
JYC
11556676b7 fix(vsts): state not status 2018-09-23 14:27:37 +02:00
Rhys Arkins
5c4dc4a063
refactor(github): use markdown not html for PR body (#2555) 2018-09-23 06:05:43 +02:00
Rhys Arkins
9ec32e26f3 refactor(gitlab): use markdown not html 2018-09-22 20:01:18 +02:00
Rhys Arkins
8a6e5fddfa fix: Revert "refactor(changelog): use markdown not html"
This reverts commit 0340f42d84.
2018-09-22 18:41:32 +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
0340f42d84 refactor(changelog): use markdown not html
Closes #2553
2018-09-22 17:49:56 +02:00
Rhys Arkins
3e4d2b7846 refactor: 3 length table header separator 2018-09-21 11:48:06 +02:00
Rhys Arkins
66a4aa40d8
feat: custom PR body notes (#2545)
Adds field “prBodyNotes” to allow customisable content in PR body.

Closes #1802
2018-09-21 11:36:07 +02:00
Rhys Arkins
dcec25c291
feat: customisable PR tables (#2544)
Adds ability to both redefine column definitions in PRs as well as add or remove columns.
2018-09-21 09:46:51 +02:00
Rhys Arkins
29251352e8
feat: common prBody across all types (#2542)
Closes #442
2018-09-21 05:43:51 +02:00
Rhys Arkins
72327f06a0 fix: allow rebase label after PR editing 2018-09-20 16:10:14 +02:00
Klaus Meinhardt
e9e71f4c1d feat: followTag (#2538)
If `followTag` is defined for a package, then Renovate will ignore all other available versions and instead stick strictly to whatever version is defined for the tag. npm-only for now.

Closes #2258
2018-09-19 09:59:33 +02:00
Rhys Arkins
cec7f6dd2e feat(docker): support registryUrls
Adds support for defining a default Docker registry. e.g. if `config.registryUrls = [‘https://docker.company.com']` then lookups for packages like `node` will be done from docker.company.com instead of index.docker.io.
2018-09-19 08:51:43 +02:00
Rhys Arkins
d625d1bfb0 fix: don’t create PR out of schedule
Closes #2536
2018-09-19 07:07:04 +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
0498015f65 refactor(docker): use 7 char short digests 2018-09-16 06:11:12 +02:00
Rhys Arkins
e7418b27a0 fix(npm): correct skipInstalls logic to consider config 2018-09-15 18:09:10 +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
cf6bb03a25 fix: remove npm-specific rollback terminology in pr body
Closes #2250
2018-09-15 14:22:50 +02:00
Rhys Arkins
23e7cdf0b2 feat: re-activate npm rollback PRs
Re-activating npm rollback PRs now that they have resolved their scoped package ttl, which caused previous false positives.
2018-09-15 14:17:03 +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
788d96e5e9 refactor: rename isUnmergeable to isConflicted 2018-09-14 20:02:51 +02:00
Rhys Arkins
1e48508079 fix(onboarding): correct merge conflict detection
Use isUnmergeable and not canMerge

Closes #2524
2018-09-14 19:52:04 +02:00
Rhys Arkins
b817db10a3
feat: rebase on demand (#2522)
Adds functionality to force rebase a PR if the label "rebase" is added. Also, the label is configurable via a new `rebaseLabel` config option.

Closes #1406
2018-09-14 12:51:33 +02:00
Rhys Arkins
58d5483e7b feat: changelogUrl
Allows static configuration of custom changelog URLs per npm package, which will then be displayed in PR bodies.

Closes #2520
2018-09-14 06:55:38 +02:00
Rhys Arkins
e66ededcfd fix(ghe): don’t escape PR bodies if using non-github.com endpoint 2018-09-13 05:44:27 +02:00
Rhys Arkins
b8f76ee230 fix(ghe): strip /v3 suffix for graphql
Closes #2507
2018-09-12 19:58:21 +02:00
Rhys Arkins
f8cf83380f
refactor: endpoints -> hostRules (#2509)
Renames `endpoints` to `hostRules`
2018-09-12 12:16:17 +02:00
Rhys Arkins
9c93f04c4a tests: fix tests 2018-09-12 07:02:09 +02:00
Rhys Arkins
dda0bade29
refactor: use single localDir per repo (#2505) 2018-09-12 06:30:01 +02:00
Rhys Arkins
a411b11982 feat(docker): cache docker tags 2018-09-11 14:20:41 +02:00
Rhys Arkins
133505da09 feat(docker): cache digests for 30 minutes 2018-09-11 14:02:06 +02:00
Rhys Arkins
9e38d021a6 refactor(github): use graphql to fetch closed PRs 2018-09-11 09:49:01 +02:00
Rhys Arkins
dc038b3962 refactor(github): use graphql to retrieve open pr list 2018-09-11 06:07:50 +02:00
Rhys Arkins
bf23922b5c refactor(gitfs): use localDir 2018-09-10 16:25:55 +02:00
Rhys Arkins
2ce75cdbf1 refactor(composer): reuse localDir for lockfile generation 2018-09-10 15:58:24 +02:00
Rhys Arkins
9fb98db3f5 tests: fix coverage 2018-09-10 15:32:03 +02:00
Rhys Arkins
8f5fb582cb feat: platform.getRepoStatus 2018-09-10 14:01:56 +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
005dab5bcf feat: cache npm results 2018-09-07 14:40:55 +02:00
Rhys Arkins
3bd895a2d9 tests: add flatten test 2018-09-07 09:57:29 +02:00
Rhys Arkins
7faed2050d tests: update flatten test 2018-09-07 09:27:01 +02:00
Rhys Arkins
81818195b7 refactor: separate lockFileMaintenance per-package file
Closes #2464
2018-09-07 09:26:43 +02:00
Rhys Arkins
4d803d9c40 tests: fix flatten test 2018-09-07 09:13:30 +02:00
Rhys Arkins
f9a09d9722 tests: fix appMode test 2018-09-07 09:05:59 +02:00
Rhys Arkins
73df75d0c0 feat(gitfs): reuse cloned git directory
Closes #2430
2018-09-05 21:51:39 +02:00
Rhys Arkins
80463651ca feat: logger err serializer
Include body, message and stack with every error if present
2018-09-05 10:32:53 +02:00
Rhys Arkins
b054c63ffb tests: fix github platform tests 2018-09-05 07:00:30 +02:00
Rhys Arkins
f5b93de82d refactor(github): simplify getAllRenovateBranches 2018-09-05 06:23:55 +02:00
Rhys Arkins
f0e53028b0 fix: set endpoint for GITHUB_COM_TOKEN 2018-09-04 15:56:37 +02:00
Rhys Arkins
ef70c48d4b fix: sort dependencies by name in PRs
Remove randomness
2018-09-04 06:30:47 +02:00
Rhys Arkins
167049502a fix: don’t look up release notes compare URLs by date 2018-09-03 22:39:35 +02:00
Rhys Arkins
5e38150154 fix: skip changelog lookup for @types
There’s never anything there
2018-09-03 22:20:01 +02:00
Rhys Arkins
0d2e3bd451 chore: update snapshot 2018-09-03 17:11:13 +02:00
Rhys Arkins
1f7b25e51c fix: cache changelog on from/to 2018-09-03 16:19:02 +02:00
Rhys Arkins
562ca43859 tests: fix lint 2018-09-03 16:01:47 +02:00
Rhys Arkins
a505376c12 tests: fix github datasource cache test 2018-09-03 15:52:06 +02:00
Rhys Arkins
8bfe3897de fix(github): platform-error if ENOTFOUND 2018-09-03 10:58:20 +02:00
Rhys Arkins
4d48ba1395 refactor: cache changelog per-release
Closes #2473
2018-09-03 10:25:30 +02:00
Rhys Arkins
7c3b6f1054 refactor: add release notes in one place 2018-09-03 09:17:11 +02:00
Rhys Arkins
934adfdffe refactor: move release notes into changelog 2018-09-03 08:39:30 +02:00
Rhys Arkins
35b2ce8b42
feat: centralised cache (#2472)
Closes #2466
2018-09-03 07:27:22 +02:00
Hutson Betts
e469cf1a6a feat(gitlab): ignore archived repositories (#2461)
Ignore archived GitLab repositories.

Closes #2437
2018-09-02 21:13:23 +02:00
Rhys Arkins
61466b7114 fix: remove prBody double compile 2018-09-02 19:18:44 +02:00
Rhys Arkins
d660c57a19 feat: add prBanner to default prBody template 2018-09-02 18:21:48 +02:00
Rhys Arkins
c1fd79bac7 feat: cache github datasource results for 10 minutes 2018-09-01 07:18:28 +02:00
Erik Seliger
6cf6eab8fa fix: allow cli json lists (#2457)
Now supports `--endpoints=[........]` via CLI.

Closes #2455
2018-08-31 21:44:40 +02:00
Rhys Arkins
0e0d050884 refactor: include releases only if there’s an update 2018-08-29 11:13:45 +02:00
Vladimir Starkov
608d8c5be0 feat: Bitbucket Cloud support
Adds platform support for Bitbucket cloud.

Closes #136, Closes #2238
2018-08-29 07:30:23 +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
Rhys Arkins
265f796ea6 fix: remove excess newlines from pr body 2018-08-27 13:56:53 +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
5fb9d77bba
feat: separate groups into major/minor/patch (#2426)
Previously if grouping, all major/minor updates within that group were combined into one. Instead, we now honour the “separateMajorMinor”, "separateMinorPatch", and "separateMultipleMajor" settings and keep the groups separate if necessary.

For maximum compatibility with existing PRs, we name branches like `renovate/group-name` whenever possible and only name them like `renovate/major-group-name` or `renovate/patch-group-name` if major or patch are found.

Closes #2425
2018-08-27 06:25:17 +02:00
Ayoub Kaanich
ce5f434b56 feat: Git FS (#2323)
Methods to support performing Git operation using filesystem instead of web API. GitHub only and experimental only. Usage: define env variable `RENOVATE_GIT_FS`.

Closes #1925
2018-08-25 15:50:49 +02:00
Rhys Arkins
6b6d1bf859 refactor(logs): return logs to app layer 2018-08-23 20:35:25 +02:00
Ayoub Kaanich
bb1229cf18 chore: gitignore nuget auto generated files (#2414) 2018-08-23 18:37:11 +02:00
Rhys Arkins
d1ee797e54 fix: add trailing / to endpoint
Closes #2363
2018-08-20 12:53:57 +02:00
Rhys Arkins
c1dd5c0c8c feat: show both homepage and source repo for each dep
Changes PR body to show both homepage and source repo if both are present in the datasource metadata.

Closes #2387
2018-08-17 17:27:54 +02:00
Rhys Arkins
2eaaaca6a9 tests: update snapshot 2018-08-17 17:19:00 +02:00
Maximilian Gaß
8a9c371bef fix(docker): fix Docker group template (#2398) 2018-08-17 10:46:30 +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
Rhys Arkins
8cf9334273 tests: update snapshots 2018-08-16 18:37:22 +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
bc074aff02 fix: check PR is closed when finding blocking PR
Closes #2391
2018-08-16 12:15:56 +02:00
Rhys Arkins
19116fc6ed refactor: remove legacy closed PR check 2018-08-16 12:04:44 +02:00
Rhys Arkins
e9108a0502 refactor(npm): return package tags 2018-08-16 06:19:39 +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
Rhys Arkins
d2885e5d9e fix: do not jump unstable versions implicitly
If the current value is already unstable then we presume the user is happy to take newer unstable versions. However we should not presume that they want to keep jumping versions if so and instead would prefer to stabilise.

Discussed in #2258 but does not close it
2018-08-15 09:40:10 +02:00
Rhys Arkins
d376f9db87 refactor(versioning): expose getPatch 2018-08-15 09:38:04 +02:00
Rhys Arkins
3761aabea6 fix(vsts): set endpoint from env 2018-08-15 09:16:44 +02:00
Rhys Arkins
7d8d4faea5 fix(npm): Disable npm rollback PRs
Necessary because of https://npm.community/t/scoped-packages-have-latest-version-disappear-temporarily-soon-after-publish/633

Until the npmjs registry can return consistent results, we need to disable roll back PRs.

Closes #2148
2018-08-15 08:42:10 +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
Maximilian Gaß
15ee7ab4ae fix: pinning digest of latest version (#2359)
If the dependency already is the latest version, filteredVersions is
empty here, and then the early exit skips over the pinning code
2018-08-11 10:03:57 +02:00
Maximilian Gaß
eb167f571c fix(docker): Only add library/ for Docker Hub images (#2369) 2018-08-11 10:03:03 +02:00
Ayoub Kaanich
8d3f164f19 refactor(github): move git API into its own file (#2346)
Related to #2323 and #1925
2018-08-06 09:04:08 +02:00
Rhys Arkins
b41a2a9256 feat: support DOCKER_USERNAME and DOCKER_PASSWORD 2018-08-05 07:39:38 +02:00
Maximilian Gaß
3a62394435 feat: docker registry authentication (#2339)
Closes #798
2018-08-05 07:25:08 +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
048eb6bf6e
feat: github-hosted presets (#2328)
Adds support for GitHub-hosted presets, using the `github>` prefix. Supports single preset per repository only.

Example:

```json
{
  "extends": ["github>renovatebot/renovate"]
}
```

The above would extend the `renovate.json` inside this repository (probably not a good idea, but an example).

Closes #2102, Closes #2312
2018-07-31 06:48:56 +02:00
Nicolas Byl
5a6bce3daa feat(docker): fallback to manifest parsing when digest header is missing (#2316)
As mentioned in #2315 some docker registries don't support the digest header. This PR falls back to parsing the resulting manifest if the header is present.

Closes #2315
2018-07-30 19:00:21 +02:00
Rhys Arkins
83e00f2adc refactor(presets): move more logic into datasource 2018-07-30 08:08:28 +02:00
Rhys Arkins
89de664e7c fix: restore renovate-config to dependency return 2018-07-30 07:36:15 +02:00
Rhys Arkins
32c775265a refactor: separate npm.getPresets 2018-07-30 07:12:30 +02:00
Rhys Arkins
31f2f4c610 refactor: rename getDependency to getPkgReleases 2018-07-29 16:04:00 +02:00
Rhys Arkins
c720b2c256 tests: fix coverage 2018-07-29 15:50:19 +02:00
Rhys Arkins
1da53671b8 feat: vulnerabilityAlertsOnly
For use in new app
2018-07-29 09:03:54 +02:00
Rhys Arkins
ac371e2a37
feat(github): vulnerability alerts (#2321)
Adds rules to skip any configured grouping or schedules that prevent insecure packages from being updated immediately.

If GitHub's vulnerability alerts are detected, package rules are added to force empty schedule and grouping for each affected package. Settings are configurable via new `vulnerabilityAlerts` config object, e.g. so that custom PR titles, labels or assignees can be configured.

Closes #1567
2018-07-29 06:35:25 +02:00
Rhys Arkins
21ed038eed fix: add commitMessageSuffix to definitions 2018-07-28 20:47:25 +02:00
Rhys Arkins
0a50abbbca fix(github): handle case of no vulnerability alerts 2018-07-28 10:32:25 +02:00
Rhys Arkins
0fa593d5ab feat: log github vulnerability alerts 2018-07-28 08:47:49 +02:00
Rhys Arkins
a01b0b80ba fix(gitlab): html formatting to fix details/summary
Fixes #2317
2018-07-27 19:49:56 +02:00
Rhys Arkins
eaf73394d8 feat: linkify changelog/release notes
Adds the library `linkify-markdown` to actively linkify urls, issues and usernames so that they can then be linked to the renovatebot redirector for github.
2018-07-26 17:13:01 +02:00
Nicolas Byl
5819c114ea feat: use www-authenticate headers for docker auth (#2314)
Adds support for processing www-authenticate Header to obtain a token from the Docker servers. In particular, this enables Artifactory to work (without username/passwords for now). This is backwards-compatible to Docker Hub which issues this header with the current hard-coded URLs.
2018-07-26 16:25:44 +02:00
Rhys Arkins
785ff84c31 feat(github): replace github links with renovatebot redirects
Converts to HTML then replaces hrefs to github.com with renovatebot.com/gh/. Skips if non-github.com endpoint detected.

Closes #1804
2018-07-25 19:34:01 +02:00
Rhys Arkins
56de9339b5 fix(github): throw platform-failure for 5xx errors 2018-07-25 15:22:23 +02:00
Rhys Arkins
9555b27d9e fix(lookup): use major/minor/patch updateType instead of bump
Helps https://github.com/renovatebot/config-help/issues/67 and https://github.com/renovatebot/config-help/issues/70#issuecomment-407595535
2018-07-25 08:58:17 +02:00
Rhys Arkins
8c41640c87 fix: pass platform errors up 2018-07-23 16:47:37 +02:00
Rhys Arkins
2bb97240f1 fix(github): detect rate limit correctly 2018-07-23 13:11:56 +02:00
Rhys Arkins
1ada8b7913 feat: improved onboarding description
Adds description if onboarding PR is edited or conflicted. Removes config description if PR has been edited. Adds description of PR rate limiting.

Closes #1317, Closes #1684, Closes #1359
2018-07-23 11:11:27 +02:00
Rhys Arkins
bd249c8a86 refactor(onboarding): simplify update text
De-dupplicates text in the onboarding PR and makes it closer to what the theoretical commit message would be.

Closes #1315, Closes #2211
2018-07-22 22:38:59 +02:00
Rhys Arkins
945353376b feat(onboarding): use <details><summary>
Closes #2304
2018-07-22 22:26:45 +02:00
Rhys Arkins
1892b90348 feat(gitlab): use markdown for pr bodies 2018-07-22 22:03:14 +02:00
Rhys Arkins
6f868c83f2 refactor(lookup): return warnings object 2018-07-22 11:43:47 +02:00
Rhys Arkins
28afece617 feat: use release notes name in pr body if found 2018-07-22 10:29:55 +02:00
Rhys Arkins
fa6e23f414 fix: deduplicate file matches
Closes #2299
2018-07-22 09:37:10 +02:00
Rhys Arkins
250c4d8162 feat(npm): ignore vendorised package.json files
Closes #2291
2018-07-22 09:29:19 +02:00
Rhys Arkins
981d5a1cce feat: set prBody formatting per-platform
Pushes “getPrBody” logic into platform level to allow platforms to individually do things like text replacements and body length limiting.

Closes #2267
2018-07-22 07:47:23 +02:00
Rhys Arkins
95475be47a refactor(docker): disable rollback PRs by default 2018-07-22 06:51:20 +02:00
Rhys Arkins
14cbd68d42 feat: rollbackPrs
Adds new config option `rollbackPrs` which defaults to `true` (current behaviour). Setting to false will disable creation of rollback PRs - configurable globally, per-language, per-package, etc.
2018-07-22 06:49:04 +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
7066a5dd99 fix(docker): use tag suffix when looking up new digest 2018-07-21 10:47:29 +02:00
Rhys Arkins
2b0cfd436e refactor(docker): don’t include language in extract 2018-07-21 09:38:12 +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
2af433094c fix(github): treat 401 Bad Credentials as platform failure 2018-07-21 08:38:13 +02:00
Rhys Arkins
482892042a fix(docker): filter out failed digest lookups 2018-07-20 18:59:30 +02:00
Rhys Arkins
5d0b63bd06 fix(github): try large files only if in root dir 2018-07-20 18:52:23 +02:00
Rhys Arkins
a3b4dd4f96 fix(docker): return valid only if valid version 2018-07-20 10:25:44 +02:00
Rhys Arkins
441eac73b7 fix(docker): currentTag in pr body 2018-07-20 09:40:56 +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
997904cc63 refactor: branch files plus tests 2018-07-18 20:10:50 +02:00
Rhys Arkins
a6d2104c63
feat(composer): composer short versions (#2275)
Adds support for "short" versions like `1.0`, `v2.4`, etc.

Closes #2272
2018-07-17 10:23:56 +02:00
Rhys Arkins
63caf742f7 fix(composer): replace ‘v’ prefix in composer.json
If the user already has a ‘v’ prefix then we keep using it. If they don’t, then we don’t. We ignore what is actually on packagist.

Closes #2264
2018-07-17 09:22:46 +02:00
Rhys Arkins
5b15554930 fix(packagist): strip v from versions in response 2018-07-17 09:10:42 +02:00
Rhys Arkins
aa73819e16 fix(semver): handle unstable range replacements better 2018-07-14 10:12:59 +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
e83cb0a9c2 feat: skip schedule for pin dependencies PRs
Pin dependencies PRs can hold up other PRs, so should not be restricted by configured schedules.

Relevant to https://github.com/renovatebot/config-help/issues/64
2018-07-13 06:58:39 +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
Kyle Hornberg
c59a9fdeb5 feat(pip): use PIP_INDEX_URL for repository url (#2240)
Adds support for PIP_INDEX_URL from environmental variables for self
hosted version. This is used instead of any urls set in the config.
2018-07-13 06:22:04 +02:00
Rhys Arkins
2c8b817b4d fix(config): return config.endpoint from env parsing
This should address the GITHUB_ENDPOINT problem in #2249
2018-07-12 14:10:19 +02:00
Rhys Arkins
ef92d69a88 fix(github): throw error if commit checking fails
Closes #2246
2018-07-12 07:58:31 +02:00
Rhys Arkins
11c4741271 refactor: fix import order 2018-07-09 11:15:06 +02:00
Ayoub Kaanich
219950399e feat: endpoints credentials handling 2018-07-06 07:26:52 +02:00
Rhys Arkins
9616fab1af fix: delete bloat from updateConfig 2018-07-06 07:14:26 +02:00
Rhys Arkins
80c6ca1e72 fix: don’t discard updateTypes rules before they’re applied 2018-07-06 06:43:02 +02:00
Rhys Arkins
9521b08b03 refactor: use isSingleVersion in template instead of isRage
Refactors template logic to test for isSingleVersion instead of the negative of isRange. This means that new values like `==1.2.0` in python will be presented as v1.2.0
2018-07-05 21:11:58 +02:00
Rhys Arkins
d4f2572651 fix: assign config.force after every mergeChildConfig 2018-07-05 18:55:00 +02:00
Rhys Arkins
13f09b9f36 refactor: simplify patch branch name 2018-07-05 18:21:43 +02:00
Rhys Arkins
6643a3d09e feat: npm token substitution in npmrc
If an encrypted npmToken is found alongside an unencrypted npmrc in config, then the token will replace any `${NPM_TOKEN}` placeholder found, or be appended to the end of the file. This enables large npmrc files to be defined in config without needing to enrypt the entire thing.

Closes #1796
2018-07-05 15:44:42 +02:00
Rhys Arkins
16d88aee4c feat: ignoreDeprecated
Renovate now ignores any upgrades that are marked as deprecated, unless the current version is itself also deprecated. The new config option `ignoreDeprecated` can be set to false to disable this if necessary.

Closes #1988
2018-07-05 15:10:50 +02:00
Rhys Arkins
7c0a17e9d0 feat: group together deprecation warnings
Previously, deprecation warnings were done as part of dependency lookups, which were run concurrently. This meant the chance of duplicate issues was high, due to race conditions. Instead, raising the issues is done once all package are looked up, to ensure only one issue per manager/dependency. It also means we can list all of the affected package files, in case of a monorepo.

Closes #2224, Closes #2225
2018-07-05 14:23:28 +02:00
Rhys Arkins
180e68fd43 feat(github): delete duplicate issues when ensuring issue 2018-07-05 14:05:29 +02:00
Rhys Arkins
0144bac228 fix: force config after each package rules apply 2018-07-05 12:37:46 +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
9153e3905f fix: check returned pypi name against requested name 2018-07-05 11:25:48 +02:00
Rhys Arkins
db38553d05 fix(npm): verify that received package name matches requested name 2018-07-05 11:10:25 +02:00
Rhys Arkins
24a89a775b
feat(npm): deprecation warnings (#2222)
Raises a deprecation warning issue per-dependency. Uses logic that if latest version is deprecated then the package is deprecated.

Closes #1592
2018-07-05 09:16:53 +02:00
Rhys Arkins
1a72984fe2 feat(npm): detect deprecated packages
Adds logic to detect presence of “deprecated” field in latest version. First step towards #1592
2018-07-04 20:33:48 +02:00
Rhys Arkins
8a8890f82f feat: support updateType=bump
Refactors updateType logic so that a type of “bump” is returned when bumping versions within existing ranges, instead of minor or major. Updates that fall *outside* the existing range will continue to be labeled as minor or major as appropriate.

This value can now be used within packageRules, e.g.

```
  “updateTypes”: [“bump”],
  “labels”: [“bumped version only”]
```

Closes #1942
2018-07-04 10:26:31 +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
5604f488b7 chore: prettierify 2018-07-04 09:36:05 +02:00
Rhys Arkins
38334fc362 feat: packageRules updateTypes
Adds an `updateTypes` field to `packageRules` that lets you specify rules based on update types such as major, minor, patch, pin, etc.
2018-07-04 09:30:29 +02:00
Rhys Arkins
4cfc4e769d refactor: skip duplicate setNpmrc 2018-07-03 14:21:46 +02:00
Rhys Arkins
068ff16ec4 fix: Revert "feat: endpoint credentials handling (#2146)"
This reverts commit 04e0ca1f80.
2018-07-02 13:18:37 +02:00
Dragomir Țurcanu
3e19a4708e feat(gitlab): mergeBranch (#2178) 2018-07-02 11:27:08 +02:00
Ayoub Kaanich
04e0ca1f80 feat: endpoint credentials handling (#2146)
Refactors credentials/token handling to rely less on env variables and instead use an endpoints middleware for credentials handling.

First step towards #2105
2018-07-02 10:01:42 +02:00
Rhys Arkins
83bf162949 fix: automerge only if every upgrade in branch is automerge
When generating a branch’s config, iterate through all upgrades and set automerge=true for the branch only if all upgrades have automerge=true. Similarly, set canBeUnpublished=true if ANY upgrade can be unPublished.

Closes #1999
2018-07-02 07:43:21 +02:00
Rhys Arkins
7ad91f7428 tests: update snapshots 2018-06-30 23:28:21 +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
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
b4f7ed2e0d refactor: simplify mergeBranch 2018-06-28 13:56:08 +02:00
Rhys Arkins
8d19c6544f tests: fix snapshots for releaseTimestamp 2018-06-28 11:11:30 +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
edb67e6083 refactor: add latest releaseTimestamp to config 2018-06-28 09:54:31 +02:00
Rhys Arkins
40962940a0
refactor: harmonize release timestamp (#2189)
Renames "date" and "time" values from datasources to instead be "releaseTimestamp".
2018-06-28 09:07:28 +02:00
Rhys Arkins
aa4aee0e56
feat: check pr commit author against gitAuthor (#2170)
If gitAuthor is configured, checks that a PR’s commit matches. If not, it is assumed that someone else force pushed to the repo and we should not rebase it.

Closes #2169
2018-06-28 08:45:28 +02:00
Rhys Arkins
57249e105b
feat: pass gitAuthor to platform during init (#2183)
Refactors platforms to take the admin-only `gitAuthor` and `gitPrivateKey` values during repository initialisation instead of during file commits.
2018-06-27 18:40:54 +02:00
Dragomir Țurcanu
eec196b8b8 fix: Update GitLab wrapper and snapshots (#2185) 2018-06-27 10:35:33 +02:00
Rhys Arkins
d8b50d7b09 logs: simplify releases 2018-06-27 07:21:17 +02:00
Rhys Arkins
8da5888ef6 feat: combine branch automergeTypes
This deprecates branch-push and branch-merge-commit automergeTypes and replaces with “branch”, which has the same behaviour as the previous branch-push.

BREAKING CHANGE: branch-merge-commit automergeType behaviour is no longer supported, all branch automerges now use branch push approach.
2018-06-26 14:01:13 +02:00
Rhys Arkins
4d44752847 feat: disable pinDigests by default 2018-06-26 14:01:13 +02:00
Rhys Arkins
e51f152eaf feat: gitlab recursive file list disabling
For very large repositories, recursing through the entire repo can be very time consuming. Bot admins can now disable file list recursion by setting the env `RENOVATE_DISABLE_FILE_RECURSION=true`. Then only files within the root directory of repositories will be found.

Closes #2172
2018-06-26 12:28:43 +02:00
Rhys Arkins
25ecbb8a18 fix: correct/update all urls
Updates renovateapp -> renovatebot
2018-06-26 11:31:18 +02:00
Rhys Arkins
46fae9473a fix: abort renovation if branch’s PR has been closed or merged
This fixes a race condition where if someone merged multiple PRs in a row then a renovation-in-progress would get confused and post a “PR has been edited” message to an already-merged PR.

Closes #2115
2018-06-26 11:20:26 +02:00
Rhys Arkins
47305b975e refactor: add pro pr footer 2018-06-25 11:55:12 +02:00
Rhys Arkins
53b6050017
feat: force, forceCli (#2145)
Adds config options force and forceCli. These cover the use case where a certain setting is desired to be forced by the bot admin, regardless of repository config, for example removing all configured schedules in order to force PR creation.

Closes #1731
2018-06-21 10:23:59 +02:00
Dragomir Țurcanu
12519bbf8f feat: Add GitLab issue functions (#2150)
This PR adds issue handling functions to the GitLab platform. The implemented functions are `getIssueList`, `ensureIssue` and `ensureIssueClosing` (migrated from GitHub).

Closes #1587
2018-06-21 08:39:24 +02:00
Rhys Arkins
eb21abf118 feat: flatten nested packageRules after resolving
This solves the problem of nested packageRules, such as when a paths-based rule is used to extend a preset that itself includes packageRules.

Closes https://github.com/renovatebot/config-help/issues/58
2018-06-20 14:57:05 +02:00
Rhys Arkins
7651029064 feat: strip Reviewable content before comparing existing PR body
Closes #2141
2018-06-19 15:15:13 +02:00
Dragomir Țurcanu
e82e5d0d7b feat: GitLab getPrFiles function (#2131)
This PR integrates the `getPrFiles` function into the GitLab's wrapper.
2018-06-19 13:39:25 +02:00
Ayoub Kaanich
e0ebf03e5a feat: PEP440 ranges (#2137)
Closes #2085
2018-06-19 13:32:05 +02:00
Rhys Arkins
321c5285fb fix: don’t use npm homepage as repositoryurl 2018-06-17 09:40:41 +02:00
Rhys Arkins
ddf479dec3 fix(onboarding): Correct onboarding “merged or closed” statement 2018-06-16 09:58:14 +02:00
Rhys Arkins
67c7d9a6cf fix(gitlab): remove absolute gitlab.com api endpoints 2018-06-15 07:20:48 +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
bcd708fd7c feat: cache full changelog 2018-06-14 09:54:00 +02:00
Ayoub Kaanich
4bcfabd2c3 feat: manager-agnostic changelog (#2109)
Closes #2101 #2092
2018-06-13 11:00:58 +02:00
Rhys Arkins
a60c210076 fix(docker): extract Dockerfile FROM on adjacent lines 2018-06-13 10:25:42 +02:00
Dragomir Țurcanu
188005c91e feat: GitLab wrapper commenting functionality (#2091)
Adds a series of functions related to the commenting aspect of GitLab for the API wrapper. These functions are: `getComments`, `addComment`, `editComment`, `deleteComment`, `ensureComment` and `ensureCommentRemoval`.
2018-06-12 07:18:28 +02:00
Rhys Arkins
c9f7b74bc7 refactor: add releases to lookupUpdates return 2018-06-12 06:53:56 +02:00
Rhys Arkins
db45e5cc71 refactor: push repositoryUrl down 2018-06-12 06:47:43 +02:00
Rhys Arkins
5166b86a1b refactor: lookupUpdates return object not array 2018-06-12 06:45:57 +02:00
Rhys Arkins
688ec14b6a refactor: datasource return array of releases 2018-06-11 14:28:50 +02:00
Rhys Arkins
65eea92c8f refactor: add gitRef to packagist datasource 2018-06-11 13:16:59 +02:00
Rhys Arkins
c82c348c8e refactor: add gitRef to npm datasource 2018-06-11 13:16:42 +02:00
Rhys Arkins
dc9125e4a3 refactor: add gitRef to github datasource 2018-06-11 13:15:47 +02:00
Rhys Arkins
819acba06a refactor: Revert "refactor: use gitRef instead of gitHead"
This reverts commit 29d00aa477.
2018-06-11 10:30:40 +02:00
Rhys Arkins
29d00aa477 refactor: use gitRef instead of gitHead 2018-06-11 10:21:55 +02:00
Rhys Arkins
bb78d47e15 refactor: filter and sort versions in datasource 2018-06-11 09:55:44 +02:00
Rhys Arkins
71c662c11f fix: purl return empty qualifiers object 2018-06-11 07:32:38 +02:00
Rhys Arkins
371c10f259 refactor: rename clean=true to sanitize=true 2018-06-11 07:15:54 +02:00
Ayoub Kaanich
dc143eb4e5 fix: use better tag endpoint for github datasource 2018-06-11 06:54:17 +02:00
Rhys Arkins
45d0dcf492 fix: pass auto’d rangeStrategy to getNewValue
Closes #2111
2018-06-11 05:52:46 +02:00
Rhys Arkins
453fb7033f fix(npm): gracefully skip empty dependency version 2018-06-08 11:26:18 +02:00
Rhys Arkins
01d2fb3bca
feat: datasource wrapper (#2100)
Adds a wrapper to all datasources to provide a generic purl-based interface.
2018-06-08 10:49:08 +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
Rhys Arkins
f7babff2fa fix: handle additional npm semver range types 2018-06-08 07:35:20 +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
Dragomir Țurcanu
aa84074d76 feat: comment in PR when branch automerge fails (#2058)
This PR adds the feature of commenting on a failed automerge. It's done by adding a conditional in `lib/workers/branch/automerge.js` which, in case of receiving `failure` or `error` from the `getBranchStatus` function, returns the "branch status error" value. Another modification is in `lib/workers/branch/index.js`, which is an adition to the failure response of the `tryBranchAutomerge` function. The added functionality is the ability to add a comment to the PR which had a failure automerging. In case of receiving the aforementioned "branch status error" value, to the comment is appended a note which emphasize the fact that there're multiple failed status checks.

Closes #1934
2018-06-07 14:42:51 +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
5fd996c9cc refactor: use isSingleVersion not isRange 2018-06-06 12:25:10 +02:00
Rhys Arkins
8b9d4b106c fix(pep440): return ==version when pinning 2018-06-06 12:21:16 +02:00
Rhys Arkins
603b77799b
feat: refactor unpublishSafe for multiple package managers (#2090) 2018-06-06 11:04:54 +02:00
Rhys Arkins
dd8ca78600 tests: move/rename npm datasource tests 2018-06-06 07:04:54 +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
Rhys Arkins
bef7f13de2 feat: versioning.isSingleVersion() 2018-06-05 16:08:00 +02:00
Rhys Arkins
670cfd8fee tests: fix coverage 2018-06-05 12:30:46 +02:00
Ayoub Kaanich
f283104988 feat: use purl for pip requirements (#2067) 2018-06-05 11:26:08 +02:00
Rhys Arkins
775b2979eb fix(pip): reset regex before each search 2018-06-05 10:21:36 +02:00
Rhys Arkins
05260a5b16 refactor: remove semver dependency from github datasource
Instead, perform isVersion filter in lookup
2018-06-05 08:15:11 +02:00
Rhys Arkins
468349d8f4 feat: pypi datasource
Adds pypi datasource, compatible with existing npm and github ones. Performs no validation/filtering of versions.
2018-06-05 07:55:22 +02:00
Rhys Arkins
9fbaf9a3ca fix: unpublishable / unpublishSafe
Corrected logic mistake and renamed unpublishable (internal) to canBeUnpublished to make it easier to follow logic.

Closes #2080
2018-06-04 14:56:47 +02:00
Rhys Arkins
0aaee7bd82 refactor: simplify lookup 2018-06-04 12:23:21 +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
Rhys Arkins
543805e049 tests: fix pep440 tests 2018-06-03 18:49:07 +02:00
Ayoub Kaanich
85f17eed74 feat: pep440 versioning 2018-06-03 18:24:30 +02:00
Ayoub Kaanich
ec53ef78e9 refactor: lookup use versioning wrapper 2018-06-03 18:08:32 +02:00
Ayoub Kaanich
6278410be1 refactor: remove semver.intersects, use matches instead 2018-06-03 17:13:51 +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
b6ee52e74d fix(github): do not retry blog size 403s 2018-06-03 09:44:35 +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
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
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
bc7728f1d2 refactor: use purl.parse 2018-06-01 14:48:49 +02:00
Rhys Arkins
04f1e40c30 fix: disable major node engines updates 2018-06-01 11:49:44 +02:00
Rhys Arkins
d02914fd3b tests: update test for repositoryUrl 2018-06-01 10:11:42 +02:00
Rhys Arkins
e39cc9a584
feat: use purl for package lookups (#2041) 2018-06-01 09:02:51 +02:00
Rhys Arkins
6254967beb tests: remove automock 2018-06-01 07:44:18 +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
54e4733ca5 refactor: fetch return if skipReason present 2018-05-31 21:02:07 +02:00
Rhys Arkins
077923109e
feat: add purl to npm packages (#2053) 2018-05-31 19:19:42 +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
c429e4b157 feat: support bumping greater than or equal to ranges 2018-05-31 13:11:56 +02:00
Rhys Arkins
f347e500a0 fix: use getBranchPr for finding open PR for rebase check 2018-05-30 11:03:30 +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
6cb8f7f583
feat: refactor lookup/package logic for npm (#2038) 2018-05-29 12:44:01 +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
3ba49df83d refactor: disable non-offline tests 2018-05-28 16:25:53 +02:00
Rhys Arkins
1210300dd2 fix: retry 429 with retry-after 2018-05-28 16:10:23 +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
Dragomir Țurcanu
65b9934a5b tests: remove semver validation (#2027)
Closes #2024
2018-05-27 16:54:11 +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
2610015467 fix: abort repository when lockfile error 2018-05-24 16:28:36 +02:00
Rhys Arkins
c338bdd2dd fix(nmprc): massage _auth to _authToken only if base64 encoded 2018-05-23 18:13:17 +02:00
Rhys Arkins
d6cc5b0755 fix: default rangeStrateg to “replace” 2018-05-23 11:17:20 +02:00
Rhys Arkins
00031c09fa refactor: return latestVersion with npmjs result 2018-05-21 17:42:49 +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
2f1e1a979a fix: Revert "feat: permission check in initRepo (#1983)"
This reverts commit 09978ae8dd.
2018-05-19 09:15:10 +02:00
Dragomir Țurcanu
09978ae8dd feat: permission check in initRepo (#1983)
Added permission checking on `initRepo` which, in case of an error, throws a clear message (`The token doesn't have the write permissions to the repository`)

Closes #509
2018-05-19 08:33:41 +02:00
Marco Massarotto
929231b46c Feat/allow ghe changelog (#1981)
This PR follows up and fixes #1968

The previous PR didn't behave correctly as it was expecting Github Enterprise to ALWAYS been configured and that the github.com token was available in the `GITHUB_COM_TOKEN` env variable.
But for non GHE project `GITHUB_COM_TOKEN` is not defined and github.com token is available at the `GITHUB_TOKEN` env variable instead.

This updated PR fix this issue and avoid further problems by prioritising `github.com` over GHE.
Now the code is NOOP if no `GITHUB_ENDPOINT` is configured.

If it's configured, instead, now the codes assumes that, by DEFAULT, a dependency is hosted on `github.com` so it removes `GITHUB_ENDPOINT` and use `GITHUB_COM_TOKEN` as Github token immediately.
They are restored only if needed, when a dependency is hosted on the provided GithubEnterprise.
2018-05-19 07:44:56 +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
4822bc5d91 fix: Revert "fix(npm): ignore deprecated versions"
This reverts commit 7fcbb47b3a.
2018-05-18 08:34:34 +02:00
Rhys Arkins
7fcbb47b3a fix(npm): ignore deprecated versions
Closes #1988
2018-05-18 07:44:34 +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
Ayoub Kaanich
70252b0513 feat(github): parallel paginate (#1973)
Fetch pages 2..10 in parallel

Closes #1944
2018-05-16 07:23:59 +02:00
Rhys Arkins
6dbf9c52ad fix: Revert "feat: support retrieving changelog from ghe hosted repositories (#1968)"
This reverts commit f2fb2e6bda.
2018-05-16 07:04:59 +02:00
Marco Massarotto
f2fb2e6bda feat: support retrieving changelog from ghe hosted repositories (#1968) 2018-05-16 06:38:14 +02:00
Rhys Arkins
791f31b9ac fix: handle null content returned for package file 2018-05-16 06:37:26 +02:00
Rhys Arkins
fc203bcc89 refactor(github): do not retry 401 Bad Credentials 2018-05-16 06:04:55 +02:00
Rhys Arkins
71a8fb894f fix(docker): update old docs link
Closes #1977
2018-05-16 05:44:43 +02:00
Rhys Arkins
2167eeba11 fix(lerna): return gracefully for lock file maintenance 2018-05-16 05:27:12 +02:00
Rhys Arkins
4f5896c908 refactor: monorepo -> internal-package 2018-05-15 13:46:41 +02:00
Rhys Arkins
409cd4adde refactor: monorepoPackages -> internalPackages 2018-05-15 07:21:10 +02:00
Rhys Arkins
53abbc064a refactor: lessen npmrc logging 2018-05-15 06:07:10 +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
49bbcd48e8 fix(onboarding): rebase existing content
# Conflicts:
#	lib/workers/repository/onboarding/branch/rebase.js
2018-05-13 14:43:07 +02:00
Rhys Arkins
2b2fbe97f1 fix(npm): massage _auth to _authToken 2018-05-11 20:10:07 +02:00
Rhys Arkins
a60940497e fix: log redacted auth details if npm lookup fails 2018-05-11 18:44:56 +02:00
Rhys Arkins
8ca30e5b92 fix: use getBranchPr not findPr for onboarding
This allows for the case where the user renames the PR.
2018-05-11 17:59:30 +02:00
Țurcanu Dragomir
55dba6af98 Add relatedOptions linter 2018-05-11 17:36:34 +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
9d71555beb tests: fix semantic test 2018-05-09 15:18:17 +02:00
Rhys Arkins
10012f343a fix: manager -> lernaClient 2018-05-09 10:14:21 +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
812fe227b8 fix(onboarding): adjust packageFiles check when filtering 2018-05-07 20:14:00 +02:00
Rhys Arkins
2517c9f1d9
refactor: renovateRepository split (#1928) 2018-05-07 12:59:32 +02:00
Țurcanu Dragomir
eab997bf6e docs: add self-hosted config documentation and lint (#1921) 2018-05-07 12:57:31 +02:00
Rhys Arkins
c0c935963e refactor: remove null onboarding case 2018-05-07 07:55:49 +02:00
Rhys Arkins
4a4feb35ab refactor: pass branches explicitly to repo onboarding 2018-05-07 07:02:08 +02:00
Rhys Arkins
1eb37c4373 refactor: move repo finalise logic to own directory 2018-05-07 06:26:07 +02:00
Ayoub Kaanich
edfcfc3838 feat: decouple npm and github logic in changelog (#1926)
This PR splits the logic behind changelog into manager (npm) and source (github)
the manager provides the repo url + versions
the source consumes the manager info and generates changelog info

Closes #1911
2018-05-07 04:49:26 +02:00
Rhys Arkins
93547f12df refactor: simplify stale lock file maintenance deletion 2018-05-06 12:28:37 +02:00
Rhys Arkins
e7ef20d33b refactor: simplify config stages 2018-05-06 11:59:33 +02:00
Rhys Arkins
c059095196
docs: refactor packageRules selectors (#1920) 2018-05-06 09:34:19 +02:00
Rhys Arkins
1762ee68a0
feat: automergeComment (#1906)
Adds new option “pr-comment” for `automergeType` and a new option `automergeComment` to use in such a case.
2018-05-04 06:55:01 +02:00
Rhys Arkins
cb570f58f6 fix(templates): skip depType if not present 2018-05-04 06:49:32 +02:00
Rhys Arkins
7a6bcfcf0e fix: handle undefined depType in onboarding PR 2018-05-03 18:35:57 +02:00
Rhys Arkins
19e35ffee0
refactor: return object from extract (#1914) 2018-05-03 18:09:18 +02:00
Rhys Arkins
626ef3fd92 refactor: add parents for parentRules 2018-05-03 14:11:25 +02:00
Rhys Arkins
64a45bf6dd feat: enable buildkite by default 2018-05-03 09:43:15 +02:00
Rhys Arkins
d5c0729f64
feat: buildkite release notes (#1910)
Adds a link to the latest version notes in the PR body, as well as a source compare link for all commits between the current version and the new version.

Closes #1876
2018-05-03 09:39:12 +02:00
SevenTurtles
29894e180f docs: use mkdocs for website docs
Closes #1661, Closes #1884, Closes #1909
2018-05-02 21:54:30 +02:00
Rhys Arkins
100c6368d8 fix: update node.js data 2018-05-01 20:46:54 +02:00
Ayoub Kaanich
0b64cfac3e feat: refactor commits retrieval (#1886)
Refactor changelog (commits) logic to separate sources, and remove the `changelog` dependency. Instead of a full copy/paste of commits, a link is now provided to the source repo.

Closes #381
2018-05-01 11:55:40 +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
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
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
d13d6a0495
feat: deprecate deptypes and migrate to packageRules (#1892)
Rules for dep types (e.g. dependencies, devDependencies, peerDependencies, optionalDependencies) should now be done with `packageRules` and the `depTypeList` selector
2018-04-30 08:21:48 +02:00
Rhys Arkins
b38df44b18
refactor: rename parentManager -> language (#1890)
Closes #1888
2018-04-30 07:16:34 +02:00
Rhys Arkins
23051355fb fix: properly migrate pathRules 2018-04-29 23:07:39 +02:00
Rhys Arkins
136b82fdd8 tests: fix preset tests 2018-04-29 20:44:37 +02:00
Rhys Arkins
122fffea99
Fix pathRules migration (#1885)
Fix pathRules migration
2018-04-29 14:05:45 +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
2606219485 fix(packageRules): get packageFile from depTypeConfig 2018-04-28 15:47:09 +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
757154ded4
feat: add paths selector to packageRules (#1879) 2018-04-28 08:56:15 +02:00
Rhys Arkins
f618b30633 refactor: sort errors and warnings alphabetically 2018-04-28 08:48:12 +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
Țurcanu Dragomir
305f094bd4 Added matchCurrentVersion selector to packageRules (#1835)
The matchCurrentVersion option sets a range of versions that a package update can be in. If the package's current version doesn't satisfy the matchCurrentVersion range, it won't match the rule.

Closes #1771
2018-04-27 05:45:22 +02:00
Rhys Arkins
6415833a4b refactor: renovateapp.com -> renovatebot.com 2018-04-24 13:59:42 +02:00
Rhys Arkins
6eb5fe787b fix: typo in large file tree url 2018-04-19 09:09:27 +02:00
Rhys Arkins
6f2283fbee tests: update migration snapshot 2018-04-17 14:41:18 +02:00
Rhys Arkins
693738024b refactor: remove engines groupName 2018-04-17 14:10:18 +02:00
Rhys Arkins
c0878fa8be fix: escape templates with triple handlebars 2018-04-17 12:49:59 +02:00
Rhys Arkins
2bb4276d41 fix: lock file maintenance commit message and pr title 2018-04-17 12:22:11 +02:00
Rhys Arkins
a35643740b refactor: save newDigestShort to newVersion for docker 2018-04-17 12:15:22 +02:00
Rhys Arkins
8d439ffc5e fix: migrate semanticPrefix to semanticCommitType/semantiCommitScope 2018-04-17 12:09:34 +02:00
Rhys Arkins
8fc005b15e fix: group based on commitMessageExtra 2018-04-17 11:47:22 +02:00
Rhys Arkins
c26e1226e9 fix: Use v prefix for all major npm upgrades 2018-04-17 10:56:58 +02:00
Rhys Arkins
81090b8716 tests: update snapshots 2018-04-17 10:55:06 +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
Sarun Intaralawan
776e516e83 feat: implement isBranchStale for GitLab (#1833)
Closes #1626
2018-04-14 21:47:22 +02:00
Rhys Arkins
d4163fe2fb fix: test for unsafe regex and warn 2018-04-13 06:52:08 +02:00
Rhys Arkins
2dfae8337d refactor: enhance repository result details
renovateRepository now returns “res” - the result of the current renovation, and “status” - the overall status of the repository.
2018-04-12 14:02:10 +02:00
Țurcanu Dragomir
6c46ddf20e feat: validate packageRules selectors (#1810)
packageRules selectors should only ever be inside a packageRule object, or at the top level of a preset. This feature enforces this rule with a validation check.

Closes #1773
2018-04-12 12:13:39 +02:00
Rhys Arkins
ce238ed708 tests(validation): Fix another packageRule 2018-04-11 22:08:48 +02:00
Rhys Arkins
baf7303aab tests(validation): move packageRules selectors inside a packageRule 2018-04-11 21:54:16 +02:00
Rhys Arkins
1bdc548876 feat: print full config path in validation errors 2018-04-11 21:38:31 +02:00
Rhys Arkins
a0e8cdcbf0
refactor: combine package and dep-type workers into package-file (#1819)
* refactor: move workers/package to workers/dep-type

* refactor: move dep-type to package-file
2018-04-10 06:47:38 +02:00
Rhys Arkins
6af4facf91 fix: refactor isValidSemver to avoid Invalid Version errors 2018-04-10 06:02:48 +02:00
Rhys Arkins
523b02fbc8
refactor: npm and semver (#1817) 2018-04-10 05:20:46 +02:00
Rhys Arkins
ea447cfa0d
feat: depTypeList in packageRules (#1815)
Adds a field `depTypeList` to `packageRules`, enabling rules for packages to be applied for any `depType`. Config objects `dependencies`, `devDependencies` and `peerDependencies` will be deprecated in favour of this new approach.

Closes #1807
2018-04-09 16:10:34 +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
865ac3ea47 fix: mergeChildConfig should support nested mergeable=true 2018-04-09 13:19:23 +02:00
Steven Hargrove
02e52a8c79 feat: merge configured repositories with autodiscovered
Merges any static config from config.js with repositories list that is autodiscovered.

BREAKING CHANGE: Repositories in config.js will have their config combined with the autodiscover list and a warning if any statically configured repositories are not found.
2018-04-09 09:24:37 +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
Rhys Arkins
662828ab1b fix: default pinVersions to false
Change default of pinVersions from null (autodetect) to false. Note: The preset “config:base” still reverts this to null/autodetect.

BREAKING CHANGE: pinVersions defaults to false. To switch back to autodetect, use preset “:autodetectPinVersions”, which is already included within “config:base”.
2018-04-09 07:43:08 +02:00
Rhys Arkins
756954efcd fix: remove semanticCommitType=fix default from dependencies
Removes hardcoded “fix” commitType from dependencies. Doing so allows for easier overriding without requiring complicated/deep presets or config.

BREAKING CHANGE: dependencies default semantic commit type now uses main config commit type (chore)
2018-04-09 07:33:20 +02:00
Rhys Arkins
0904588c3d feat: empty onboarding config
Changes the default onboarding config from `{ extends: [‘config:base’] }` to `{}` (empty). Self-hosted bot users can add it back by configuring `onboardingConfig` in `config.js` or env. Doing this makes the bot less “opinionated” by default and more convenient for self-hosted users, who can configured everything in config.js or env now.

Closes #1554

BREAKING CHANGE: onboarding config now defaults to empty config instead of config:base. Self-hosted users need to add it back if they with to retain it as default suggested config.
2018-04-09 07:25:24 +02:00
Ayoub Kaanich
eb3c55b125 refactor: set token in config before renovation 2018-04-09 06:08:43 +02:00
Ayoub Kaanich
ec7f75cfe9 refactor: use delay for gh-got wrapper 2018-04-09 06:07:48 +02:00
Rhys Arkins
49246a75a7 tests: fix config resolve to not query actual npm 2018-04-05 22:51:44 +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
ab26535269 tests: fix snapshot 2018-04-05 22:32:42 +02:00
Steven Hargrove
126b6b2883 test: added test for presets definend global and repo in config.js 2018-04-04 21:50:08 +02:00
Rhys Arkins
0dd604f53d tests: fix automerge tests 2018-04-04 19:35:01 +02:00
Rhys Arkins
b6cf7360e2
fix: clean repo at end of every repo run (#1787)
Closes #1786
2018-04-04 14:16:36 +02:00
ikisialeu
484ef0cbcd feat: validate user regex (#1766)
Validate that user-inputted regex for package patterns are valid RegExp().

Closes #1450
2018-04-04 09:23:59 +02:00
Steven Hargrove
be04c31b4c test: added jest serializer for renovate configs 2018-04-04 08:56:57 +02:00
Țurcanu Dragomir
101226db97 fix: add 5s sleep after automerge or restart (#1761)
This hopefully gives a better chance of GitHub being able to finish computing the new mergeability status, and reduces the chance of a race condition.

Closes #1617
2018-04-03 11:28:51 +02:00
Rhys Arkins
ced374ea24 fix: disable manager if parentManager is disabled
Closes #1778
2018-04-03 06:52:04 +02:00
Rhys Arkins
ba98e7dc3e fix(github): don’t post branch status check if already set
Closes #1779
2018-04-03 06:51:19 +02:00
Ayoub Kaanich
3b8f3c5c16 fix: use sha instead of ref for PRs when possible. (#1772)
Resolves #1658
2018-04-02 22:49:34 +02:00
Ayoub Kaanich
57ffec14cb feat: autodetect changelog file name (#1770)
Improves changelog detection algorithm to look for different upper/lower case options as well as alternative filenames like `History.md`.

Resolves #1754
2018-04-01 21:41:26 +02:00
Ayoub Kaanich
74dde919f1 fix: use markdown-it to sectionize changelog files (#1767)
Resolves #1709
2018-04-01 15:51:20 +02:00
Rhys Arkins
55e71bf041
tests: improve readability of fatal error test (#1756)
tests: improve readability of fatal error test
2018-03-30 20:20:18 +02:00
Rhys Arkins
b15909f8df
feat: enabledManagers (#1755)
feat: enabledManagers
2018-03-30 17:00:51 +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
b57437940b fix: handle quoted docker compose strings 2018-03-29 15:42:17 +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
2e173c3539 fix: better fix for undefined new docker digest 2018-03-29 07:07:56 +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
906c6273c7 fix: raise config errors for package rules missing selectors 2018-03-28 15:13:32 +02:00
Rhys Arkins
b89f448946
feat: validate packageRule selectors (#1728)
Validates that each packageRule must contain at least one selector. Resolves the rule first to allow for presets.

Closes #1345, Closes #1693
2018-03-28 10:04:07 +02:00
Rhys Arkins
37035480f1 refactor: validate list only if non-empty 2018-03-28 09:36:09 +02:00
Steven Hargrove
6b67ffa5ff fix: enforce valid git branch names (#1725)
Adds proper enforcement of branch name rules.

Fixes #1724
2018-03-28 05:18:42 +02:00
Rhys Arkins
6623047177 fix: add npm retries for null versions or parseError 2018-03-27 20:57:11 +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
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
4c3581caf0 fix: prune “renovate” branch if branchPrefix is “renovate/“
Otherwise it blocks us from branch creation
2018-03-26 12:10:00 +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
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
c1a7bff4a1 refactor: allow 10 loops instead of 5 2018-03-22 09:34:00 +01:00
Rhys Arkins
363a2cc2e5 fix: abort renovation if rate limit exceeded (github) 2018-03-22 09:26:20 +01:00
Rhys Arkins
6354f3d07a fix: try delete lock file maintenance branch only if it exists 2018-03-21 15:53:48 +01:00
Rhys Arkins
27ee7687d9 fix: skip branch creation if unpublishable pr not ready for creating
Don’t create a branch until its unpublishable.

Fixes #1580
2018-03-21 11:40:28 +01:00
Rhys Arkins
ee3240908b
feat: requireConfig (#1695)
Adds option to bot owners to require a renovate config be in place.

Closes #1694
2018-03-21 10:08:55 +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
2364efdb39 fix: improve lockfile maintenance deletion logic
Set lock file branches to always rebase stale, and delete if there’s no work to do.
2018-03-20 06:48:27 +01:00
Rhys Arkins
fa2bda45fe fix: delete lockFileMaintenance branch if no longer necessary
If a lockFileMaintenance branch returns no updated lockfiles then we should delete it.

Closes #1655
2018-03-16 10:51:10 +01:00
Rhys Arkins
ef26aa7ea4 fix: rebase lock file maintenance PRs if configured
Fixes so we skip lock file generation for lock file maintenance branches only if it *doesn’t* need rebasing.

Helps #1655
2018-03-16 06:28:46 +01:00
Rhys Arkins
23d0290384
fix: raise PR immediately if there are lock file errors (#1664)
fix: raise PR immediately if there are lock file errors
2018-03-15 07:06:18 +01:00
Rhys Arkins
3f77d676cd
fix: docker multi-stage duplicate replace (#1662)
Closes #1656
2018-03-14 12:49:47 +01:00
Rhys Arkins
d0e76b9d51 fix: validate :timezone preset value 2018-03-13 21:47:08 +01:00
Rhys Arkins
ec14bf0e92
fix: reopen MR after branch deletion (GitLab) (#1660)
Closes #1657
2018-03-13 20:33:22 +01:00
Rhys Arkins
e62aa89a6c
feat: customisable prFooter (#1648) 2018-03-12 13:35:15 +01:00
ikisialeu
c0f87172fa fix: validate timezones (#1638)
`Adds a config validation check for timezone, checking it against the list in moment-timezome.js`. Configs with invalid timezones will raise a configuration error.

Closes #1483
2018-03-12 04:24:45 +01:00
Rhys Arkins
36afcad570 fix: handle invalid travis supportPolicy 2018-03-10 16:58:34 +01:00
eMerzh
088279abbd fix: return shrinkwrapdir to avoid crash (#1621) 2018-03-08 15:59:52 +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
308ed432db
feat: upgradeInRange (#1608)
Upgrade ranges to latest version even if latest version satisfies existing range.

| name    | value   |
| ------- | ------- |
| type    | boolean |
| default | false   |

By default, Renovate assumes that if you are using ranges then it's because you want them to be wide/open. As such, Renovate won't deliberately "narrow" the range by increasing the semver value inside.

For example, if your `package.json` specifies a value for `left-pad` of `^1.0.0` and the latest version on npmjs is `1.2.0`, then Renovate won't change anything. If instead you'd prefer to be updated to `^1.2.0` in cases like this, then set `upgradeInRange` to `true` in your Renovate config.

This feature supports simple caret (`^`) and tilde (`~`) ranges only, like `^1.0.0` and `~1.0.0`. It is not compatible with `pinVersions=true`.

Closes #1607
2018-03-07 07:41:10 +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
Hutson Betts
d9f9e4692f docs(node): improve documentation clarity (#1606) 2018-03-06 21:42:47 +01:00
Rhys Arkins
d237c6c670 feat: add comment to PRs if config validation fails 2018-03-06 20:00:10 +01:00
Rhys Arkins
96835410d8
feat: validate renovate config PRs (#1602)
feat: validate renovate config PRs
2018-03-06 15:21:17 +01:00
Rhys Arkins
4104e81005 Revert "chore: remove unused getPrFiles functions"
This reverts commit d5984a3cad.
2018-03-06 12:18:35 +01:00
Adam Moss
621badb964 fix(allow-failure): enabled automerge when allowed failures occur
Closes: #1586

Signed-off-by: Adam Moss <adam.moss@bcs.org.uk>
2018-03-05 21:18:51 +01:00
Rhys Arkins
d5984a3cad chore: remove unused getPrFiles functions 2018-03-05 15:50:34 +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
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
f398fa19aa fix: Revert "refactor: improve migration scripts"
This reverts commit c6be31543d.

Closes #1584
2018-03-04 14:36:45 +01:00
Rhys Arkins
c6be31543d refactor: improve migration scripts 2018-03-04 07:35:18 +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
72b4951e59 chore: update snapshot 2018-03-04 05:39:46 +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
aa26ccc637 chore: rename travis/node tests 2018-03-03 15:48:12 +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
7f9d73a318 feat: allowedVersions
A semver range defining allowed versions for dependencies

| name | value  |
| ---- | ------ |
| type | string |

Use this - usually within a packageRule - to limit how far to upgrade a dependency. For example, if you wish to upgrade to angular v1.5 but not to `angular` v1.6 or higher, you could defined this to be `<= 1.5` or `< 1.6.0`:

```
  "packageRules": [{
    "packageNames": ["angular"],
    "allowedVersions": "<=1.5"
  }]
```
2018-03-03 06:35:11 +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
9119568fe4 fix: add checks if pr branch still exists (gitlab)
in GitLab, a PR may be open while the branch itself has been removed. We cant just assume that the branch exists because the PR does, even if it’s an edge case.
2018-02-28 04:43:30 +01:00
Rhys Arkins
d0fa221ae3 fix: only rebase if pr is dirty (github) 2018-02-27 19:50:16 +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
1f6893f5e2 fix: npm config should only be merged for package.json 2018-02-27 15:43:19 +01:00
Rhys Arkins
bc684c7b29 fix: implicit patch-only upgrade
Use type ‘patch’ only when patch automerge is true AND minor automerge is not true.
2018-02-27 14:50:09 +01:00
Rhys Arkins
3d491797dc fix: retry npmjs 408
npmjs’s CDN is (erroneously) returning 408 Timeout responses sometimes, so these should be retried.
2018-02-27 14:31:36 +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
9263fd36b3 fix: don’t overwrite edited onboarding configs
Before, we were attempting to rebase edited branches if renovate.json was the only modified file. This “lost” the committer information - which seemed ok - but it also meant that on the subsequent run it then assumed Renovate was the only committer. Now we don’t rebase edited onboarding branches anymore.

Closes #1360
2018-02-22 19:46:57 +01:00
Rhys Arkins
1fd83139ed
feat: configurable onboarding config (#1543)
Adds configuration option `onboardingConfig` that allows the default onboarding config to be extended or replaced via `config.js` or env configuration.

Closes #1521
2018-02-21 19:50:58 +01:00
Rhys Arkins
182d1c7348
fix: don't use --package-lock-only for npm install (#1544)
* Revert "fix: disable reusing existing package-lock.json when upgrading (#1530)"

This reverts commit 2728e39963.

* switch from —package-lock-only to —ignore-scripts

Removing `--package-lock-only` option from npm installs due to https://github.com/npm/npm/issues/19852

Pretty sure this fixes #1495
2018-02-21 08:12:25 +01:00
Rhys Arkins
2b8886f17b tests: fix npm registry mock
Closes #1538
2018-02-21 07:47:48 +01:00
Rhys Arkins
8463be0266 fix: return branchName field when creating pr 2018-02-19 21:30:33 +01:00
Rhys Arkins
c949778ab7 fix: harmonize to pr.branchName 2018-02-19 20:01:10 +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
JYC
e03d487bc8 fix: update dependency vso-node-api to v6.3.2 (#1534)
* fix: update dependency vso-node-api to v6.3.2

* The web api create methods need to be async

* remove Redundant use of `await`

* To test 100%
2018-02-19 14:17:53 +01:00
Rhys Arkins
2728e39963
fix: disable reusing existing package-lock.json when upgrading (#1530)
Skip writing package-lock.json locally before `npm install —package-lock-only` to work around https://github.com/npm/npm/issues/19852

Workaround to fix #1528
2018-02-18 21:16:04 +01:00
Rhys Arkins
576f38efdc fix: use isUmergeable instead of mergeable 2018-02-16 16:19:26 +01:00
Adam Moss
4c0d7cf3e6 fix(gitAuthor): add support for GitLab
Allow the `gitAuthor` configuration option to override the committer
property when creating or updating a file within GitLab.  Port of #1280
which introduced the same capability for GitHub.

Closes #1281

Signed-off-by: Adam Moss <adam.moss@bcs.org.uk>
2018-02-12 16:49:08 +01:00
Rhys Arkins
9c845040ac fix: delete gitlab branch first if rebasing 2018-02-12 06:58:33 +01:00
Rhys Arkins
c92d67658c feat: use gitlab commits api for 1 commit per branch
Closes #1508
2018-02-12 06:20:20 +01:00
Rhys Arkins
b1da837da1 fix: create Pr if prNotPending hours exceeded for branch automerge 2018-02-09 13:29:47 +01:00
Rhys Arkins
03302a47cc fix: retry npmjs when receiving 5xx errors 2018-02-09 10:15:53 +01:00
Rhys Arkins
4fba8373a8 chore: refactor eslint ignores 2018-02-09 09:56:47 +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
b1ad1bb058 fix: detect renamed repositories and skip 2018-02-08 16:04:25 +01:00
Rhys Arkins
f07a7a33c0 fix: strip trailing #something from manual repository url 2018-02-08 13:22:39 +01:00
Rhys Arkins
5794e008ce feat: look up missing dep repository manually if changelog fails 2018-02-08 13:00:22 +01:00
Rhys Arkins
c7efe253da fix: massage changelog release note bodies 2018-02-07 11:01:43 +01:00
Rhys Arkins
545218468f fix: Better summary/details substitution for gitlab pr bodies 2018-02-07 10:53:44 +01:00
Rhys Arkins
c97b1db1e6 tests: update snapshots 2018-02-07 10:36:11 +01:00
Rhys Arkins
4a7f493ec4 fix: delete branch if create pr returns “validation failed” 2018-02-07 08:05:32 +01:00
Rhys Arkins
f6e2627774
feat: parse CHANGELOG.md in source repositories (#1491)
Parses `CHANGELOG.md` for first or second-level markdown headings matching versions. Supports GitHub-only source repositories for now.

Closes #1470
2018-02-06 18:53:36 +01:00
Rhys Arkins
4663967379 fix: better lerna version detection 2018-02-06 15:49:21 +01:00
Rhys Arkins
a79222b777 fix: catch initRepo 403 (github) 2018-02-05 22:23:50 +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
e306f707db fix: abort renovation if repository has changed during run
If attempting to create a branch and it already exists, or attempting to update a branch and it no longer exists, then we abort.
2018-02-03 15:45:43 +01:00
Rhys Arkins
720b46696a
feat: gitlab branch cleanup (#1475)
Removes the GitHub-only check when cleaning/pruning branches.
2018-02-03 12:06:25 +01:00
Rhys Arkins
aa0b0d68fd
fix: don’t check for branch existing when rebasing (gitlab) (#1474)
Previously, our GitLab API library was checking if a a branch existed first before trying to create it. But due to caching, a branch we'd deleted ourselves still showed up as existing, so then there was no branch to update the files in. Skip this check and use try/catch for creating branch instead.

Fixes #1468
2018-02-03 11:04:27 +01:00
Rhys Arkins
6101f25dc7 fix: reset file list when setting base branch (gitlab) 2018-02-03 10:39:04 +01:00
Rhys Arkins
b184d3a217 fix: handle 403 blocked from github 2018-02-02 18:04:41 +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
c70c72f14b
feat: release notes in pull requests (sourced from github releases) (#1465)
Detects and embeds release notes found on GitHub when an npm dependency specifies a GitHub repository as its source and that repository has made use of the "Releases" feature.
2018-02-02 12:37:16 +01:00
Rhys Arkins
7afb693151 fix: update all pr body templates to use h1 headings 2018-02-02 10:56:40 +01:00
Rhys Arkins
360a640e40 fix: use v prefix for versions in PR bodies 2018-02-02 10:55:52 +01:00
Rhys Arkins
a008b1f1cd refactor: use h1 for pr headings 2018-02-02 10:49:27 +01:00
Rhys Arkins
9195adc58a refactor: sort versions and commits from oldest to newest
List versions and their commits in PR bodies in the order they were made (oldest to newest).
2018-02-02 05:42:22 +01:00
Rhys Arkins
a708005886 fix: massage issues/pulls links in public repos to be non-linking 2018-02-01 11:36:30 +01:00
Rhys Arkins
e533f96185 fix: escape depName as code in pr bodies 2018-02-01 08:30:44 +01:00
Rhys Arkins
cadb4b796f fix: massage updated less than/greater than to match existing format 2018-02-01 08:25:52 +01:00
Rhys Arkins
6fc1f94936 feat: list package files in onboarding PR
Closes #1461
2018-01-31 13:20:55 +01:00
Rhys Arkins
335844e6b7 feat: strip docker-only descriptions from onboarding PR if no Dockerfiles 2018-01-31 13:10:09 +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
ad4b9feb92 feat: prConcurrentLimit
Adds a new feature to limit the number of concurrent branches/PRs to have open at any one time. Defaults to 0 (disabled), set it to a positive integer to enforce that limit.
2018-01-30 11:43:16 +01:00
Rhys Arkins
5800230cc2 fix: packageRules without packageNames or packagePatterns should match
If a packageRule is missing packageNames AND missing packagePatterns, then we should match by default. This allows users to define a single “exclude” rule without needing to add a catchall include rule (e.g. `packagePatterns”: [“.*”]`)
2018-01-30 09:34:42 +01:00
Rhys Arkins
37d83cf61a refactor: check that workspaces has yarn.lock committed
Closes #1451
2018-01-29 09:51:16 +01:00
Rhys Arkins
f5b1c00d8f refactor: log old/new pr details if updating 2018-01-28 21:46:27 +01:00
Rhys Arkins
64cf41e76e refactor: sort PRs by type and then title 2018-01-28 16:14:04 +01:00
Rhys Arkins
294fc6b3a5 refactor: don’t warn if current version is a file reference 2018-01-28 15:44:35 +01:00
Rhys Arkins
b2b0e42492 fix: do not jump unstable majors unless configured to do so 2018-01-27 16:18:18 +01:00
Rhys Arkins
79e9ce6d8f feat: pin npm dependencies using lock files
When package-lock.json or yarn.lock files are present, and Renovate needs to “pin” any dependencies (e.g. after onboarding), it will use whatever version is in the lockfile rather than the latest version on npm js that satisfies the semver range. This should increase the chance that Pin Dependencies PRs pass tests, as it should use as close as possible dependencies as the previous time the lock file was committed to master. Thanks to @alexeagle for first suggesting this.

Closes #1362
2018-01-26 10:18:40 +01:00
Rhys Arkins
d66dea7ec3
feat: verify status check (GitHub) (#1444)
Adds a `renovate/verify` status check for those migrating and looking for familiarity. Better to check the GPG verified commit, as mentioned in the associated doc.
2018-01-25 13:36:21 +01:00
Rhys Arkins
9363fd8acf refactor: pass object to platform.initRepo
Also renames repoName to repository
2018-01-25 12:24:13 +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
0925f59262
feat: versionStrategy (#1439)
Adds new config option `versionStrategy` that allows config to override Renovate’s autodetection of when to “widen” an existing semver range, and when to “replace”.
2018-01-24 15:26:37 +01:00
Rhys Arkins
1b535af43e
feat: hyphen range support (#1437)
Adds support for ranges, such as `”1.x - 2.x”`. Adds support for widening .x ranges, e.g. `”1.x || 2.x”` becomes updated to `”1.x || 2.x || 3.x”`.

Closes #687
2018-01-24 11:23:59 +01:00
Rhys Arkins
f943d6b27c
feat: widen semver || ranges (#1436)
When an “or” semver (e.g. “react”: “^14.4.0 || ^15.0.0”) is found, we now widen it. e.g. the result will be “^14.4.0 || ^15.0.0”.
2018-01-24 09:44:38 +01:00
Rhys Arkins
bf64d62dc8
feat: advanced semver "less than (and equal to)" support (#1435)
Adds support for "less than" semver, and for complex semver values that end in "less than" e.g. ">= 1.0.0 < 2.0.0". Also supports complex semver values that end in "less than or equal to", although they make a lot less sense, e.g. ">= 1.0.0 <= 2.0.0".

Closes #1433
2018-01-24 08:43:27 +01:00
Rhys Arkins
9504fb8abb
refactor: use handlebars triple escapes in templates (#1434)
This stops HTML substitution from occurring
2018-01-24 07:18:11 +01:00
Rhys Arkins
516142b687
feat: import existing greenkeeper config when onboarding (#1431)
Detects any greenkeeper configuration fields and migrates them to Renovate’s config during onboarding.

Closes #1429
2018-01-23 11:59:32 +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
otofu-square
f251969fab fix: correct typos in templates (#1423) 2018-01-22 11:17:00 +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
3b13591ebc refactor: Add warning to Pin PRs that upgrade PRs will be held up
Closes #1380
2018-01-20 16:20:50 +01:00
Rhys Arkins
fa68a5a216 refactor: skip ignore notification comment if PR was merged 2018-01-20 15:09:23 +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
c5a5463f68 tests: expand pathRules test to verify matching 2018-01-20 06:36:17 +01:00
Rhys Arkins
285a59b085
fix: filter out “Update branch” commits when determining canRebase (#1410)
Closes #1405
2018-01-19 07:35:39 +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
93521cac74 fix: check for not-pending only if no existing PR exists
Closes #1408
2018-01-19 05:46:28 +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
bb46281c2c tests: update tests after code removal 2018-01-17 16:26:58 +01:00
Rhys Arkins
eb2c159d02 refactor: simplify archived check 2018-01-17 15:16:52 +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
b5db28b242 fix: propagate registry-failure errors to avoid config validation warnings
We don’t want npmjs 5xx errors to cause config validation Issues in repositories.

Closes #1388
2018-01-14 18:58:49 +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
dba574950b
feat: baseBranches (multi-branch) support (#1379)
This PR adds the capability to renovate more than one base branch at a time. For instance, a project may have their released `3.x` version on `master`, while an upcoming `4.x` is being prepared using branch `next`. `4.x` might have a quite different set of dependencies (e.g. some removed or some added) so it's not appropriate to only target `master` and keep rebasing, as it will get messy. Instead, it's necessary to target both `master` and `next` to keep both updated.

Closes #1279
2018-01-12 07:47:18 +01:00
Rhys Arkins
2dcb2a70d8 feat: prHourlyLimit
Adds a feature to enforce an hourly limit on PR creations.

Closes #1363
2018-01-11 11:56:16 +01:00
Rhys Arkins
2925c0d9a7 feat: automatically group @types companion packages
By stripping ‘types/ from the branch name, package x and @types/x then become automatically combined in the same PR. We then massage it a little to ensure the decription for the non-types package is used, and a note added saying that types is included.

Closes #1365
2018-01-10 15:35:14 +01:00
Rhys Arkins
72745b6b13 fix: add full npmjs scope when migrating npmToken
commit 7e15d3d488c927df2f11f728f35d493e2821477d
Author: Rhys Arkins <rhys@arkins.net>
Date:   Wed Jan 10 14:26:44 2018 +0100

    Revert "refactor: use _auth= when migrating npm tokens"

    This reverts commit 4a2fdd0477.
2018-01-10 14:27:19 +01:00
Rhys Arkins
910793e5f2 fix: check onboarding pr when handling config error
Instead of checking for config.repoIsOnboarded, just check for the onboarding PR and reverse the logic.

Closes #1339
2018-01-08 15:53:52 +01:00
Jahred Hope
c5fa30ff2c test: use local times for tests (#1354)
This change allows unit tests that don't set a timezone to refer to the local time.

Closes #1353
2018-01-08 13:39:42 +01:00
Rhys Arkins
b711e0c3aa fix: handle 404 repos gracefully 2017-12-31 20:47:46 +01:00
Rhys Arkins
24b94765ff feat: skip over archived repositories (github) 2017-12-31 20:28:22 +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
1a3b0b61ea refactor: remove edited PR comment and log warn instead 2017-12-28 16:29:03 +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
e0e0b9defe fix: Revert "feat: restart renovation after github error"
This reverts commit eb579ff388.

For some reason it seems to be causing a reduction in throughput per hour in the app once deployed.
2017-12-26 19:45:17 +01:00
Rhys Arkins
eb579ff388 feat: restart renovation after github error
When 404 or 422 errors are encountered writing updates, Renovate will now restart in an attempt to fix it. Usually this is because branches/PRs have been edited or closed while Renovate is running.

Closes #1299
2017-12-26 06:26:33 +01:00
Rhys Arkins
6c49ba177e docs: correlate website configuration documentation with source code
This PR adds new checks that:
- Website configuration options are listed in alphabetical order
- Every relevant configuration option in source code is documented on the website
Website docs have been updated accordingly to pass.

Closes #543, Closes #1310
2017-12-26 05:40:14 +01:00
Rhys Arkins
2720688f4c feat: commit body
This PR adds the configuration option “commitMessageBody”. The contents of this will be appended to the commitMessage, separated by two line returns.
2017-12-25 20:37:14 +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
3c4f46b3b2 refactor: reduce config snapshots
Closes #1334
2017-12-25 16:43:57 +01:00
Rhys Arkins
4ec85ad818
feat: use version in pr title for synchronised groups (#1333)
Now, if every upgrade in a group has the same new version, then the PR title will include this version.

Closes #1332
2017-12-24 11:14:34 +01:00
Rhys Arkins
007be13313
feat: add api caching to gitlab (#1324)
This PR ports across GitHub’s caching approach to the GitLab platform API.
2017-12-23 08:03:16 +01:00
Rhys Arkins
146e8f6982
feat: skip onboarding if renovate config detected in root package.json (#1322)
Renovate will now detect if renovate config already exists within the project’s ‘package.json’ root, and skip onboarding if so.

Closes #1159
2017-12-22 19:14:26 +01:00
Rhys Arkins
f4364ccc44 fix: isOnboarded should return true if onboarding is skipped 2017-12-22 18:50:41 +01:00
Rhys Arkins
1e4bebe627 refactor: use update instead of renovate prefix in group pr titles and commit messages
Closes #1314
2017-12-20 21:15:30 +01:00
Rhys Arkins
239fb93a24 chore: add test for packageNames + packagePatterns combined 2017-12-20 07:26:29 +01:00
Ed Morley
709a68c7ae fix: increase prNotPendingHours default to 24 hours (#1316)
To prevent PRs being opened prior to the `unpublishSafe` check having
transitioned from `pending` to `success`, when using `not-pending`
mode.

Fixes #1312.
2017-12-20 06:47:20 +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
5243c01230 fix: don’t use v prefix in commit message if range 2017-12-18 12:39:59 +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
b2f3626578 fix: strip leading equals sign from currentVersion
e.g. =0.22.0 is treated as 0.22.0
2017-12-16 06:50:18 +01:00
Rhys Arkins
35cd3506db fix: drop team_reviewers param and github preview header from reviewer requests 2017-12-15 19:51:41 +01:00
Rhys Arkins
c5a420711b fix: Revert "feat: support mergeable strings in config for npmrc"
This reverts commit 4f65356ba4.

I will attempt to merge npmrc configs a different way, as npm itself does not support merging cascaded configs (it finds the most specific one and just uses it).
2017-12-15 09:15:20 +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
c98faa2b34 refactor: default bazel to enabled 2017-12-14 13:19:30 +01:00
Rhys Arkins
b5b714d4b5
fix: writeToken -> forkToken (#1295)
Rename writeToken to forkToken to make it clearer. This enables GitHub API to use one token for all reads, and another token just for writing to the forked repository.
2017-12-14 11:47:00 +01:00
Rhys Arkins
4f65356ba4 feat: support mergeable strings in config for npmrc 2017-12-14 09:56:52 +01:00
Rhys Arkins
4a2fdd0477 refactor: use _auth= when migrating npm tokens 2017-12-14 09:49:50 +01:00
Rhys Arkins
794e149179 refactor: ignore bower_components by default 2017-12-14 06:35:12 +01:00
Rhys Arkins
f5c3642ae7
fix: escape all forward slash with %2f (gitlab) (#1294)
Use a regex replace all instead of single replace, for cases where projects or branches have more than one forward slash.

Fixes #1293
2017-12-14 06:19:24 +01:00
Rhys Arkins
bbb700c54d feat: add github writeToken capability in github wrapper 2017-12-12 14:54:09 +01:00
Rhys Arkins
18c41df5c1
refactor: fix up config definitions (#1291)
- Remove duplicate autodiscover (fixes #1290)
- Remove npm.pin.automerge=true
2017-12-11 22:26:59 +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
cb8fd6b4ed
feat: fork mode (#1287)
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
837b53619f
fix: use git data API to retrieve large files (#1286) 2017-12-11 12:24:37 +01:00
Rhys Arkins
278e9fe14a
refactor: improve branch protection visibility (github) (#1284) 2017-12-10 15:22:58 +01:00
Rhys Arkins
0dbd4c3ac0
fix: remove unnecessary loki preview header for repo object (#1283)
The loki preview header is no longer required, as per https://developer.github.com/changes/2017-09-06-protected-branches-preview-end/
2017-12-10 07:25:36 +01:00
Rhys Arkins
5036360658
feat: gitPrivateKey for signed git commits (#1282)
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 #897
2017-12-09 17:56:23 +01:00
Rhys Arkins
70c95add5a
feat: custom git commit author (#1280)
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
d2f54ba763
fix: do not escape unlinked depNames in pr bodies (#1275) 2017-12-07 13:57:30 +01:00
Rhys Arkins
696aaa38af
refactor: slim down onboarding PR description (#1274) 2017-12-07 13:32:56 +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
Rhys Arkins
04e505d483
fix: handle existing range with no matching versions (#1273) 2017-12-06 18:53:55 +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
JYC
560bf727c3 fix: VSTS - add reviewer once even if multiple teams (#1259)
Closes #1258
2017-12-02 20:22:03 +01:00
Rhys Arkins
5e68613150
refactor: add extends config massage (#1256) 2017-12-01 07:16:17 +01:00
JYC
ab3372d33c feat: copy local packages (#1244)
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 #1215
2017-11-30 06:43:56 +01:00
Rhys Arkins
8e136c7143
fix: do not delete branches if PR creation fails (#1252)
GitHub’s API is behaving too flakily and this can end up with closing PRs by accident, which then block future PRs. See https://github.com/ikatyang/emoji-cheat-sheet/pull/110 for example problem
2017-11-28 17:11:52 +01:00
Rhys Arkins
eabff37a15
fix: exit gracefully if no files to commit (#1242)
This handles case where checking for lock file maintenance but lock file is up-to-date.
2017-11-27 08:25:07 +01:00
Rhys Arkins
72d46c20e2
refactor: remove label and assignees description from onboarding pr (#1235)
These can now be described via presets instead
2017-11-24 12:03:57 +01:00
Rhys Arkins
779ca36bc1
refactor: use semanticCommitType chore for pin/digest (#1234) 2017-11-24 10:58:44 +01:00
Rhys Arkins
7e6befe4a8
fix: merged PRs should not block new PRs in monorepos (#1230)
Only block if it was closed unmerged.

Fixes #1205

* check for closed only for monorepos
2017-11-24 07:31:20 +01:00
Rhys Arkins
65a5e90bb7
feat: split semanticPrefix into type and scope 2017-11-24 07:14:58 +01:00
Rhys Arkins
d0a08734e5
fix: remove semanticPrefix override from pin.group to pin (#1231) 2017-11-23 19:49:14 +01:00
Rhys Arkins
7675f3a9f1
fix: replace singapore/renovate references with renovateapp/renovate (#1229) 2017-11-23 14:08:31 +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
JYC
8e1dfa111c feat: VSTS - Add Reviewers & Assignees (#1200) 2017-11-22 05:12:19 +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
JYC
4bce262a14 fix: VSTS - Fix reading big file (#1204)
Closes #1158 

* deleteBranch like gitlab

* changes in single commit

* prettier lint and tests

* read big file

* challenging linting!
2017-11-21 06:08:54 +01:00
Hutson Betts
ca3a1c9f9d fix(github): paginate repo get requests (#1193)
Enable pagainate for requests made to the `user/repos` endpoint
for fetching all repositories the configured user has access to.
2017-11-20 20:36:40 +01:00
JYC
dbe68efdc7 fix: VSTS - RepoName & ProjectName (#1201)
* deleteBranch like gitlab

* changes in single commit

* prettier lint and tests

* add project and repo feature

* add case insensitive string compare
2017-11-20 19:47:49 +01:00
JYC
b272b4aab7 fix: VSTS - canRebase (#1197)
* deleteBranch like gitlab

* changes in single commit

* prettier lint and tests
2017-11-19 11:23:30 +01:00
Rhys Arkins
8ea800dce0
fix: drop “fix devDependencies” customisation (#1198) 2017-11-19 06:32:06 +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
e27a1b486c
refactor: use simpler api for branchExists (#1187)
simpler api + cacheable
2017-11-16 22:40:07 +01:00
Rhys Arkins
4c4d5cfdac
refactor: check unpublishsafe only if configured (#1186) 2017-11-16 22:34:49 +01:00
Rhys Arkins
fd10299a71
feat: cache github get requests in memory (#1185)
The existing github wrapper is now extended to cache any get request. The existing pr cache is removed as it is now redundant.
2017-11-16 22:13:54 +01:00
Rhys Arkins
15c3a9a8be
refactor: use fileList to speed up getFile 404s (#1175) 2017-11-16 07:13:50 +01:00
Rhys Arkins
3921c4007d
refactor: cache pull requests (github) (#1174) 2017-11-15 15:39:39 +01:00
Rhys Arkins
c89b957b8a
refactor: defer branch protection check (#1173) 2017-11-15 15:31:20 +01:00
Rhys Arkins
0e68e4aa50
refactor: defer getBaseCommitSHA until needed (#1171) 2017-11-15 14:20:17 +01:00
Rhys Arkins
7c72156562
refactor: move semantic commit detection from init to later updates (#1170) 2017-11-15 13:39:44 +01:00
Rhys Arkins
59d3be4d1c
fix: replace h4 with ** (gitlab) (#1167)
Helps #954
2017-11-14 20:44:32 +01:00
Manuel Rueda
a19421fff6 fix: normalize GitLab findPr with GitHub and add PR cache (#1165)
Closes #1164
2017-11-14 09:55:05 +01:00
Rhys Arkins
d9974a8994
refactor: drop unused isClosed from github and gitlab (#1166) 2017-11-14 09:24:19 +01:00