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
Rhys Arkins
9195adc58a
refactor: sort versions and commits from oldest to newest
...
List versions and their commits in PR bodies in the order they were made (oldest to newest).
2018-02-02 05:42:22 +01:00
Rhys Arkins
a708005886
fix: massage issues/pulls links in public repos to be non-linking
2018-02-01 11:36:30 +01:00
Rhys Arkins
f5b1c00d8f
refactor: log old/new pr details if updating
2018-01-28 21:46:27 +01:00
Rhys Arkins
d66dea7ec3
feat: verify status check (GitHub) ( #1444 )
...
Adds a `renovate/verify` status check for those migrating and looking for familiarity. Better to check the GPG verified commit, as mentioned in the associated doc.
2018-01-25 13:36:21 +01:00
Rhys Arkins
93521cac74
fix: check for not-pending only if no existing PR exists
...
Closes #1408
2018-01-19 05:46:28 +01:00
Rhys Arkins
002de288c7
refactor: log pr if not
2017-12-29 17:03:27 +01:00
Rhys Arkins
976f2ac57e
feat: deduplicate changelogs
...
Deduplicate changelogs in monorepo PRs. i.e. the same monorepo won’t be included more than once.
2017-12-26 20:38:09 +01:00
renovate[bot]
73506f9043
chore(deps): update dependency prettier to v1.9.0 ( #1267 )
...
* chore(deps): update dependency prettier to v1.9.0
* run prettier
2017-12-05 11:50:16 +01:00
Rhys Arkins
8e136c7143
fix: do not delete branches if PR creation fails ( #1252 )
...
GitHub’s API is behaving too flakily and this can end up with closing PRs by accident, which then block future PRs. See https://github.com/ikatyang/emoji-cheat-sheet/pull/110 for example problem
2017-11-28 17:11:52 +01:00
Rhys Arkins
e54eafcbd1
chore: log info messages when creating and updating PRs ( #1240 )
2017-11-26 07:27:33 +01:00
Rhys Arkins
57eb471afa
fix: escaping @ mentions should be replace all ( #1239 )
...
Fixes #1238
2017-11-26 07:09:10 +01:00
Rhys Arkins
0f80e7d501
fix: use RENOVATE_TMPDIR ( #1202 )
2017-11-20 07:08:30 +01:00
Rhys Arkins
d5f58fcb6e
feat: allow configurable tmpdir for caching ( #1176 )
2017-11-16 10:26:04 +01:00
Rhys Arkins
59d3be4d1c
fix: replace h4 with ** (gitlab) ( #1167 )
...
Helps #954
2017-11-14 20:44:32 +01:00
Rhys Arkins
d2cd755f37
feat: persistent disk cache for changelog data ( #1163 )
...
Use `cacache` to persist changelog results between runs.
2017-11-13 17:44:09 +01:00
JYC
c9335d5bf6
Add VSTS support ( #1049 )
...
This PR adds support for Microsoft's [Visual Studio Team Services](https://www.visualstudio.com/team-services/ ) platform (in addition to existing GitHub and GitLab support).
Closes #571
2017-11-12 10:26:53 +01:00
Rhys Arkins
36dc55b894
fix: remove release.date conversion ( #1144 )
2017-11-10 16:04:25 +01:00
Rhys Arkins
3e34d52819
feat: cache changelog responses ( #1143 )
...
Returns cached value if from the to versions are an exact match. No expiry.
Closes #262
2017-11-10 14:48:14 +01:00
Rhys Arkins
f9e9351409
fix: use gitlab iid consistently in all pr-related functions ( #1135 )
2017-11-10 09:29:24 +01:00
Rhys Arkins
30b82c06a7
fix: gitlab MR bodies should use html ( #1134 )
2017-11-10 09:15:51 +01:00
Rhys Arkins
00e7821fcb
feat: use mostly markdown for pr bodies ( #1118 )
...
Existing solution uses HTML bodies for PR descriptions, as that was the easiest way to get consistency between GitHub and GitLab. However, VSTS supports only markdown so we needed to refactor how this is done. Now, GitHub PR bodies uses only minimal HTML (for summary/details) while GitLab PR bodies are converted to HTML using GitHub flavoured markdown for maximum compatibility. VSTS will be able to strip out the minimal markdown.
Closes #1018
2017-11-08 11:09:26 +01:00
Rhys Arkins
8c479071fd
refactor: use global logger ( #1116 )
2017-11-08 06:44:03 +01:00
Rhys Arkins
602752f9fe
refactor: use platform global ( #1115 )
2017-11-07 13:31:34 +01:00
renovate[bot]
c1df1b2cb8
chore(deps): update dependency prettier to v1.8.0 ( #1113 )
...
* chore(deps): update dependency prettier to v1.8.0
* reformat
2017-11-07 11:52:15 +01:00
Rhys Arkins
f8be45055a
refactor: remove config.api and use platform dispatcher ( #1114 )
2017-11-07 11:46:10 +01:00
Rhys Arkins
d5462049a6
chore: implement require-await eslint rule ( #1095 )
2017-11-03 11:56:25 +01:00
Rhys Arkins
9c43d74162
fix: escape every @ in pr body with zero width space ( #1084 )
2017-11-03 05:29:46 +01:00
Rhys Arkins
90c3b1cdbd
fix: add gitlab MR labels at time of creation ( #1006 )
...
This refactor means that createPr now takes `labels` as a new parameter so that the GitLab API can include them with the MR creation request, so save one API call. This also fixes #985 as a result.
2017-11-01 13:55:36 +01:00
Rhys Arkins
9732f3c717
refactor: log assignees and reviewers success after completion ( #999 )
2017-10-20 06:04:46 +02:00
Rhys Arkins
c93c761d27
refactor: log addReviewers and add empty team reviewers ( #988 )
...
See if this helps #782
2017-10-19 06:35:21 +02:00
Rhys Arkins
7a1d08eaab
fix: refactor out remaining do-while loops ( #978 )
...
* fix: convert prBody trimming from do-while to recursive
* fix: convert gitlab projects do-while to use pagination
2017-10-18 11:40:48 +02:00
Rhys Arkins
8fc61e35bc
feat: add assignees and reviewers whenever status checks fail ( #928 )
...
This feature means that you can configure branches/PRs to automerge, but if status checks fail (preventing automerge) then you can still get assigneed the PR to take action. Previously such PRs remained unassigned because we do not assign automerging PRs by default, to reduce noise.
Closes #722
2017-10-13 10:56:18 +02:00
Rhys Arkins
913d0cf208
feat: create PRs if branch automerge failed ( #888 )
2017-10-05 09:31:10 +02:00
renovate[bot]
cfc6c5ccdf
fix: update dependency eslint-config-airbnb-base to v12 ( #771 )
...
* chore(deps): update dependency eslint-config-airbnb-base to v12.0.0
* fix lint
2017-09-15 19:46:25 +02:00
Rhys Arkins
d765b34c33
feat: renovate meteor package.js dependencies ( #786 )
...
This feature adds support for renovating Meteor's `package.js` files. Meteor config is disabled by default so must be manually enabled to work. If enabled, Renovate uses GitHub's search API to look for any files named `package.js` that include the text `Npm.depends`. If so then the file is parsed using Regex to extract its dependencies and check them for updates.
Closes #785
2017-09-12 09:33:41 +02:00
Rhys Arkins
4e6c7e2ef5
feat: delete branch if PR creation fails ( #774 )
...
This will help “self heal” in cases where the branch becomes invalid and PR creation continually fails.
Closes #773
2017-09-03 10:02:48 +02:00
Rhys Arkins
33d58ce2a3
fix: log prTitle when creating pr ( #772 )
2017-09-03 06:59:51 +02:00
Rhys Arkins
5f708c2297
fix: do not restart renovation if automerging failed ( #755 )
2017-08-31 07:15:53 +02:00
Rhys Arkins
6e9c73e35a
feat: restart repo renovate after automerge ( #751 )
...
Previously, the automerge feature was causing some undesirable behaviour when multiple branches were open at the same time. Example: #707 . The main problem is that other branches will still be calculated based on the original `package.json` contents and not the post-merge contents. The simplest solution seems to be:
- Stop all subsequent branch processing after any automerge
- Restart repository renovation
This continues until no branch has automerged in a cycle.
Closes #750
2017-08-28 15:50:11 +02:00
Rhys Arkins
deac76b015
feat: support timeout for pr creation = not-pending ( #748 )
...
We should not leave the PR unopened forever if the branch remains in not-pending state too long. Some status checks may leave the status as “pending” instead of “failed”. Defaults to 12 hours but is configurable.
Closes #747
2017-08-28 11:37:09 +02:00
Rhys Arkins
8ebb32cd87
feat: display extended error in onboarding if lookup fails ( #744 )
...
Closes #626
2017-08-27 13:55:41 +02:00
Rhys Arkins
ea9ace2a76
feat: branch worker updates ( #736 )
...
This is a major refactor of branch code to prepare for Yarn workspaces plus creating PRs for branches with failing lockfiles. Marked as "feature" to cause a minor version bump due to the moderate chance of accidentally breaking something.
2017-08-26 16:10:18 +02:00
Rhys Arkins
3917fc6bae
fix: explicitly check automerge = true ( #728 )
...
* fix: explicitly check automerge = true
* update presets fixtures and tests
* fix versions tests
* update tests
2017-08-24 12:39:23 +02:00
Rhys Arkins
963a35789e
fix: improve ensurePr logs and try/catch ( #726 )
2017-08-24 10:14:53 +02:00
Rhys Arkins
b657d3c291
feat: support lock file maintenance automerge ( #712 )
...
Refactored the `automerge` field to change it to boolean. Existing string will be migrated to new config. Automerging lock files is now possible by adding `”lockFileMaintenance”: { ”automerge”: true}` to config.
Closes #706
2017-08-21 13:41:48 +02:00
Rhys Arkins
f598c5f899
fix: do not automerge pr if it has been modified ( #711 )
...
Add check for pr.canRebase. This will be false if the PR has been modified.
Fixes #790
2017-08-21 11:17:47 +02:00
Rhys Arkins
4a4016f232
fix: escape #issueNumber and backticks in prBody ( #602 )
...
Adds a zero width space between the # and first digit in issue numbers to prevent GitHub autolinking, also replaces escaped backticks with `<code></code>`
Closes #595
2017-08-04 07:34:11 +02:00
Rhys Arkins
db2e6dd1b9
refactor: Convert Object.assign to spread ( #585 )
...
Closes #226
2017-08-03 08:01:20 +02:00
Rhys Arkins
f1d7330f2b
fix: Improve PR body fixes for scoped packages ( #569 )
...
Escape all scoped package mentions
Escape in group PR bodies too
Remove empty repositoryUrl links
2017-08-01 08:49:41 +02:00
Rhys Arkins
6cd398f0c5
fix: Escape scoped package names in PR bodies ( #568 )
...
GitHub attempts to autolink any @user mention and this causes problems when we use scoped npm modules like `@types/gulp`. This escapes such package names with a zero width space to fool GitHub’s parser.
Fixes #518
2017-08-01 07:22:43 +02:00
Rhys Arkins
8374ef6caa
fix: Allow ‘@user’ format for assignees and reviewers ( #567 )
...
Usernames can now be expressed as like either ‘rarkins’ or ‘@rarkins’
2017-08-01 06:58:13 +02:00
Rhys Arkins
055cfaf73b
fix: Don’t warn for any getChangeLogJSON errors ( #557 )
2017-07-29 10:29:26 +02:00
Rhys Arkins
cadc148cd0
fix(changelog): Check that err.message exists
2017-07-19 08:46:00 +02:00
Rhys Arkins
8e48d97392
feat(logs): Support custom log detail fields
...
This removes the need to JSON.stringify() objects in logs. Default bunyan fields plus our custom meta fields are stripped out, and everything else is stringified in the details field.
Closes #498
2017-07-19 08:05:26 +02:00
Rhys Arkins
8e7fe1d37b
chore(logger): Reduce some log.warn to debug
2017-07-19 05:55:21 +02:00
Rhys Arkins
73df88c473
fix(pr): Prevent accidental hyperlinks in PR body ( #490 )
...
GitHub incorrect assumes these #12345 issue numbers refer to the *local* repo, not the source. Adding ` ` should prevent that auto-hyperlinking.
Closes #489
2017-07-16 18:37:17 +02:00
Rhys Arkins
64e91eed0f
fix(github): Hyperlink issues on GitHub only if private repo ( #479 )
...
Adding hyperlinks to all #12345 issues/PRs in upstream dependencies causes undesirable noise for maintainers of those repositories.
Now, such hyperlinking is done only for private repos as that won’t result in the same GitHub annotations.
Closes #478
2017-07-09 15:13:03 +02:00
Rhys Arkins
1395187ccc
feat(npm): Support packagelock.json maintenance ( #471 )
...
Renovate will now "maintain" npm@5's `package-lock.json` files on the same schedule as existing `yarn.lock` maintenance.
Closes #470
2017-07-07 13:57:43 +02:00
Rhys Arkins
6bd74c979d
refactor: send config to ensurePr
2017-07-07 12:37:33 +02:00
Rhys Arkins
c30472dd43
feat: Add ability to skip status checks for automerge ( #438 )
...
This starts off [#359 ](https://github.com/singapore/renovate/issues/359 ) (configurable status checks) but only implements one sub-feature of it: disabling status checks to allow automerge if tests fail or if no tests are present.
2017-07-05 07:02:25 +02:00
Rhys Arkins
e0e0b259c3
feat: Show warnings and errors in regular PRs ( #433 )
...
If errors or warnings are present, they will be displayed in the PR body of all PRs now (not just onboarding).
Closes #431
2017-07-04 13:52:23 +02:00
Rhys Arkins
9209982b6d
fix: drop preformatted changelog
...
No longer supporting preformatted (markdown) changelog input for templates.
BREAKING CHANGE: Preformatted {{changeloge}} no longer supported in PR body template.
Generate changelog using handlebars as in the default templtaes.
2017-07-01 06:40:37 +02:00
Rhys Arkins
552b5e68c5
Refactor helpers ( #382 )
...
* Move yarn and npm helpers into branch worker
* Fix name
* Move package-json helper
* Update name
* Move changelog
* Move github-app
* Remove unused platform
* Move logger
* Fix lint
2017-06-29 07:29:41 +02:00