Commit graph

232 commits

Author SHA1 Message Date
Rhys Arkins
93a331f214 fix(composer): cache per site 2018-10-18 13:11:33 +02:00
Rhys Arkins
539275e014 feat(packagist): fetch files in parallel 2018-10-18 11:30:43 +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
a907210d77 fix(packagist): set empty releases 2018-10-18 05:48:15 +02:00
Rhys Arkins
53813e97b9 fix(packagist): do proper url join 2018-10-18 05:04:19 +02:00
Rhys Arkins
3bf09baa5d fix(packagist): ignore null versions 2018-10-18 04:35:21 +02:00
Rhys Arkins
e5d0f8a33a fix(npm): don’t abort for private ETIMEDOUT 2018-10-18 03:48:02 +02:00
Rhys Arkins
24f2138165 fix: log depName, not name 2018-10-18 03:43:10 +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
ff2e40bd21 feat: terraform datasource
Adds a new datasource for querying terraform module registries.
2018-10-06 09:52:00 +02:00
Rhys Arkins
34061cf53c feat: go datasource getDigest
Closes #2603
2018-10-05 16:04:12 +02:00
Rhys Arkins
d8bd147b14 refactor(go): separate getSourcePurl 2018-10-05 15:15:55 +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
Adrien Lemaire
9ec385d6d7 fix(pypi): add django package changelogs (#2588) 2018-10-02 08:45:00 +02:00
Rhys Arkins
bb5a2962e5 fix(pypi): check lowercase and map changelogUrl to repositoryUrl 2018-10-02 07:07:49 +02:00
Rhys Arkins
8cd87c4f6b fix(pypi): better detect repositoryUrl 2018-10-02 06:49:53 +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
renovate[bot]
9bf339a24b build(deps): update dependency @sindresorhus/is to v0.12.0 (#2570) 2018-09-28 15:20:46 +02:00
Rhys Arkins
9f8b3e5176 fix: add react-native changelogUrl 2018-09-24 15:11:25 +02:00
Rhys Arkins
30b9612c8b fix(logs): dependency not name 2018-09-23 06:44:36 +02:00
Rhys Arkins
fc9037a270 logs: correct depName/dependency 2018-09-20 12:13:18 +02:00
Rhys Arkins
e755ee7aa6 fix(docker): look up latest tag correctly 2018-09-19 19:54:52 +02:00
Rhys Arkins
a46468c048 fix(npm): serialize/deserialize to prevent cache mutation 2018-09-19 08:57:59 +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
571c41e69e fix(npm): serialize dep before saving to memcache 2018-09-19 05:38:33 +02:00
Rhys Arkins
ca45a546a9 feat: add changelogUrls to pypi datasource
Closes #2535
2018-09-19 05:25:57 +02:00
Rhys Arkins
1299c32c77
refactor: add flow-bin changelog URL (#2534) 2018-09-18 10:09:41 +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
706ba270af fix(npm): compare res.name or res._id 2018-09-15 08:01:42 +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
6f0ceaecc5 fix(ghe): use full path for github datasource
This prevents accidentally querying GHE for things such as Node.js tags.

Closes #2518
2018-09-13 05:50:16 +02:00
Rhys Arkins
f8cf83380f
refactor: endpoints -> hostRules (#2509)
Renames `endpoints` to `hostRules`
2018-09-12 12:16:17 +02:00
Rhys Arkins
96164f6fea refactor: don’t use repository for docker logs 2018-09-11 15:55:00 +02:00
Rhys Arkins
0252ad4d08 fix(docker): platform-failure only if docker.io 2018-09-11 15:40:37 +02:00
Rhys Arkins
a411b11982 feat(docker): cache docker tags 2018-09-11 14:20:41 +02:00
Rhys Arkins
b6cd9878e4 refactor(docker): tags/releases 2018-09-11 14:13:53 +02:00
Rhys Arkins
133505da09 feat(docker): cache digests for 30 minutes 2018-09-11 14:02:06 +02:00
Rhys Arkins
d4706f9c2e fix(docker): catch 429 errors 2018-09-11 13:07:40 +02:00
Rhys Arkins
cc611a7985 refactor(docker): log purl when failing to get docker tags 2018-09-11 12:29:48 +02:00
Rhys Arkins
b08d1aa815 fix(pypi): better normalize package name 2018-09-11 05:09:43 +02:00
Rhys Arkins
543e11751b fix: don’t cache scoped packages 2018-09-08 06:11:06 +02:00
Rhys Arkins
005dab5bcf feat: cache npm results 2018-09-07 14:40:55 +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
f239df8025 logs: stop logging scoped headers 2018-09-03 18:50:05 +02:00
Rhys Arkins
35b2ce8b42
feat: centralised cache (#2472)
Closes #2466
2018-09-03 07:27:22 +02:00
Rhys Arkins
c1fd79bac7 feat: cache github datasource results for 10 minutes 2018-09-01 07:18:28 +02:00
Rhys Arkins
1f49d0fe8c feat: add in-memory github datasource caching 2018-08-31 13:05:22 +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
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
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
Rhys Arkins
e9108a0502 refactor(npm): return package tags 2018-08-16 06:19:39 +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
Maximilian Gaß
3a62394435 feat: docker registry authentication (#2339)
Closes #798
2018-08-05 07:25:08 +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
ebbc9d5f67 fix(npm): add check before massaging response 2018-07-30 08:42:50 +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
ac5e0313e0 refactor: rename getDependencyInner to getDependency 2018-07-29 16:13:11 +02:00
Rhys Arkins
31f2f4c610 refactor: rename getDependency to getPkgReleases 2018-07-29 16:04:00 +02:00
Rhys Arkins
d336f35ebb logs: log registry and repository when docker token fails 2018-07-26 21:04:23 +02:00
Rhys Arkins
10620707c0 tests: fix coverage 2018-07-26 16:43:12 +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
7066a5dd99 fix(docker): use tag suffix when looking up new digest 2018-07-21 10:47:29 +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
7a52575738 fix: npm raw/res typo 2018-07-17 20:02:13 +02:00
Rhys Arkins
ad3ac0967c refactor: log npmjs headers 2018-07-17 19:24:05 +02:00
Rhys Arkins
5b15554930 fix(packagist): strip v from versions in response 2018-07-17 09:10:42 +02:00
Rhys Arkins
97c19cf3c3 refactor: packagist use semver composer 2018-07-17 08:23:41 +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
11c4741271 refactor: fix import order 2018-07-09 11:15:06 +02:00
Rhys Arkins
98bccb37a9 fix(npm): reset npmrcraw 2018-07-06 17:16:50 +02:00
Rhys Arkins
19e1eab56e fix(pypi): replace all hyphen with underscore before comparing names 2018-07-06 07:34:36 +02:00
Ayoub Kaanich
219950399e feat: endpoints credentials handling 2018-07-06 07:26:52 +02:00
Rhys Arkins
85e40963a0 logs: log pypi lookupUrl if name mismatch 2018-07-05 17:56:23 +02:00
Rhys Arkins
47bd56f10e fix(pypi): normalize name before compare 2018-07-05 17:43:23 +02:00
Rhys Arkins
6d82d7b46a fix: check before lower case 2018-07-05 15:58:43 +02:00
Rhys Arkins
a16754c501 fix: case-insensitive datasource name compare 2018-07-05 15:47:43 +02:00
Rhys Arkins
b2183fe0c2 logs: log regUrl for mismatched npm lookup 2018-07-05 15:42:02 +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
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
4cfc4e769d refactor: skip duplicate setNpmrc 2018-07-03 14:21:46 +02:00
Rhys Arkins
d206897113 refactor: Revert "refactor: debug log npm token for each lookup"
This reverts commit b46a95a9e2.
2018-07-02 19:42:48 +02:00
Rhys Arkins
b46a95a9e2 refactor: debug log npm token for each lookup 2018-07-02 19:25:23 +02:00
Rhys Arkins
068ff16ec4 fix: Revert "feat: endpoint credentials handling (#2146)"
This reverts commit 04e0ca1f80.
2018-07-02 13:18:37 +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