Commit graph

1261 commits

Author SHA1 Message Date
Rhys Arkins
a038177c6f fix: use full URL for changelog retrieval
This should fix the problem with fetching changelogs when using GHE.
2018-09-12 19:27:20 +02:00
Rhys Arkins
f8cf83380f
refactor: endpoints -> hostRules (#2509)
Renames `endpoints` to `hostRules`
2018-09-12 12:16:17 +02:00
Rhys Arkins
ca72f49c3e refactor: move env deletion into env parsing 2018-09-12 06:51:55 +02:00
Rhys Arkins
dda0bade29
refactor: use single localDir per repo (#2505) 2018-09-12 06:30:01 +02:00
Rhys Arkins
f3c8534e6c logs: improve github log levels 2018-09-11 09:15:24 +02:00
Rhys Arkins
2ce75cdbf1 refactor(composer): reuse localDir for lockfile generation 2018-09-10 15:58:24 +02:00
Rhys Arkins
1d5de52610 refactor: gitlab pro footer 2018-09-09 07:38:12 +02:00
Rhys Arkins
ccffdaf712 fix: throw error up if no disk space 2018-09-08 07:16:05 +02:00
Rhys Arkins
81818195b7 refactor: separate lockFileMaintenance per-package file
Closes #2464
2018-09-07 09:26:43 +02:00
Rhys Arkins
74b34cda93 chore: move updateTypes def 2018-09-07 08:44:58 +02:00
Rhys Arkins
e5e303f46f logs: fix branches debug 2018-09-07 08:44:20 +02:00
Rhys Arkins
88c6a48b2a logs: less debug 2018-09-05 15:04:18 +02:00
Rhys Arkins
2e78f515d1 logs: lower debug 2018-09-05 14:45:52 +02:00
Rhys Arkins
4539487d26 refactor: less logging 2018-09-05 14:18:31 +02:00
Rhys Arkins
8e81a647a2 refactor: lazy load branch status to reduce requests 2018-09-05 10:52:00 +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
4a0b3cf83e fix: move cleanRepo to finally 2018-09-05 06:31:25 +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
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
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
Rhys Arkins
61466b7114 fix: remove prBody double compile 2018-09-02 19:18:44 +02:00
Rhys Arkins
14b397a698 fix: double handlebars compile prBody 2018-09-02 18:17:36 +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
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
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
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
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
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
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
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
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
Rhys Arkins
a30972f6f6 refactor: info not warn when no fixedIn alert 2018-07-31 07:21:25 +02:00
Rhys Arkins
31f2f4c610 refactor: rename getDependency to getPkgReleases 2018-07-29 16:04:00 +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
0fa593d5ab feat: log github vulnerability alerts 2018-07-28 08:47:49 +02:00
Rhys Arkins
fa7b3b5643 fix: pass platform-failure errors up from ensure pr 2018-07-26 21:13: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
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
9064e0af62 fix(baseBranches): apply special branch and PR naming only when multiple
baseBranch will be applied in PR title and in branch name only if there are more than one.

Closes #2306
2018-07-23 16:40:30 +02:00
Rhys Arkins
dcd90827a1 refactor(onboarding): don’t @ me 2018-07-23 11:27:14 +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
adf5b0d13a fix(onboarding): use platform getPrBody 2018-07-22 22:05:53 +02:00
Rhys Arkins
30334c2722 refactor(onboarding): consistent header depth 2018-07-22 22:05:39 +02:00
Rhys Arkins
6f868c83f2 refactor(lookup): return warnings object 2018-07-22 11:43:47 +02:00
Rhys Arkins
11d85f1ad5 fix(pr): remove double vv versions from pr body
Fixes #2283, Fixes #2119
2018-07-22 10:26:00 +02:00
Rhys Arkins
fa6e23f414 fix: deduplicate file matches
Closes #2299
2018-07-22 09:37:10 +02:00
Rhys Arkins
efa5edbdf3 fix(onboarding): delete onboarding PR branch if pr not found 2018-07-22 09:07:31 +02:00
Rhys Arkins
bb28ae27a2 fix: check for valid fromVersion before pinning 2018-07-22 08:05:21 +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
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
cffef4f1b4 logs: debug rollback versions, not info 2018-07-22 06:32:17 +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
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
2635b234c7 refactor: don’t warn if no versions found 2018-07-20 10:03:18 +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
449f72131b fix: better enabled/disabled/onboarding/unknown status 2018-07-19 08:54:15 +02:00
Rhys Arkins
b52620f68f refactor: getUpdatedPackageFiles 2018-07-18 20:18:40 +02:00
Rhys Arkins
997904cc63 refactor: branch files plus tests 2018-07-18 20:10:50 +02:00
Rhys Arkins
5cb03c94ae fix: log stack trace for unknown errors 2018-07-17 12:18:28 +02:00
Rhys Arkins
b77fbeaec9 fix: replace vv in commitMessage 2018-07-17 08:24:43 +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
Rhys Arkins
ee4132fd14 refactor: if/else with return 2018-07-09 11:28:42 +02:00
Rhys Arkins
11c4741271 refactor: fix import order 2018-07-09 11:15:06 +02:00
Rhys Arkins
ae7aecac95 fix: setNpmrc after resolveConfig 2018-07-06 17:04:40 +02:00
Rhys Arkins
42145e60fc refactor: log npmrc 2018-07-06 16:56:29 +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
2d4aa131a3 fix: empty packageRules after applying to update 2018-07-05 22:23:48 +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
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
0144bac228 fix: force config after each package rules apply 2018-07-05 12:37:46 +02:00
Rhys Arkins
5ea6955aac fix: don’t reuse lock files in branch if any updates are lock file maintenance 2018-07-05 12:06:55 +02:00
Rhys Arkins
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
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
ebbd417e47 chore: prettier 2018-07-04 10:21:41 +02:00
Rhys Arkins
fb6271e4f7 refactor: rename update.type -> update.updateType 2018-07-04 10:11:53 +02:00
Rhys Arkins
d8667619d8 fix(npm): move ignoreNpmrcFile logic out of mirror mode
Logic to automatically ignoreNpmrcFile=true when npmrc found was in the wrong location.
2018-07-03 13:51:59 +02:00
Rhys Arkins
b2cecc38da logs: print versions when rolling back 2018-07-03 11:49:19 +02:00
Rhys Arkins
7c99089b6a logs: debug ignoring npmrc files 2018-07-02 20:26:11 +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
Rhys Arkins
8b633f1d2b fix: don’t try branch automerge on first run
Fixes #2201
2018-07-02 09:33:45 +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
c1bd2197e2 refactor: use res object for lookup 2018-07-01 07:53:26 +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
645ec7f171 fix: add releaseTimestamp to update 2018-06-28 10:52:56 +02:00
Rhys Arkins
6e0c6affdc logs: setMeta repository before handling error 2018-06-28 10:38:25 +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
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
Rhys Arkins
74d567897c fix: apply packageRules after merging upgrade type settings
Fixes #2180
2018-06-27 07:14:41 +02:00
Rhys Arkins
65c1075bd7 fix: reduce embedded changelogs to last 15 2018-06-26 14:45:13 +02:00
Rhys Arkins
88a13f3ab9 fix: loosen default github endpoint check 2018-06-26 14:44:54 +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
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
a08adb4291 fix: don’t replace github token if endpoint is api.github.com 2018-06-25 20:01:22 +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
Rhys Arkins
163bad03c9 fix: catch JSON.parse error for renovate config 2018-06-20 19:11:57 +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
bdfc1145df fix: add back from/to versions to cache key 2018-06-20 13:54:47 +02:00
Rhys Arkins
eddd5e4748 refactor: changelog lookup key
Closes #2151
2018-06-20 12:26:32 +02:00
Rhys Arkins
90782ccfe8 logs: warn whenever creating rollback PRs 2018-06-20 07:38:21 +02:00
Rhys Arkins
ccb7bd5cd8 fix: typo 2018-06-19 15:45:04 +02:00
Rhys Arkins
068e6daa01 fix: pass Bad credentials error up from ensurePr 2018-06-19 15:34:37 +02:00
Rhys Arkins
93d8b72e9a fix: throw error for getTags bad credentials 2018-06-19 15:32:26 +02:00
Rhys Arkins
7651029064 feat: strip Reviewable content before comparing existing PR body
Closes #2141
2018-06-19 15:15:13 +02:00
Rhys Arkins
3ca84399d6 fix(changelog): use upgrade for lookups 2018-06-16 19:45:16 +02:00
Rhys Arkins
b23a61b890 fix: use manager in changelog cache lookup key 2018-06-16 19:45:16 +02:00
Rhys Arkins
ddf479dec3 fix(onboarding): Correct onboarding “merged or closed” statement 2018-06-16 09:58:14 +02:00
Rhys Arkins
4ccbc20bc1
fix: match current version (#2135)
fix: match current version
2018-06-16 09:28:11 +02:00
Rhys Arkins
52309282b1 refactor: log changelog cache expiry 2018-06-15 08:07:05 +02:00
Rhys Arkins
124807974a feat(nuget): support changelogs
Refactors nuget lookups to use generatic logic and fill in repositoryUrl to enable changelogs.
2018-06-14 15:52:37 +02:00
Rhys Arkins
cca41dc2fa fix: add changelog json check 2018-06-14 10:50:18 +02:00
Rhys Arkins
bcd708fd7c feat: cache full changelog 2018-06-14 09:54:00 +02:00
Rhys Arkins
26f23eb50e feat: expire changelog cache after 1 hour 2018-06-14 09:48:00 +02:00
Rhys Arkins
f8a9ebf9bd fix: changeloge cache expiry 1 hour 2018-06-14 09:42:38 +02:00
Rhys Arkins
466cb07d02 refactor: changelog filename 2018-06-14 09:39:23 +02:00
Rhys Arkins
373b9d8a0a refactor: simplify githubBaseURL/opts 2018-06-14 09:32:59 +02:00
Ayoub Kaanich
4bcfabd2c3 feat: manager-agnostic changelog (#2109)
Closes #2101 #2092
2018-06-13 11:00:58 +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
c47019ff57 Revert "fix: refactor changelog npm to work with new datasource"
This reverts commit 7bc9a2db8e.
2018-06-11 16:29:06 +02:00
Rhys Arkins
7bc9a2db8e fix: refactor changelog npm to work with new datasource 2018-06-11 15:06:53 +02:00
Rhys Arkins
688ec14b6a refactor: datasource return array of releases 2018-06-11 14:28:50 +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
45d0dcf492 fix: pass auto’d rangeStrategy to getNewValue
Closes #2111
2018-06-11 05:52:46 +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
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
5fd996c9cc refactor: use isSingleVersion not isRange 2018-06-06 12:25:10 +02:00
Rhys Arkins
603b77799b
feat: refactor unpublishSafe for multiple package managers (#2090) 2018-06-06 11:04:54 +02:00
Ayoub Kaanich
f283104988 feat: use purl for pip requirements (#2067) 2018-06-05 11:26:08 +02:00
Rhys Arkins
96b4788697 tests: fix coverage 2018-06-05 11:22:21 +02:00
Rhys Arkins
bc652673ba fix: properly handle null rollback 2018-06-05 10:48:38 +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
98e9198c8e refactor: replace indexOfs 2018-06-04 20:44:32 +02:00
Connor Brathwaite
398303235b (refactor): delegate generic predicate checking to @sindresorhus/is (#2021)
Closes #1764
2018-06-04 20:07:22 +02:00
Rhys Arkins
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
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
Ayoub Kaanich
549b12529f feat: use versionScheme for changelog 2018-06-03 19:32:34 +02:00
Ayoub Kaanich
ec53ef78e9 refactor: lookup use versioning wrapper 2018-06-03 18:08:32 +02:00
Rhys Arkins
0523a6ef99 refactor: simplify filterVersions 2018-06-03 16:45:34 +02:00
Rhys Arkins
527c355b48
refactor: move getRangeStrategy to manager (#2072) 2018-06-03 14:25:05 +02:00
Rhys Arkins
dd09707c20 refactor: default versionScheme to ‘semver’ 2018-06-03 07:43:09 +02:00
Rhys Arkins
a8786a1714 logs: don’t log full pr in branch 2018-06-01 19:33:52 +02:00
Rhys Arkins
5a8c9f57f6 logs: info not warn for no rollback 2018-06-01 17:51:14 +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
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
54e4733ca5 refactor: fetch return if skipReason present 2018-05-31 21:02:07 +02:00
Rhys Arkins
d6132ff634 fix: flatten only if updates are present 2018-05-31 20:53:29 +02:00
Rhys Arkins
a8bcd004dd logs: fix fileCount 2018-05-31 13:07:09 +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
d71639bbf8 refactor: fetch array or object 2018-05-29 10:27:41 +02:00
Rhys Arkins
7b149df595 logs: less debug 2018-05-28 22:25:33 +02:00
Rhys Arkins
f211ebedaa fix: limit embedded changelogs to last 20 releases 2018-05-28 17:11:55 +02:00
Rhys Arkins
b43f51dac7 fix: embed release notes for at most first 50 releases
Closes #2032
2018-05-28 10:13:50 +02:00
Rhys Arkins
941d06172d fix: fortify get changelog to not error
Adds check for res before res.project and wraps in try/catch so that any future errors are ignored and don’t stop the PR.

Fixes #2023
2018-05-26 06:58:02 +02:00
Rhys Arkins
2610015467 fix: abort repository when lockfile error 2018-05-24 16:28:36 +02:00
Rhys Arkins
7f8dd25a97 refactor: matchesSemver -> matches 2018-05-21 17:40:15 +02:00
Rhys Arkins
63f2669153 refactor: semverSort -> sortVersions 2018-05-21 17:35:50 +02:00
Rhys Arkins
7a1d30c8b6 refactor: move semver to lib/versioning 2018-05-21 17:30:55 +02:00
Rhys Arkins
d45f957cfd refactor: defer isX upgrade classifications 2018-05-21 17:20:41 +02:00
Rhys Arkins
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
Rhys Arkins
c89929d3e2 fix: rename changelog cache file 2018-05-19 08:22:37 +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
7f4cb4aa57
feat: rangeStrategy (#1954)
This PR replaces the existing `pinVersions`, `upgradeInRange` and `versionStrategy` settings with a single one: `rangeStrategy`.

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

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

Now, we combine them into a single setting: `rangeStrategy`:
 - `auto` = Renovate decides (this will be done on a manager-by-manager basis)
 - `pin` = convert ranges to exact versions
 - `bump` = same as `upgradeInRange` previously, e.g. bump the range even if the new version satisifies the existing range
 - `replace` = Same as pinVersions === false && upgradeInRange === false, i.e. only replace the range if the new version falls outside it
 - `widen` = Same as previous versionStrategy==='widen'
2018-05-17 07:16:13 +02:00
Rhys Arkins
407b302cfe logs: info not warn for no packageFile content 2018-05-16 08:50:30 +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
Rhys Arkins
c4d3b3dfb4 refactor: pass bad credentials error from branch to repo 2018-05-16 07:03:27 +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
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
2b2b1d92ab logs: packageFiles -> config 2018-05-14 07:56:17 +02:00
Rhys Arkins
69b264cf01 fix(npm): don’t read npmrc files if ignoreNpmrcFiles=true 2018-05-13 23:06:27 +02:00
Rhys Arkins
ebe9607d79 fix(npm): npmrc/ignoreNpmrc logic 2018-05-13 22:04:06 +02:00
Rhys Arkins
49bbcd48e8 fix(onboarding): rebase existing content
# Conflicts:
#	lib/workers/repository/onboarding/branch/rebase.js
2018-05-13 14:43:07 +02:00
Rhys Arkins
8a2818db8e fix(automerge): default to pr, not pr-comment 2018-05-13 08:01:58 +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
Rhys Arkins
6f583ab0e6 fix(presets): set npmrc after first decrypt
In case the renovate config has a npmrc in it that is used to decrypt a preset.
2018-05-11 15:43:14 +02:00
Rhys Arkins
680a0bc193 fix: don’t fetch .npmrc in initApis
It will be fetched if there is a package.json anyway
2018-05-10 21:03:25 +02:00
Rhys Arkins
916e258bbd fix: spoil github autolinking even for private repos
Closes #1931
2018-05-09 20:09:34 +02:00
Rhys Arkins
4babdd989e fix: delete branch if PR fails with 502 error 2018-05-09 19:53:46 +02:00
Rhys Arkins
16de6a2912 logs: less changelog 2018-05-09 18:42:47 +02:00
Rhys Arkins
e7a9c0fe44 logs: don’t log changelog headings 2018-05-09 18:38:32 +02:00
Rhys Arkins
eccef72b52 fix(npm): restore autodetect pinVersions 2018-05-09 18:17:11 +02:00
Rhys Arkins
4791742060 fix: close configuration issue 2018-05-09 18:03:48 +02:00
Rhys Arkins
3989d47f76 fix: re-enable semantic commit detection 2018-05-09 14:38:17 +02:00
Rhys Arkins
407f8fc576 refactor: drop key after decrypt 2018-05-09 13:43:23 +02:00
Rhys Arkins
43ac21778f logs: decrease debugging 2018-05-09 13:31:04 +02:00
Rhys Arkins
66804bf211 logs: drop excessive debug 2018-05-09 13:26:16 +02:00
Rhys Arkins
d4de9108af feat: skip PR generation if lock file generation fails 2018-05-09 12:10:45 +02:00
Rhys Arkins
d75a220008 fix: filter out disabled updates 2018-05-09 11:37:35 +02:00
Rhys Arkins
9fe651bca9 logs: drop unnecessary flatten debugs 2018-05-09 10:14:35 +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
9ffd0abda1 refactor: replace stringify/parse with fast-clone 2018-05-07 21:50:40 +02:00
Rhys Arkins
812fe227b8 fix(onboarding): adjust packageFiles check when filtering 2018-05-07 20:14:00 +02:00
Rhys Arkins
ad16528fa0 fix: don’t debug branches when sorting 2018-05-07 13:21:46 +02:00
Rhys Arkins
2517c9f1d9
refactor: renovateRepository split (#1928) 2018-05-07 12:59:32 +02:00
Rhys Arkins
6431cf6861 refactor: move sortBranches 2018-05-07 07:59:53 +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
7189f4682f refactor: simplify repo init 2018-05-07 06:47:17 +02:00
Rhys Arkins
3dbd470f61 refactor: move repo processResult 2018-05-07 06:33:49 +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
ac2bc0decb refactor: rename upgrades to updates in branchify 2018-05-06 20:12:01 +02:00
teppeis
abebabb91d fix: remove a useless param 2018-05-06 18:02:54 +02:00
Rhys Arkins
4c72978e29 fix: strip git suffix from changelog repository 2018-05-06 12:33:58 +02:00
Rhys Arkins
93547f12df refactor: simplify stale lock file maintenance deletion 2018-05-06 12:28:37 +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
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
45f3c4c765 refactor: move package rules logic to separate file 2018-05-03 14:41:04 +02:00
Rhys Arkins
16c1fe85a4 refactor: remove unused dep type merge config 2018-05-01 20:04:44 +02:00
Rhys Arkins
89b4401b5f chore: log source repo with tag failure 2018-05-01 17:55:05 +02:00
Rhys Arkins
a20376d336 refactor: info not warn when missing tags 2018-05-01 17:27:53 +02:00
Rhys Arkins
6199b88ac5 fix: rename cachePath for changelog commits 2018-05-01 12:39:46 +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
2606219485 fix(packageRules): get packageFile from depTypeConfig 2018-04-28 15:47:09 +02:00
Rhys Arkins
757154ded4
feat: add paths selector to packageRules (#1879) 2018-04-28 08:56:15 +02:00
Rhys Arkins
3257bf73df refactor: simplify packageRule logic 2018-04-28 08:16:35 +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
5e3339aacb
feat: support commit prefix in onboarding commit (#1868)
This PR adds the capability so that the onboarding commit message (“Add renovate.json”) will have a prefix if semanticCommits is explicitly set to true by the bot administrator.

e.g. “renovate a/b —semantic-commits=true —semantic-commit-type=foo” will result in the onboarding commit being “foobar: add renovate.json”.

Closes #1867
2018-04-26 14:06:36 +02:00
Rhys Arkins
6415833a4b refactor: renovateapp.com -> renovatebot.com 2018-04-24 13:59:42 +02:00
Rhys Arkins
1564150d9f refactor: streamline debug logging 2018-04-18 21:19:00 +02:00
Rhys Arkins
da06af8489 logs: log finish 2018-04-18 06:31:55 +02:00
Rhys Arkins
4bec798521 fix: lower case only if the commitType has no uppercase 2018-04-17 14:28:04 +02:00
Rhys Arkins
8fc005b15e fix: group based on commitMessageExtra 2018-04-17 11:47:22 +02:00
Rhys Arkins
96d8eb321d refactor: print branchName when pr title changes 2018-04-17 10:25:48 +02:00
Rhys Arkins
f042c8dbe0 fix: keep version in commitMessage/prTitle when grouping with types 2018-04-17 10:06:02 +02:00
Rhys Arkins
13484c6f98 fix: skip validating bot config to avoid unnecessary deprecation warnings 2018-04-17 09:23:41 +02:00
Rhys Arkins
9753f9dcba
feat: modular branchName/prTitle/commitMessage templating (#1760)
This PR refactors `branchName`, `commitMessage` and `prTitle` so that they are more easily editable and hopefully more understandable. By breaking each up into subsections, users can modify one part without needing to copy/paste the entire string.

Directly editing any of these fields will now be deprecated and a warning issued.
2018-04-17 08:39:26 +02:00
Rhys Arkins
8352d7e661 logs: info message for pr title change 2018-04-17 08:29:25 +02:00
Rhys Arkins
c90f2252a2 fix: don't check packageRules selector for default config
Closes #1829
2018-04-12 18:47:14 +02:00
Rhys Arkins
70ae459890 Add 'not-found' to errors 2018-04-12 17:03:14 +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
Rhys Arkins
bb9eae28b1 logs: lower rule debug to trace 2018-04-11 21:04:31 +02:00
Rhys Arkins
f634812636 logs: improve merge status/result debug 2018-04-11 09:39:35 +02:00
Rhys Arkins
f874ab53e7 refactor: remove try/catch/finally from repository worker 2018-04-10 09:19:24 +02:00
Rhys Arkins
813dd1be79 logs: log err and message for unknown errors 2018-04-10 09:18:39 +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
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
a81da6edf7 refactor: simplify packageRules var names 2018-04-09 06:21:15 +02:00
Ayoub Kaanich
eb3c55b125 refactor: set token in config before renovation 2018-04-09 06:08:43 +02:00
Rhys Arkins
79bdfbea3e fix: don’t skip lockfilemaintenance branch creation due to unpublishsafe
Closes #1809
2018-04-08 06:59:34 +02:00
Rhys Arkins
990767fa38 fix: await handleError 2018-04-05 07:37:26 +02:00
Rhys Arkins
d0af557ade
fix: no warn when deleting lock file maintenance branch
Closes #1797
2018-04-05 07:04:02 +02:00
Rhys Arkins
0dd604f53d tests: fix automerge tests 2018-04-04 19:35:01 +02:00
Rhys Arkins
27db9cfbf8 refactor: remove automerge recursion 2018-04-04 19:23:45 +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
Rhys Arkins
394bc931bd refactor: simply global mergeconfig 2018-04-04 13:47:56 +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
Ayoub Kaanich
3b8f3c5c16 fix: use sha instead of ref for PRs when possible. (#1772)
Resolves #1658
2018-04-02 22:49:34 +02:00
Rhys Arkins
d9bfa0cd28 fix: await platform.ensureIssueClosing 2018-04-02 18:47:04 +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
ffbf332a32 fix: prune past latest versions earlier 2018-03-30 09:38:17 +02:00
Rhys Arkins
70ae736988 fix: abort if renovate config returns null 2018-03-28 21:01:38 +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
3b2d8d2dd4 fix: consider newFrom when evaluating group logic 2018-03-28 19:54:42 +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
797c35edf9 fix: packageRule match anything only if there is a negating config 2018-03-28 09:29:27 +02:00
Rhys Arkins
39aa1fdf64 fix: pass through migratedConfig warnings 2018-03-28 09:24:54 +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
9ab4e55bc5 chore: reduce logger.debug volume 2018-03-27 21:57:02 +02:00
Rhys Arkins
ccf0d4ad3d fix ensure pr error ordering 2018-03-27 17:44:05 +02:00
Rhys Arkins
08f1739e15 fix: ignore npmrc in repository if user has configured one manually 2018-03-27 16:22:26 +02:00
Rhys Arkins
7379d7d1da logs: downgrade resolved config to trace 2018-03-27 15:37:09 +02:00
Rhys Arkins
223722ad4c fix: pass rate limit exceeded errors up from ensurePr 2018-03-27 15:33:05 +02:00
Rhys Arkins
e03c2c267f fix: add commit signing to onboarding PR 2018-03-27 06:22:58 +02:00
Rhys Arkins
259312bb97 fix: catch Host key verification error for all lock file types 2018-03-26 13:19:06 +02:00
Rhys Arkins
d5c8c300d6 fix: sklp branch creation for “Host key verification failed” install error 2018-03-26 11:21:06 +02:00
Rhys Arkins
02da88e350 fix(pr validation): skip branch status when it’s a fork 2018-03-26 07:11:11 +02:00
Rhys Arkins
a9b99e779a fix: write npmrc for lerna subdirs too 2018-03-25 22:53:45 +02:00
Rhys Arkins
09c7980566 fix: improve debugging of npmrc 2018-03-25 22:14:40 +02:00
Rhys Arkins
fb230a7b29 fix: perform additional decrypt after preset resolve
To catch the use case where encrypted npmToken or npmrc is in the preset itself
2018-03-25 21:29:37 +02:00
Rhys Arkins
ee6c6bda2c chore: lighten debug logging 2018-03-24 06:31:01 +01:00
Rhys Arkins
83e7b5f0ef fix: pass up rate limit exceeded error when ensuring PR 2018-03-23 07:56:21 +01:00
Steven Hargrove
52721b8c14 fix: use only one yarn mutex type (#1706)
Closes #1705
2018-03-23 05:36:02 +01:00
Rhys Arkins
2fce3220e7 chore: downgrade duplicate lerna failure warn 2018-03-22 20:49:15 +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
0462f91e7a fix: expand github errors for better debugging
Try to get message and body in all errors we log
2018-03-22 09:51:19 +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
5e898467d2 tests: fix coverage 2018-03-22 09:24:59 +01:00
Rhys Arkins
d83164691b fix: adjust onboarding PR based on requireConfig setting 2018-03-22 05:33:09 +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
52ad9d8277
fix: skip branch creation if the updated dependency fails to lock (#1696)
There are times when an npm dependency has an update available yet the “npm/yarn/pnpm install” fails to find it, and the lock file can’t be generated. We check for this any time there’s a lock file error and abort the branch creation, hoping it fixes itself on the next run.

Closes #1666
2018-03-21 11:17:54 +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
85d697c649 chore: remove unused json-stringify-safe 2018-03-20 21:15:24 +01:00
Rhys Arkins
d77a3b2b92 fix: log error response body if present 2018-03-20 18:03:14 +01:00
Rhys Arkins
6c677cbc92 fix: use onboarding status to determine mirror mode config branch 2018-03-20 13:29:08 +01:00
Rhys Arkins
dd93c1c194 fix: search changelogs down to fourth heading deep
Closes #1687
2018-03-20 10:07:50 +01:00
Rhys Arkins
3eaa75f3e4 fix: use looser changelog heading matching 2018-03-20 10:07:21 +01:00
Rhys Arkins
203930d2d6 fix: unescape issue number inside backticks 2018-03-20 09:59:58 +01:00
Rhys Arkins
a913a50715 fix: hard code public github api for release lookups 2018-03-20 09:24:22 +01:00
Rhys Arkins
e8fdf130c9 fix: handle unstable releases with upgradeInRange
Fixes when a ranged version had a semver release part (e.g. 1.2.3-rc.5).

Closes #1689
2018-03-20 07:20:14 +01:00
Rhys Arkins
b4bfb35418 chore: lower debug to trace for packagePatterns 2018-03-20 07:11:56 +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