Commit graph

313 commits

Author SHA1 Message Date
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
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
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
4bd8ab5061 logs: reduce release notes logging 2018-08-29 11:13:24 +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
6b6d1bf859 refactor(logs): return logs to app layer 2018-08-23 20:35:25 +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
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
11d85f1ad5 fix(pr): remove double vv versions from pr body
Fixes #2283, Fixes #2119
2018-07-22 10:26:00 +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
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
Ayoub Kaanich
219950399e feat: endpoints credentials handling 2018-07-06 07:26:52 +02:00
Rhys Arkins
fb6271e4f7 refactor: rename update.type -> update.updateType 2018-07-04 10:11:53 +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
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
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
a08adb4291 fix: don’t replace github token if endpoint is api.github.com 2018-06-25 20:01:22 +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
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
52309282b1 refactor: log changelog cache expiry 2018-06-15 08:07:05 +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
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
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
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
98e9198c8e refactor: replace indexOfs 2018-06-04 20:44:32 +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
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
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
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
6dbf9c52ad fix: Revert "feat: support retrieving changelog from ghe hosted repositories (#1968)"
This reverts commit f2fb2e6bda.
2018-05-16 07:04:59 +02:00
Marco Massarotto
f2fb2e6bda feat: support retrieving changelog from ghe hosted repositories (#1968) 2018-05-16 06:38:14 +02:00
Rhys Arkins
8a2818db8e fix(automerge): default to pr, not pr-comment 2018-05-13 08:01:58 +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
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
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
4c72978e29 fix: strip git suffix from changelog repository 2018-05-06 12:33:58 +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
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
1564150d9f refactor: streamline debug logging 2018-04-18 21:19:00 +02:00
Rhys Arkins
96d8eb321d refactor: print branchName when pr title changes 2018-04-17 10:25:48 +02:00
Rhys Arkins
8352d7e661 logs: info message for pr title change 2018-04-17 08:29:25 +02:00
Rhys Arkins
523b02fbc8
refactor: npm and semver (#1817) 2018-04-10 05:20:46 +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
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
9ab4e55bc5 chore: reduce logger.debug volume 2018-03-27 21:57:02 +02:00
Rhys Arkins
223722ad4c fix: pass rate limit exceeded errors up from ensurePr 2018-03-27 15:33:05 +02: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
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
23d0290384
fix: raise PR immediately if there are lock file errors (#1664)
fix: raise PR immediately if there are lock file errors
2018-03-15 07:06:18 +01:00
Rhys Arkins
e62aa89a6c
feat: customisable prFooter (#1648) 2018-03-12 13:35:15 +01:00
Rhys Arkins
68117f08d3
fix: remove redundant handlebars compilations (#1637) 2018-03-12 05:23:00 +01:00
Rhys Arkins
46e2e95b32 fix: pr dep filter use manager in duplicate key
To ensure we list both nvm and engines when upgrading node
2018-03-06 11:14:32 +01:00
Rhys Arkins
dde5756488
feat: .nvmrc files (#1582)
Adds initial support for `.nvmrc` renovation. If the existing value is a fully-specified semver version then it will be upgraded, otherwise left alone.

Closes #1270
2018-03-04 15:52:06 +01:00
Rhys Arkins
3fd090f3ef feat: prBanner
Enables a “banner” at the top of PRs. Must be set inside a config.js to work.
2018-03-01 17:35:11 +01:00
Rhys Arkins
d0fa221ae3 fix: only rebase if pr is dirty (github) 2018-02-27 19:50:16 +01:00
Rhys Arkins
f95058d66b refactor: move npm registry to datasource 2018-02-27 10:49:24 +01:00
Rhys Arkins
c949778ab7 fix: harmonize to pr.branchName 2018-02-19 20:01:10 +01:00
Rhys Arkins
116939ffb5
feat: renovate node engine in package.json (#1519)
Adds support for upgrading `node` version in `package.json` > `engines` if the current version is pinned.
- Does not convert from range to pin
- Ignores ranges
- Does not upgrade major versions
2018-02-19 14:21:45 +01:00
Rhys Arkins
576f38efdc fix: use isUmergeable instead of mergeable 2018-02-16 16:19:26 +01:00
Rhys Arkins
a8acdb31ac chore: add existingPr debug log 2018-02-15 08:30:21 +01:00
Rhys Arkins
848eb0dafb fix: delete GITHUB_ENDPOINT before changelog 2018-02-12 21:55:45 +01:00
Rhys Arkins
9cd579ddb3 feat: support separate GHE and github.com tokens
Instead of deleting the GITHUB_TOKEN when we find GHE configured, replace it with GITHUB_COM_TOKEN for the purposes of retrieving release notes and commit history.

Workaround for #1500 but does not close it.
2018-02-12 07:10:50 +01:00
Rhys Arkins
54bb8256dd fix: automerge pr even if automerge type was branch 2018-02-09 14:13:36 +01:00
Rhys Arkins
b1da837da1 fix: create Pr if prNotPending hours exceeded for branch automerge 2018-02-09 13:29:47 +01:00
Rhys Arkins
58f3c02ecc fix: log repository when getReleaseList errors 2018-02-09 08:22:51 +01:00
Rhys Arkins
c7f4be1748 fix: add extra check for manual github url 2018-02-09 07:04:27 +01:00
Rhys Arkins
3bed325e26 fix: improve release note title detection 2018-02-08 16:04:41 +01:00
Rhys Arkins
8d74ae5e7a fix: loosen # escaping 2018-02-08 13:48:17 +01:00
Rhys Arkins
206aaf63a7 chore: downgrade releaseList error to warn 2018-02-08 13:36:12 +01:00
Rhys Arkins
e795dc5a86 fix: check that repositoryUrl starts with github.com 2018-02-08 13:32:27 +01:00
Rhys Arkins
82ec20d35d fix: test if changelog.md heading ends with version 2018-02-08 13:25:28 +01:00
Rhys Arkins
f07a7a33c0 fix: strip trailing #something from manual repository url 2018-02-08 13:22:39 +01:00
Rhys Arkins
5794e008ce feat: look up missing dep repository manually if changelog fails 2018-02-08 13:00:22 +01:00
Rhys Arkins
cbd748efe6 fix: addReleaseNotes should check for valid input 2018-02-08 12:10:36 +01:00
Rhys Arkins
85d9607f12 fix: better escape all # chars in PR bodies 2018-02-08 10:44:58 +01:00
Rhys Arkins
430b8237c3 chore: fix lint 2018-02-07 11:03:26 +01:00
Rhys Arkins
c7efe253da fix: massage changelog release note bodies 2018-02-07 11:01:43 +01:00
Rhys Arkins
5609767748 chore: downgrade release note logs to trace 2018-02-07 11:01:32 +01:00
Rhys Arkins
465849cac5 fix: add url to release notes 2018-02-07 11:00:47 +01:00
Rhys Arkins
7785b6df48 fix: decrease release note heading sizes 2018-02-07 10:59:37 +01:00
Rhys Arkins
545218468f fix: Better summary/details substitution for gitlab pr bodies 2018-02-07 10:53:44 +01:00
Rhys Arkins
4555dcf38a chore: downgrade CHANGELOG no entry found log 2018-02-07 09:44:44 +01:00
Rhys Arkins
8b4f116ad6 refactor: log when no entry found in CHANGELOG.md 2018-02-07 08:32:55 +01:00
Rhys Arkins
2deb4a90f7 fix: support parsing [x.y.z] changelog headings 2018-02-07 08:25:30 +01:00
Rhys Arkins
4a7f493ec4 fix: delete branch if create pr returns “validation failed” 2018-02-07 08:05:32 +01:00
Rhys Arkins
19f04bee69 fix: log message when failing to create PR 2018-02-07 07:16:32 +01:00
Rhys Arkins
df69c9e3a2 fix: escape links to GitHub usernames 2018-02-06 19:21:22 +01:00
Rhys Arkins
f6e2627774
feat: parse CHANGELOG.md in source repositories (#1491)
Parses `CHANGELOG.md` for first or second-level markdown headings matching versions. Supports GitHub-only source repositories for now.

Closes #1470
2018-02-06 18:53:36 +01:00
Rhys Arkins
34ccbe38a3 fix: de-dupe release notes in each PR 2018-02-06 14:24:14 +01:00
Rhys Arkins
f721573e94 fix: escape github pull not pulls 2018-02-06 14:01:29 +01:00
Rhys Arkins
03bdfe191f fix: drop unnecessary changelog debug 2018-02-03 07:53:02 +01:00
Rhys Arkins
fbc46f6c70 fix: unset github token prior to changelog 2018-02-03 07:48:32 +01:00
Rhys Arkins
4d8510246d Revert "fix: unset ghe token before calling changelog (#1472)"
This reverts commit fb1c291b39.
2018-02-03 07:42:08 +01:00
Rhys Arkins
85de185896 chore: remove excess release notes debugging 2018-02-02 23:08:34 +01:00
Rhys Arkins
fb1c291b39
fix: unset ghe token before calling changelog (#1472)
fix: unset ghe token before calling changelog
2018-02-02 20:32:00 +01:00
Rhys Arkins
6fc39d75a5 fix: check for null release notes body 2018-02-02 13:08:00 +01:00
Rhys Arkins
c70c72f14b
feat: release notes in pull requests (sourced from github releases) (#1465)
Detects and embeds release notes found on GitHub when an npm dependency specifies a GitHub repository as its source and that repository has made use of the "Releases" feature.
2018-02-02 12:37:16 +01:00
Rhys Arkins
139d6b237e fix: include release headings in pr body only if it has commits 2018-02-02 10:41:33 +01:00
Rhys Arkins
42cb6fe853 fix: improve issue de-linking for public GitHub repos 2018-02-02 06:01:32 +01:00