Commit graph

1950 commits

Author SHA1 Message Date
Rhys Arkins
a548837b7b fix: maintainer_can_modify for forked PRs
Closes #2476
2018-09-04 18:35:42 +02:00
Rhys Arkins
ed0bb8760e fix(yarn): throw errors when registry down
Detect strings in `yarn` `stderr` that indicate a registry problem and if found then throw a `registry-failure` error instead of continuing with a PR creation or update. This way they should be retried on each run until the registry is available again.

Closes #2474, Closes #2475
2018-09-04 18:06:07 +02:00
Rhys Arkins
31a1c11660 feat(github): dump request stats per-repo
Closes #1516
2018-09-04 17:56:28 +02:00
Rhys Arkins
c13c49863e logs: drop retries debug from gh wrapper 2018-09-04 17:45:21 +02:00
Rhys Arkins
f0e53028b0 fix: set endpoint for GITHUB_COM_TOKEN 2018-09-04 15:56:37 +02:00
Rhys Arkins
3ac7f7923d logs: simplify config file missing error 2018-09-04 15:34:08 +02:00
Rhys Arkins
9867ac3dc8 refactor: print masked Token when Bad credentials 2018-09-04 14:51:58 +02:00
Rhys Arkins
9572eaa6f9 refactor(github): getBranchList 2018-09-04 06:40:47 +02:00
Rhys Arkins
ef70c48d4b fix: sort dependencies by name in PRs
Remove randomness
2018-09-04 06:30:47 +02:00
Rhys Arkins
28902d78eb refactor: increase release notes caching to 55 min 2018-09-03 22:54:20 +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
df8bebe10d refactor: log pr body change only if branch didn’t change 2018-09-03 21:29:23 +02:00
Rhys Arkins
bdaff7b64d refactor: fix oldPrBody log 2018-09-03 21:23:09 +02:00
Rhys Arkins
6f0b477777 fix: revert pagination cache 2018-09-03 18:57:20 +02:00
Rhys Arkins
f239df8025 logs: stop logging scoped headers 2018-09-03 18:50:05 +02:00
Rhys Arkins
63f062b13a refactor: better debug cached pagination 2018-09-03 18:32:35 +02:00
Rhys Arkins
6e494d11aa fix: try/catch all cache attempts 2018-09-03 17:52:19 +02:00
Rhys Arkins
1e1cdf8b6d
feat(github): cache pagination results (#2458)
Renovate will cache the results body of any paginated results from GitHub, such as list of Pull Requests or release tags. Then, after receiving the first page of results in future, Renovate will compare the received eTag with the cached eTag and if they match then it will return the cached results instead of querying them again via the GitHub API.

The benefits should be two-fold:
- Reduce the number of API calls required to GitHub
- Reduce the time taken to retrieve such results
2018-09-03 17:35:48 +02:00
Rhys Arkins
358070cb15 fix: releases cache on prev and next 2018-09-03 17:09:10 +02:00
Rhys Arkins
1f7b25e51c fix: cache changelog on from/to 2018-09-03 16:19:02 +02:00
Rhys Arkins
0d767c598d fix(cache): lazy fetch tags for changelog 2018-09-03 15:36:04 +02:00
Rhys Arkins
af54869555 chore: rename changelog params->args 2018-09-03 15:35:41 +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
737485f69b refactor: cache default 5 minutes 2018-09-03 09:59:27 +02:00
Rhys Arkins
933672fd01 refactor: simplify changelog cache key 2018-09-03 09:19:48 +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
14b397a698 fix: double handlebars compile prBody 2018-09-02 18:17:36 +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
1f49d0fe8c feat: add in-memory github datasource caching 2018-08-31 13:05:22 +02:00
Rhys Arkins
f510a1999d refactor(gitlab): extra strength cleanup 2018-08-29 13:38:06 +02:00
Rhys Arkins
0e0d050884 refactor: include releases only if there’s an update 2018-08-29 11:13:45 +02:00
Rhys Arkins
4bd8ab5061 logs: reduce release notes logging 2018-08-29 11:13:24 +02:00
Rhys Arkins
a88463de05 docs: Bitbucket beta 2018-08-29 07:32:34 +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
Rhys Arkins
f99af76370 fix(circleci): support nested directories 2018-08-29 06:58:55 +02:00
Rhys Arkins
e2f51b51ce refactor: RENOVATE_USER_AGENT 2018-08-28 17:07:00 +02:00
Rhys Arkins
d19ac8b666 refactor: log err.headers when rate limit exceeded 2018-08-28 16:10:33 +02:00
Rhys Arkins
994284d2cb refactor(logs): special handling for module 2018-08-28 12:40:50 +02:00
Rhys Arkins
4ef12ff598 fix: check val before migrating 2018-08-27 17:05:24 +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
Rhys Arkins
d6f473db17 fix: remove unnecessary @ escaping 2018-08-27 13:51:44 +02:00
Rhys Arkins
df142f475e fix: add line break after Compare Source in PR template 2018-08-27 13:51:37 +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
08b44a062a chore: rename packageFile/fileName in extract 2018-08-24 17:49:32 +02:00
Rhys Arkins
50acfff1ba fix: packageRules.paths definition 2018-08-24 17:08:32 +02:00
Rhys Arkins
154ff9e800 fix(logs): move autoclose log 2018-08-23 21:20:45 +02:00
Rhys Arkins
a9758dc77e refactor(logs): autoclosed 2018-08-23 20:37:52 +02:00
Rhys Arkins
6b6d1bf859 refactor(logs): return logs to app layer 2018-08-23 20:35:25 +02:00
Rhys Arkins
bd5d7eedb8 refactor(logs): rename autoclose log 2018-08-23 20:16:12 +02:00
Rhys Arkins
1be6c9f713 refactor(logs): adjust log levels for branch and pr events 2018-08-23 20:11:38 +02:00
Rhys Arkins
3d0637f432 feat: support encryption with RSA_PKCS1_PADDING
Renovate will now attempt to decrypt with existing default padding, and if that fails then try with RSA_PKCS1_PADDING.
2018-08-22 11:00:19 +02:00
Rhys Arkins
00b89c77b6 fix(npm): revalidate all registry requests
Sets Cache-Control to ‘no-cache’ to instruct the http layer to always revalidate cached responses with the registry. Otherwise we can be up to 5 minutes “behind” because npmjs default cache time is 300s.
2018-08-22 09:54:26 +02:00
Rhys Arkins
3d1a715d2b fix(npm): don’t authorize public non-scoped packages
The authorization header can interfere with caching because npmjs doesn’t return “public” in the “Cache-Control” header.
2018-08-22 09:53:26 +02:00
Rhys Arkins
9b3f4b90e1 fix(npm): remove temporary cache-blocking code for scoped
npmjs has fixed/lowered the cache expiry time now
2018-08-22 09:49:18 +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
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
ebb3496586 fix(npm): skip caching for scoped packages
Ref: https://npm.community/t/scoped-packages-have-latest-version-disappear-temporarily-soon-after-publish/633/7
2018-08-16 22:15:11 +02:00
Rhys Arkins
b5f2a8940d refactor: hasUrls 2018-08-16 18:35:16 +02:00
Rhys Arkins
516f60a2cf refactor: save dep homepage 2018-08-16 18:35:01 +02:00
Rhys Arkins
8b5e69b0c2 refactor(pypi): manual repositories map 2018-08-16 18:34:35 +02:00
Rhys Arkins
586ec1f5b8 refactor(npm): delete package homepage if it’s a github repo 2018-08-16 18:32:55 +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
a80173d898 fix(npm): ignore scripts on full install 2018-08-15 17:27:40 +02:00
Rhys Arkins
d0ec341e15
feat: skipInstalls (#2390)
Adds new admin option “skipInstalls” that is applicable for npm-only for now (including lerna-npm). If set to false, Renovate will perform a full install of modules rather than `—package-lock-only`. This is necessary in some cases to work around bugs in npm.

Self-hosted bot users can set this option themselves on the bot’s config, but app users will require it to be enabled per-repository by the app admin.
2018-08-15 17:13:07 +02:00
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
Ayoub Kaanich
def2c8f518 refactor: Prepare GitHub storage for Git storage (#2378)
Contains GitHub specific changes from #2323
2018-08-15 07:57:09 +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
b0ea6790eb fix(docker): use currentValue not currentTag in digest updates 2018-08-11 11:26:08 +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
Maximilian Gaß
6c8b7f479f fix(docker): resolve relative URLs from registry (#2370)
fix(docker): resolve relative URLs from registry
2018-08-09 17:40:07 +02:00
Maximilian Gaß
e26c6dd32d fix(docker): use library/ prefix instead of amd64/ (#2360)
The default prefix is library/. Using amd64/ as the prefix created weird
issues with pinning to digests that matched no images.
2018-08-07 16:51:40 +02:00
Rhys Arkins
cc2d860556 fix: correct log for npmjs headers 2018-08-07 07:30:59 +02:00
Rhys Arkins
77fb7070f5 fix: supportsDigests 2018-08-07 07:13:11 +02:00
Rhys Arkins
47e79912bc feat(composer): write auth.json before generating lock file
Supports github.com only
2018-08-06 20:21:57 +02:00
Rhys Arkins
85dafee812 refactor(composer): rename newPackageFileParsed 2018-08-06 16:34:34 +02:00
Rhys Arkins
a77a35e42c fix(composer): remove scripts from composer.json 2018-08-06 16:27:57 +02:00
Rhys Arkins
7453ea18e4 fix(composer): --ignore-platform-reqs 2018-08-06 16:19:14 +02:00
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
1420443242 fix(meteor): match only clean Npm.depends 2018-08-06 08:20:06 +02:00