Commit graph

1099 commits

Author SHA1 Message Date
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
e4db4a4a35 fix(github): handle ‘empty’ repository properly 2018-09-25 08:50:47 +02:00
Rhys Arkins
d6e7fe6477 fix(pr): correct minor -> patch 2018-09-24 22:19:33 +02:00
Rhys Arkins
2aa9c3c83d fix: try/catch branch prune 2018-09-24 21:22:34 +02:00
Rhys Arkins
ffc04a0203 fix(github): catch 409 empty 2018-09-24 20:02:57 +02:00
Rhys Arkins
af0a112585 chore: instalbul -> istanbul 2018-09-24 20:02:46 +02:00
Rhys Arkins
8f6c239383 fix(npm): ignore react-native changelog 2018-09-24 16:02:18 +02:00
Rhys Arkins
08cf55e81f logs: branch/branchName 2018-09-24 11:47:49 +02:00
Rhys Arkins
9d46ca6dbd refactor: lower log levels 2018-09-23 07:26:06 +02:00
Rhys Arkins
56245cf872 refactor: fatal err 2018-09-23 06:44:18 +02:00
Rhys Arkins
e3116ee380 refactor: escape only release notes in pr body 2018-09-23 06:08:21 +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
0340f42d84 refactor(changelog): use markdown not html
Closes #2553
2018-09-22 17:49:56 +02:00
Rhys Arkins
bdd1df27a3 chore: drop commits/hasCommits legacy 2018-09-21 19:44:12 +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
10f7654ef8 refactor: register encodeURIComponent helper 2018-09-21 10:49:25 +02:00
Rhys Arkins
44020034cb refactor: better pr body log levels 2018-09-21 10:38:02 +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
Rhys Arkins
27890381aa refactor(pr): better PR edited comment 2018-09-20 14:51:58 +02:00
Rhys Arkins
fc9037a270 logs: correct depName/dependency 2018-09-20 12:13:18 +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
d625d1bfb0 fix: don’t create PR out of schedule
Closes #2536
2018-09-19 07:07:04 +02:00
Rhys Arkins
4b3c2d23ac
feat: combine tmp storage (#2533)
Renovate will now put all its data in `path.join(os.tmpdir(), '/renovate’);` and will instruct npm and yarn to do the same. To force Renovate to use a specific folder, set `process.env.TMPDIR` when running. The previous variable `RENOVATE_TMPDIR` is now deprecated and will be rewritten to TMPDIR.

Closes #1794
2018-09-18 05:26:09 +02:00
Rhys Arkins
7599fc8380 fix: ensure directories exist 2018-09-17 15:08:45 +02:00
Rhys Arkins
1d39525749 fix: better digest skip detection 2018-09-17 14:35:44 +02:00
Rhys Arkins
968d166ae5 logs: log localDir 2018-09-17 14:28:58 +02:00
Rhys Arkins
855ed50033 fix(changelog): use resolved filename
Closes #2529
2018-09-17 11:53:02 +02:00
Rhys Arkins
839eeaaebd fix: add pr existing check for lock file maintenance 2018-09-17 11:27:18 +02:00
Rhys Arkins
0498015f65 refactor(docker): use 7 char short digests 2018-09-16 06:11:12 +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
d19b15b83d fix: don’t update lock file maintenance or create PR out of schedule
Do no lock file maintenance work even if branch exists.

Closes #2503
2018-09-13 09:08:25 +02:00
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