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
Rhys Arkins
0cfba9d014
chore: lessen debugging - move to trace
2018-03-20 06:39:37 +01:00
Rhys Arkins
ec34d136cf
fix: don’t have blocking pin PRs when in mirror mode
2018-03-17 15:32:43 +01:00
Rhys Arkins
d86891cf81
fix: prTitle compilation with nested templates
...
Closes #1652
2018-03-17 10:58:42 +01:00
Rhys Arkins
13609b735d
fix: improve try/catch for mirrorMode config
2018-03-17 07:02:38 +01:00
Rhys Arkins
e50d9c1f05
feat: mirrorMode
...
adds feature mirrorMode, aimed for “shadowing” a target repository.
2018-03-17 06:07:39 +01:00
Rhys Arkins
fa2bda45fe
fix: delete lockFileMaintenance branch if no longer necessary
...
If a lockFileMaintenance branch returns no updated lockfiles then we should delete it.
Closes #1655
2018-03-16 10:51:10 +01:00
Rhys Arkins
ef26aa7ea4
fix: rebase lock file maintenance PRs if configured
...
Fixes so we skip lock file generation for lock file maintenance branches only if it *doesn’t* need rebasing.
Helps #1655
2018-03-16 06:28:46 +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
3a8f73adaa
chore: better debugging for timezone/schedule
2018-03-15 06:22:25 +01:00
Rhys Arkins
dbe9fd9dec
fix: compile handlebars multiple times to catch nested templates
...
Closes #1652
2018-03-13 07:44:50 +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
ikisialeu
c0f87172fa
fix: validate timezones ( #1638 )
...
`Adds a config validation check for timezone, checking it against the list in moment-timezome.js`. Configs with invalid timezones will raise a configuration error.
Closes #1483
2018-03-12 04:24:45 +01:00
Rhys Arkins
09b8989b2e
chore: error not warn when repository not found
2018-03-09 11:50:04 +01:00
Rhys Arkins
cd97792e7c
fix: allow rebaseStalePrs=false to take priority over repo settings ( #1624 )
...
fix: allow rebaseStalePrs=false to take priority over repo settings
2018-03-09 06:58:40 +01:00
eMerzh
088279abbd
fix: return shrinkwrapdir to avoid crash ( #1621 )
2018-03-08 15:59:52 +01:00
Rhys Arkins
c2f0a46d9a
feat: npm shrinkwrap
...
Adds support for npm-shrinkwrap.json files.
Closes #67
2018-03-08 09:46:08 +01:00
Rhys Arkins
862998c2b4
fix: don’t validate empty config
2018-03-08 08:00:12 +01:00
Rhys Arkins
ef828be054
refactor: log content before validation
2018-03-08 07:32:09 +01:00
Rhys Arkins
c3db85c74e
fix: correct setMeta for validatePrs()
2018-03-07 15:06:57 +01:00
Rhys Arkins
308ed432db
feat: upgradeInRange ( #1608 )
...
Upgrade ranges to latest version even if latest version satisfies existing range.
| name | value |
| ------- | ------- |
| type | boolean |
| default | false |
By default, Renovate assumes that if you are using ranges then it's because you want them to be wide/open. As such, Renovate won't deliberately "narrow" the range by increasing the semver value inside.
For example, if your `package.json` specifies a value for `left-pad` of `^1.0.0` and the latest version on npmjs is `1.2.0`, then Renovate won't change anything. If instead you'd prefer to be updated to `^1.2.0` in cases like this, then set `upgradeInRange` to `true` in your Renovate config.
This feature supports simple caret (`^`) and tilde (`~`) ranges only, like `^1.0.0` and `~1.0.0`. It is not compatible with `pinVersions=true`.
Closes #1607
2018-03-07 07:41:10 +01:00
Rhys Arkins
d237c6c670
feat: add comment to PRs if config validation fails
2018-03-06 20:00:10 +01:00
Rhys Arkins
e7c325e6f0
fix: validate based on branchPrefix, not branchName
2018-03-06 16:12:59 +01:00
Rhys Arkins
453ce13278
fix: Revert "refactor: array concatenation ( #1601 )"
...
This reverts commit dd26a018c5
.
2018-03-06 15:54:39 +01:00
Rhys Arkins
96835410d8
feat: validate renovate config PRs ( #1602 )
...
feat: validate renovate config PRs
2018-03-06 15:21:17 +01:00
AndreiMargineanu
dd26a018c5
refactor: array concatenation ( #1601 )
...
Refactors all instances of .concat() to use array spread operators instead
Closes #1459
2018-03-06 12:34:39 +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
e2f067faba
Revert "fix: skip pruning for multiple baseBranches"
...
This reverts commit 81c722473f
.
2018-03-05 13:53:37 +01:00
Rhys Arkins
3877b87c36
fix: delete branchList if repository has looped
2018-03-05 13:53:04 +01:00
Rhys Arkins
81c722473f
fix: skip pruning for multiple baseBranches
2018-03-05 13:19:39 +01:00
Rhys Arkins
7021a073aa
fix: clean up multiple baseBranches correctly
...
Re-enables branch cleanup for multiple baseBranches
2018-03-05 12:27:10 +01:00
Rhys Arkins
3d65e3a48e
fix: disable branch pruning when multiple basebranches in use
2018-03-05 12:12:46 +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
a2c4ecefda
fix: delete empty errors and warnings from migrated config
2018-03-04 07:12:02 +01:00
Rhys Arkins
faa4cc6171
fix: travis metadata and formatting
...
Updates travis config and logic to use same variables as for other managers. This fixes the onboarding PR.
Fixes #1551
2018-03-03 20:53:54 +01:00
Rhys Arkins
3c56f8aeb6
refactor: move manager-specific code under lib/manager ( #1573 )
...
Refactors all non-npm code to live inside lib/manager/*
2018-03-03 14:39:39 +01:00
Rhys Arkins
7f9d73a318
feat: allowedVersions
...
A semver range defining allowed versions for dependencies
| name | value |
| ---- | ------ |
| type | string |
Use this - usually within a packageRule - to limit how far to upgrade a dependency. For example, if you wish to upgrade to angular v1.5 but not to `angular` v1.6 or higher, you could defined this to be `<= 1.5` or `< 1.6.0`:
```
"packageRules": [{
"packageNames": ["angular"],
"allowedVersions": "<=1.5"
}]
```
2018-03-03 06:35:11 +01:00
Rhys Arkins
7db4951722
fix: use commonConfig branchPrefix only if set
2018-03-01 21:58:34 +01:00
Rhys Arkins
e9eba859ea
fix: use original branchPrefix when pruning baseBranches
2018-03-01 21:34:27 +01:00
Rhys Arkins
a3bd0a0e95
Revert "logs: log configs when baseBranches in use"
...
This reverts commit c4cdfe8989
.
2018-03-01 21:08:01 +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
bb2fc1b7ca
refactor: move npm extract from workers to manager
2018-03-01 10:21:26 +01:00
Rhys Arkins
cf336a0b21
refactor: use manager not packageFile
2018-02-28 19:01:35 +01:00
Rhys Arkins
c4cdfe8989
logs: log configs when baseBranches in use
2018-02-28 19:00:40 +01:00
Rhys Arkins
9119568fe4
fix: add checks if pr branch still exists (gitlab)
...
in GitLab, a PR may be open while the branch itself has been removed. We cant just assume that the branch exists because the PR does, even if it’s an edge case.
2018-02-28 04:43:30 +01:00
Rhys Arkins
d0fa221ae3
fix: only rebase if pr is dirty (github)
2018-02-27 19:50:16 +01:00
Rhys Arkins
5c6139f030
fix: throw error if lerna out of disk space
2018-02-27 19:05:00 +01:00
Rhys Arkins
bc684c7b29
fix: implicit patch-only upgrade
...
Use type ‘patch’ only when patch automerge is true AND minor automerge is not true.
2018-02-27 14:50:09 +01:00
Rhys Arkins
f95058d66b
refactor: move npm registry to datasource
2018-02-27 10:49:24 +01:00
Rhys Arkins
ff1a75b42d
fix: throw error if yarn out of disk space
...
Closes #1548
2018-02-26 17:03:12 +01:00
Rhys Arkins
9263fd36b3
fix: don’t overwrite edited onboarding configs
...
Before, we were attempting to rebase edited branches if renovate.json was the only modified file. This “lost” the committer information - which seemed ok - but it also meant that on the subsequent run it then assumed Renovate was the only committer. Now we don’t rebase edited onboarding branches anymore.
Closes #1360
2018-02-22 19:46:57 +01:00
Rhys Arkins
352ac76640
chore: add debugging to semantic commit detection
2018-02-22 08:58:44 +01:00
Rhys Arkins
b00af3022a
fix: re-enable package-lock-only for npm
...
Closes #1531
2018-02-22 07:42:59 +01:00
Rhys Arkins
1fd83139ed
feat: configurable onboarding config ( #1543 )
...
Adds configuration option `onboardingConfig` that allows the default onboarding config to be extended or replaced via `config.js` or env configuration.
Closes #1521
2018-02-21 19:50:58 +01:00
Rhys Arkins
182d1c7348
fix: don't use --package-lock-only for npm install ( #1544 )
...
* Revert "fix: disable reusing existing package-lock.json when upgrading (#1530 )"
This reverts commit 2728e39963
.
* switch from —package-lock-only to —ignore-scripts
Removing `--package-lock-only` option from npm installs due to https://github.com/npm/npm/issues/19852
Pretty sure this fixes #1495
2018-02-21 08:12:25 +01:00
Rhys Arkins
e057e11823
fix: warn if missing lock file during lerna bootstrap
2018-02-20 09:26:47 +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
dd08477360
fix: don’t reuse branch yarn.lock when rebasing
...
This has been causing undesirable side-effects with sub-dependencies “rolling back” in long-running PRs.
Fixes #1532
2018-02-19 06:52:32 +01:00
Rhys Arkins
2728e39963
fix: disable reusing existing package-lock.json when upgrading ( #1530 )
...
Skip writing package-lock.json locally before `npm install —package-lock-only` to work around https://github.com/npm/npm/issues/19852
Workaround to fix #1528
2018-02-18 21:16:04 +01:00
Rhys Arkins
576f38efdc
fix: use isUmergeable instead of mergeable
2018-02-16 16:19:26 +01:00
Rhys Arkins
dfc768b571
fix: correct unpublish safe url
...
Fixes #1517
2018-02-15 08:31:58 +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
17472879f4
chore: add debugging to packageRules matching
2018-02-11 21:09:33 +01:00
Rhys Arkins
9766a94fbf
fix: check for truthy arrays before checking length
2018-02-11 19:58:59 +01:00
Rhys Arkins
c69e215613
fix: updatedPackageFile typo
2018-02-11 17:38:06 +01:00
Rhys Arkins
d88fbc9bf2
fix: add config.updatedPackageFiles check
2018-02-11 17:11:20 +01:00
Adam Moss
69f77c01da
fix(semanticCommitScope): compile with handlebars
...
Compile the semanticCommitScope with handlebars to ensure any
substitutions such as {{depName}} are correctly parsed and replaced.
Closes #1504
Signed-off-by: Adam Moss <adam.moss@bcs.org.uk>
2018-02-11 07:38:10 +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
6478f3c53d
fix: don’t log config with ever lock file remove
2018-02-09 12:44:24 +01:00
Rhys Arkins
f7f0ad14e7
chore: set type=lerna when generating lock files
2018-02-09 10:38:36 +01:00
Rhys Arkins
8c772348c6
chore: downgrade changed from warn to info
2018-02-09 08:27:24 +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
aa84766136
fix: don’t delete lock files when non-npm package files exist
...
Fixes #1320
2018-02-09 06:55:47 +01:00
Rhys Arkins
5e767472ee
fix: check for prHourlyLimitReached before generating lockfiles
2018-02-08 20:07:32 +01:00
Rhys Arkins
a05c33b2ed
fix: Revert "fix: add try/catch to lock file read"
...
This reverts commit a28cef0aa9
.
2018-02-08 16:26:07 +01:00
Rhys Arkins
a28cef0aa9
fix: add try/catch to lock file read
2018-02-08 16:16:30 +01:00
Rhys Arkins
3bed325e26
fix: improve release note title detection
2018-02-08 16:04:41 +01:00
Rhys Arkins
b1ad1bb058
fix: detect renamed repositories and skip
2018-02-08 16:04:25 +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
1610752547
fix: add check for version.time (npmjs)
2018-02-08 06:50:10 +01:00
Rhys Arkins
4c6e3f7932
fix: use existing lock files when rebasing
...
Check if a lock file already exists in the current *branch* and if so then use it as the base for generating the new lock file and not the master one. Ensures that simple rebases result in same result.
Closes #1481
2018-02-07 16:23:41 +01:00
Rhys Arkins
dc1bcee68e
chore: downgrade closed PR warning to info
2018-02-07 12:03:49 +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
85a09fffe5
fix: return err.stderr not stderr when npm install fails
2018-02-07 06:30:06 +01:00
Rhys Arkins
40859b10e2
feat: use yarn mutex to ensure only one install at a time
2018-02-07 06:21:25 +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
4663967379
fix: better lerna version detection
2018-02-06 15:49:21 +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
29cae7725b
fix: show newDigest for docker digest pinning in onboarding PR
2018-02-06 11:14:55 +01:00
Rhys Arkins
6d7bbaefcc
fix: detect lerna version in dependencies or devDependencies
2018-02-06 10:56:21 +01:00
Hutson Betts
f7bd7c37d9
fix(yarn): support upgrading windows-only modules
2018-02-06 07:03:47 +01:00
Rhys Arkins
a79222b777
fix: catch initRepo 403 (github)
2018-02-05 22:23:50 +01:00
Rhys Arkins
9c89629183
fix: re-enable lerna bootstrap ( #1487 )
...
* Revert "fix: Revert "feat: lerna bootstrap support (#1486 )""
This reverts commit 4e592d601d
.
* fix: fix lerna.json detection
2018-02-05 20:06:24 +01:00
Rhys Arkins
4e592d601d
fix: Revert "feat: lerna bootstrap support ( #1486 )"
...
This reverts commit 3cab59d2fe
.
2018-02-05 19:40:54 +01:00
Rhys Arkins
3cab59d2fe
feat: lerna bootstrap support ( #1486 )
...
Adds support for running `lerna bootstrap` instead of `npm install` or `yarn install` (without Workspaces), hence allowing support of internally-linked dependencies.
Closes #1441 , Closes #1443
2018-02-05 19:30:07 +01:00
Rhys Arkins
4a427adcac
fix: don’t clean branches if repository is not found or blocked
2018-02-04 21:57:43 +01:00
Rhys Arkins
4c267b210b
fix: handle archived repos gracefully
2018-02-04 21:20:28 +01:00
Rhys Arkins
5a11596960
chore: add logging to onboarding pr logic
2018-02-04 13:35:43 +01:00
Rhys Arkins
021242a7bf
fix: use json-stringify-safe on unknown errors
2018-02-03 15:58:14 +01:00
Rhys Arkins
e306f707db
fix: abort renovation if repository has changed during run
...
If attempting to create a branch and it already exists, or attempting to update a branch and it no longer exists, then we abort.
2018-02-03 15:45:43 +01:00
Rhys Arkins
720b46696a
feat: gitlab branch cleanup ( #1475 )
...
Removes the GitHub-only check when cleaning/pruning branches.
2018-02-03 12:06:25 +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
40072e2707
refactor: downgrade 5 loops from error to warn
2018-02-02 18:04:26 +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
7afb693151
fix: update all pr body templates to use h1 headings
2018-02-02 10:56:40 +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
f856b364c6
refactor: downgrade yarn parsing error from warning to info
2018-02-01 16:23:47 +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
cadb4b796f
fix: massage updated less than/greater than to match existing format
2018-02-01 08:25:52 +01:00
Rhys Arkins
6fc1f94936
feat: list package files in onboarding PR
...
Closes #1461
2018-01-31 13:20:55 +01:00
Rhys Arkins
335844e6b7
feat: strip docker-only descriptions from onboarding PR if no Dockerfiles
2018-01-31 13:10:09 +01:00
Rhys Arkins
ad4b9feb92
feat: prConcurrentLimit
...
Adds a new feature to limit the number of concurrent branches/PRs to have open at any one time. Defaults to 0 (disabled), set it to a positive integer to enforce that limit.
2018-01-30 11:43:16 +01:00
Rhys Arkins
5800230cc2
fix: packageRules without packageNames or packagePatterns should match
...
If a packageRule is missing packageNames AND missing packagePatterns, then we should match by default. This allows users to define a single “exclude” rule without needing to add a catchall include rule (e.g. `packagePatterns”: [“.*”]`)
2018-01-30 09:34:42 +01:00
Rhys Arkins
5a02a35afb
chore: log branchList before pruning
2018-01-30 09:23:38 +01:00
Rhys Arkins
b32b7447da
refactor: Revert "refactor: add YARN_CACHE_FOLDER to env"
...
This reverts commit f0111101c9
.
2018-01-29 09:54:49 +01:00
Rhys Arkins
37d83cf61a
refactor: check that workspaces has yarn.lock committed
...
Closes #1451
2018-01-29 09:51:16 +01:00
Rhys Arkins
f5b1c00d8f
refactor: log old/new pr details if updating
2018-01-28 21:46:27 +01:00
Rhys Arkins
64cf41e76e
refactor: sort PRs by type and then title
2018-01-28 16:14:04 +01:00
Rhys Arkins
f64204b992
fix: pin PRs should be sorted before digest ones
2018-01-28 15:57:20 +01:00
Rhys Arkins
f621e93519
chore: add better metadata to packge-file and package logging
2018-01-28 14:51:55 +01:00
Rhys Arkins
b2b0e42492
fix: do not jump unstable majors unless configured to do so
2018-01-27 16:18:18 +01:00
Rhys Arkins
6743e5b489
refactor: downgrade yarn.lock parsing error logs to info
2018-01-27 08:30:14 +01:00
Rhys Arkins
8dcc83a4a3
feat: support yarn mutex file
...
Adds yarn mutex file flag to cmd line if set in env
2018-01-27 07:25:08 +01:00
Rhys Arkins
f0111101c9
refactor: add YARN_CACHE_FOLDER to env
2018-01-27 06:41:23 +01:00
Rhys Arkins
a378bbbac3
fix: massage invalid Regex pattern ‘^*$’
2018-01-26 19:30:57 +01:00
Rhys Arkins
f3c8fd23c9
feat: stringify unknown errors for better visibility ( #1449 )
...
feat: stringify unknown errors for better visibility
2018-01-26 19:08:13 +01:00
Rhys Arkins
6c57c5f45b
refactor: lower lock file warning to debug
2018-01-26 16:26:42 +01:00
Rhys Arkins
fda9fcc289
fix: only use lockedVersion when pinning
2018-01-26 12:31:52 +01:00
Rhys Arkins
9e0a798a6b
fix: trace lock files, not info
2018-01-26 12:25:53 +01:00
Rhys Arkins
2830a33aab
fix: check for valid lockedVersion
...
When pinning, check that the “version” in a lock file is a valid semver, and ignore it if not.
2018-01-26 11:49:44 +01:00
Rhys Arkins
79e9ce6d8f
feat: pin npm dependencies using lock files
...
When package-lock.json or yarn.lock files are present, and Renovate needs to “pin” any dependencies (e.g. after onboarding), it will use whatever version is in the lockfile rather than the latest version on npm js that satisfies the semver range. This should increase the chance that Pin Dependencies PRs pass tests, as it should use as close as possible dependencies as the previous time the lock file was committed to master. Thanks to @alexeagle for first suggesting this.
Closes #1362
2018-01-26 10:18:40 +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
9363fd8acf
refactor: pass object to platform.initRepo
...
Also renames repoName to repository
2018-01-25 12:24:13 +01:00
ctaepper
280e74fa9f
feat: expose env to npmrc and npm/yarn/pnpm ( #1407 )
...
Adds a config option to bot administrators called `exposeEnv`, for cases where repositories are trusted. If set to true, the bot's full `process.env` can be used for `.npmrc` variable substitution and is passed to child processes when generating lock files. Disabled by default, including in the App.
2018-01-25 10:38:30 +01:00
Rhys Arkins
0925f59262
feat: versionStrategy ( #1439 )
...
Adds new config option `versionStrategy` that allows config to override Renovate’s autodetection of when to “widen” an existing semver range, and when to “replace”.
2018-01-24 15:26:37 +01:00
Rhys Arkins
1b535af43e
feat: hyphen range support ( #1437 )
...
Adds support for ranges, such as `”1.x - 2.x”`. Adds support for widening .x ranges, e.g. `”1.x || 2.x”` becomes updated to `”1.x || 2.x || 3.x”`.
Closes #687
2018-01-24 11:23:59 +01:00
Rhys Arkins
f943d6b27c
feat: widen semver || ranges ( #1436 )
...
When an “or” semver (e.g. “react”: “^14.4.0 || ^15.0.0”) is found, we now widen it. e.g. the result will be “^14.4.0 || ^15.0.0”.
2018-01-24 09:44:38 +01:00
Rhys Arkins
bf64d62dc8
feat: advanced semver "less than (and equal to)" support ( #1435 )
...
Adds support for "less than" semver, and for complex semver values that end in "less than" e.g. ">= 1.0.0 < 2.0.0". Also supports complex semver values that end in "less than or equal to", although they make a lot less sense, e.g. ">= 1.0.0 <= 2.0.0".
Closes #1433
2018-01-24 08:43:27 +01:00
Rhys Arkins
9504fb8abb
refactor: use handlebars triple escapes in templates ( #1434 )
...
This stops HTML substitution from occurring
2018-01-24 07:18:11 +01:00
Rhys Arkins
ef17430d7a
refactor: lower bazel and semver warnings to info logs
2018-01-23 13:00:05 +01:00
Rhys Arkins
516142b687
feat: import existing greenkeeper config when onboarding ( #1431 )
...
Detects any greenkeeper configuration fields and migrates them to Renovate’s config during onboarding.
Closes #1429
2018-01-23 11:59:32 +01:00
Rhys Arkins
a7083c5688
refactor: Recommend blocking PRs be renamed and not reopened
2018-01-23 10:50:05 +01:00
Rhys Arkins
0b7deb546c
feat: apply package.json renovate config to whole repository ( #1419 )
...
Changes the way Renovate treats renovate config inside `package.json` files. Before, config used to be applied only to that particular file, meaning that it was not applied for the rest of a monorepo, or for other package managers like Docker. Now, any `renovate` section inside the repository’s root `package.json` will be applied globally, just the sams as if it were contained within a `renovate.json` file. This means there is no longer any case where you *must* have a `renovate.json` file instead of `package.json`.
Closes #1323
BREAKING CHANGE: renovate config in `./package.json` is now applied to whole repository, and renovate config inside non-root `package.json` files is now ignored.
2018-01-23 06:59:01 +01:00
Rhys Arkins
032f104b2c
Revert "fix: make sure lock file maintenance branch is not stale before skipping ( #1265 )"
...
This reverts commit 1aba7c79af
.
Fixes #1425
2018-01-22 13:34:55 +01:00
Rhys Arkins
fa68a5a216
refactor: skip ignore notification comment if PR was merged
2018-01-20 15:09:23 +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
85dfa819c1
fix: skip newlines at start of Dockerfile ( #1402 )
...
Allow for both comment lines or empty lines prior to FROM in Dockerfile
2018-01-17 17:58:28 +01:00
Rhys Arkins
bb46281c2c
tests: update tests after code removal
2018-01-17 16:26:58 +01:00
Rhys Arkins
68f0da5ade
refactor: remove legacy code detecting mistakenly closed PRs
2018-01-17 15:34:08 +01:00
Rhys Arkins
fd813964b3
fix: rename legacy pr titles
2018-01-17 15:33:41 +01:00
Rhys Arkins
b72be53fba
fix: ensure monorepo packages are ignored in workspaces root too
...
Adds an extra check to ensure that monorepo package names are ignored in the workspaces root too.
Closes #1398
2018-01-17 06:32:07 +01:00
Rhys Arkins
23e217991c
feat: pnpm shrinkwrap support ( #1392 )
...
This feature adds support for pnpm shrinkwrap.yaml files.
Closes #1391
2018-01-15 16:55:33 +01:00
Rhys Arkins
ac09b9d7cd
feat: cache npm results in memory per-run
...
We currently use got’s inbuilt caching for npmjs, however it still results in a roundtrip/304 even when cached. The when using presets is that a package like renovate-config-default gets looked up 10+ times unnecessarily. With this feature we assume that npm lookups don’t change for the duration of a run, and even if they did then we’d prefer the reliability of using the first lookup.
Closes #1389
2018-01-15 11:53:02 +01:00
Rhys Arkins
b5db28b242
fix: propagate registry-failure errors to avoid config validation warnings
...
We don’t want npmjs 5xx errors to cause config validation Issues in repositories.
Closes #1388
2018-01-14 18:58:49 +01:00
Rhys Arkins
2a5f189573
fix: ignore onboarding branch when calculating pr hourly limit
2018-01-12 10:02:36 +01:00
Rhys Arkins
dba574950b
feat: baseBranches (multi-branch) support ( #1379 )
...
This PR adds the capability to renovate more than one base branch at a time. For instance, a project may have their released `3.x` version on `master`, while an upcoming `4.x` is being prepared using branch `next`. `4.x` might have a quite different set of dependencies (e.g. some removed or some added) so it's not appropriate to only target `master` and keep rebasing, as it will get messy. Instead, it's necessary to target both `master` and `next` to keep both updated.
Closes #1279
2018-01-12 07:47:18 +01:00
Rhys Arkins
2dcb2a70d8
feat: prHourlyLimit
...
Adds a feature to enforce an hourly limit on PR creations.
Closes #1363
2018-01-11 11:56:16 +01:00
Matt R. Wilson
d0d62e6e7b
Allow --renovate-fork Cli flag for onboarding.
...
Fixes https://github.com/renovateapp/renovate/issues/1371 .
2018-01-10 22:52:36 +01:00
Rhys Arkins
2925c0d9a7
feat: automatically group @types companion packages
...
By stripping ‘types/ from the branch name, package x and @types/x then become automatically combined in the same PR. We then massage it a little to ensure the decription for the non-types package is used, and a note added saying that types is included.
Closes #1365
2018-01-10 15:35:14 +01:00
Rhys Arkins
21a6b1acea
fix: delete blocking branch if it still exists
2018-01-10 10:26:57 +01:00
Rhys Arkins
2e2f53b677
fix: move debug statement to fix tests
2018-01-10 09:38:42 +01:00
Rhys Arkins
a2b3ca440d
refactor: debug if repoIsOnboarded
2018-01-10 09:09:17 +01:00
Rhys Arkins
228b823e45
fix: ignore branchPrefix for onboarding branch
2018-01-09 17:24:09 +01:00
Rhys Arkins
910793e5f2
fix: check onboarding pr when handling config error
...
Instead of checking for config.repoIsOnboarded, just check for the onboarding PR and reverse the logic.
Closes #1339
2018-01-08 15:53:52 +01:00
Rhys Arkins
28518a4f77
feat: massage ‘*’ packagePattern to ‘.*’
...
‘*’ is actually an invalid regex so fails, however many people might make this mistake so it’s easier to just allow it.
2018-01-06 10:41:10 +01:00
Rhys Arkins
1bbf0c1692
fix: don’t apply custom branchPrefix when onboarding
2018-01-06 10:19:00 +01:00
Rhys Arkins
b711e0c3aa
fix: handle 404 repos gracefully
2017-12-31 20:47:46 +01:00
Rhys Arkins
24b94765ff
feat: skip over archived repositories (github)
2017-12-31 20:28:22 +01:00
Rhys Arkins
8684ff8a6b
fix: don’t debug log the open pr twice
2017-12-30 06:29:40 +01:00
Rhys Arkins
1cb920fa4b
fix: set/reset npmrc during init
...
Detect npmrc in root of repo and make sure it’s set early. Also ensure npmrc is reset at start of each run if necessary.
Helps #1335
2017-12-30 06:11:04 +01:00
Rhys Arkins
45d7c8f257
fix: check pr state for open or opened
2017-12-30 06:03:57 +01:00
Rhys Arkins
002de288c7
refactor: log pr if not
2017-12-29 17:03:27 +01:00
Rhys Arkins
e735ed9eb0
feat: restart renovation if any pr has changed from open to closed
2017-12-28 17:21:06 +01:00
Rhys Arkins
97fc3e6135
fix: pr should be ensured if branch automerge previously failed
...
If branch automerge *previously* failed, then still make sure we are keeping the PR up to date.
Closes #1336
2017-12-28 17:19:59 +01:00
Rhys Arkins
1a3b0b61ea
refactor: remove edited PR comment and log warn instead
2017-12-28 16:29:03 +01:00
Rhys Arkins
6b91b87dee
feat: stop updating PR if edited
...
Previously, Renovate would attempt to keep a branch up to date even if users had edited it. e.g. adding commits on top of the existing branch if newer versions were released. Now, Renovate adds a warning comment if a user has edited a branch, making it clear that responsibility for the branch is over to them and how they can undo this.
Closes #653
2017-12-27 15:20:32 +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
Rhys Arkins
e0e0b9defe
fix: Revert "feat: restart renovation after github error"
...
This reverts commit eb579ff388
.
For some reason it seems to be causing a reduction in throughput per hour in the app once deployed.
2017-12-26 19:45:17 +01:00
Rhys Arkins
eb579ff388
feat: restart renovation after github error
...
When 404 or 422 errors are encountered writing updates, Renovate will now restart in an attempt to fix it. Usually this is because branches/PRs have been edited or closed while Renovate is running.
Closes #1299
2017-12-26 06:26:33 +01:00
Rhys Arkins
2720688f4c
feat: commit body
...
This PR adds the configuration option “commitMessageBody”. The contents of this will be appended to the commitMessage, separated by two line returns.
2017-12-25 20:37:14 +01:00
Rhys Arkins
4ec85ad818
feat: use version in pr title for synchronised groups ( #1333 )
...
Now, if every upgrade in a group has the same new version, then the PR title will include this version.
Closes #1332
2017-12-24 11:14:34 +01:00
Rhys Arkins
b850985926
refactor: add ls to npm install to view files in logs
2017-12-23 08:55:47 +01:00
Rhys Arkins
146e8f6982
feat: skip onboarding if renovate config detected in root package.json ( #1322 )
...
Renovate will now detect if renovate config already exists within the project’s ‘package.json’ root, and skip onboarding if so.
Closes #1159
2017-12-22 19:14:26 +01:00
Rhys Arkins
f4364ccc44
fix: isOnboarded should return true if onboarding is skipped
2017-12-22 18:50:41 +01:00
Rhys Arkins
2c6a2dd43b
feat: better semantic commit detection
...
Limit to looking at last 10 commit messages and only use semantic commits if angular type is found.
2017-12-19 19:45:34 +01:00
Rhys Arkins
eeefc3c8f3
feat: stop and raise error if repository is misconfigured ( #1302 )
...
This PR updates Renovate to detect config validation problems and (1) stop processing, and (2) either raise an Issue if already onboarded, or (2) update the onboarding PR to reflect the error if still onboarding.
Closes #1300
2017-12-18 09:39:52 +01:00
Rhys Arkins
cfd02be920
refactor: log renovateConfig when warning of validation errors
2017-12-16 07:09:54 +01:00
Rhys Arkins
b2f3626578
fix: strip leading equals sign from currentVersion
...
e.g. =0.22.0 is treated as 0.22.0
2017-12-16 06:50:18 +01:00
Rhys Arkins
bf6d774cfc
refactor: simplify duplicate removal of dependency names
2017-12-15 21:33:54 +01:00
Rhys Arkins
72dbe58ade
chore: add path details to npmrc and yarnrc log
2017-12-15 09:10:35 +01:00
Rhys Arkins
b5b714d4b5
fix: writeToken -> forkToken ( #1295 )
...
Rename writeToken to forkToken to make it clearer. This enables GitHub API to use one token for all reads, and another token just for writing to the forked repository.
2017-12-14 11:47:00 +01:00
Rhys Arkins
d3c0559c21
chore: log when setting npmrc
2017-12-14 10:56:54 +01:00
Rhys Arkins
bbb700c54d
feat: add github writeToken capability in github wrapper
2017-12-12 14:54:09 +01:00
Rhys Arkins
cb8fd6b4ed
feat: fork mode ( #1287 )
...
This PR adds the capability to run Renovate in a new "fork mode". This new mode must be configured by the Renovate admin, and cannot be configured within repositories themselves (for now). Example use: `renovate --autodiscover --fork-mode`
In this mode:
* Renovate will fork the repository if necessary (first run only)
* If the fork already existed, Renovate will ensure that its base branch is up to date with the source repository's
* Branches will be created within the fork, PRs will be created in the source
2017-12-11 19:14:51 +01:00
Rhys Arkins
5036360658
feat: gitPrivateKey for signed git commits ( #1282 )
...
This feature enables signing of git commits on GitHub. To achieve this, Renovate must be configured with a gitPrivateKey in format supported by openpgp. There must also be a gitAuthor configured to enable this feature.
Closes #897
2017-12-09 17:56:23 +01:00
Rhys Arkins
70c95add5a
feat: custom git commit author ( #1280 )
...
This PR adds the capability to specify a custom author for git commits on GitHub. Setting this field will mean GitHub uses this value for author and commit instead of the token’s identity. For instance if you are running hosted mode you may set the gitAuthor to “Renovate Bot <bot@renovate.com>” to have commits appear as coming from the renovate-bot account.
2017-12-09 17:09:31 +01:00
Rhys Arkins
61b1c7f25c
refactor: sort branches
...
This makes the onboarding PR easier to understand by putting pin first, then minor, then major.
2017-12-08 11:03:45 +01:00
Rhys Arkins
494dc08897
refactor: unsatisfied range warn -> info ( #1278 )
...
* refactor: unsatisfied range warn -> info
* refactor: downgrade setNewValue warn -> info
2017-12-08 09:39:40 +01:00
Rhys Arkins
696aaa38af
refactor: slim down onboarding PR description ( #1274 )
2017-12-07 13:32:56 +01:00
Rhys Arkins
987891ba2e
feat: bazel WORKSPACE support ( #1268 )
...
This PR adds support for bazel WORKSPACE package files, as suggested https://github.com/alexeagle/angular-bazel-example/issues/17#issuecomment-349167982
Renovate will:
1. Detect `WORKSPACE` files anywhere in the repository
2. Look for all `git_repository()` sections in the file
3. Extract any dependencies with name, remote and tag values
4. Look up any dependencies that (a) have a github https remote, and (b) a valid semver as tag
5. Update the tag to the latest available
2017-12-07 09:22:10 +01:00
Rhys Arkins
04e505d483
fix: handle existing range with no matching versions ( #1273 )
2017-12-06 18:53:55 +01:00
Rhys Arkins
b5ef020e76
refactor: log npmDep.name when determining upgrades
2017-12-06 17:40:18 +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
b8dadb718d
feat: travis.yml node_js versions support ( #1243 )
...
This PR adds support for renovating the `node_js` versions in `.travis.yml` configuration files. Important notes:
- Functionality is disabled by default and hence opt-in via configuration
- Added a new manager type `node` because it is anticipated to support more than just Travis in future, with mostly unified logic
- Added the config option "policy" with supported values: lts, active, current, lts_latest and lts_active
- Policy is actually an array, to allow additive combining, e.g. `["lts_latest", "current"]`
- Actual node versions are *hardcoded*. There is no perfect metadata source for this and they change infrequently enough that it is definitely not a problem for now (next change will be in April 2018)
- If node versions need updating, they are listed from newest to oldest
- Replacing function attempts to detect the indention (spacing) in file and use that
To enable, configure `node.enabled=true` and optionally `node.policy=["<policy>"]` if you want something other than `lts`.
Closes #1208
2017-12-05 07:50:16 +01:00
Rhys Arkins
1aba7c79af
fix: make sure lock file maintenance branch is not stale before skipping ( #1265 )
2017-12-05 06:17:27 +01:00
Rhys Arkins
d56654cd88
fix: don’t exception if no rollback versions found ( #1263 )
2017-12-04 15:07:35 +01:00
JYC
ab3372d33c
feat: copy local packages ( #1244 )
...
If we have in a package.json links to some local lib file:../path/to/folder
Then the local lib package.json will be copied to the tmp folder to be able to generate the right yarn lock file. This is not working with tgz files, only folder reference.
Closes #1215
2017-11-30 06:43:56 +01:00
Rhys Arkins
958f8b5314
fix(deps): Update npm to v5.6.0 ( #1255 )
2017-11-29 06:05:57 +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
15dfad63b5
refactor: return ‘onboarding’ from ensureOnboardingPr ( #1250 )
2017-11-28 14:58:18 +01:00
Rhys Arkins
4a57cfd3cd
fix: only return no-work if branch doesn’t exist ( #1245 )
2017-11-28 09:00:59 +01:00
Rhys Arkins
eabff37a15
fix: exit gracefully if no files to commit ( #1242 )
...
This handles case where checking for lock file maintenance but lock file is up-to-date.
2017-11-27 08:25:07 +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
72d46c20e2
refactor: remove label and assignees description from onboarding pr ( #1235 )
...
These can now be described via presets instead
2017-11-24 12:03:57 +01:00
JYC
7a63342ddd
fix: path joins on windows ( #1216 )
...
Use `upath` for windows-friendly path joins.
Closes #1203
2017-11-24 07:50:49 +01:00
Rhys Arkins
7e6befe4a8
fix: merged PRs should not block new PRs in monorepos ( #1230 )
...
Only block if it was closed unmerged.
Fixes #1205
* check for closed only for monorepos
2017-11-24 07:31:20 +01:00
Rhys Arkins
65a5e90bb7
feat: split semanticPrefix into type and scope
2017-11-24 07:14:58 +01:00
Rhys Arkins
7675f3a9f1
fix: replace singapore/renovate references with renovateapp/renovate ( #1229 )
2017-11-23 14:08:31 +01:00
Rhys Arkins
0f80e7d501
fix: use RENOVATE_TMPDIR ( #1202 )
2017-11-20 07:08:30 +01:00
JYC
b272b4aab7
fix: VSTS - canRebase ( #1197 )
...
* deleteBranch like gitlab
* changes in single commit
* prettier lint and tests
2017-11-19 11:23:30 +01:00
Rhys Arkins
d3d9b2be02
refactor: packageFile log debug -> trace ( #1191 )
2017-11-17 15:10:59 +01:00
Rhys Arkins
804d7ba955
refactor: don't cache lock files ( #1190 )
...
* refactor: don’t store yarn.lock content in packageFile
* chore: don’t log full lockfile
* refactor: don’t save package-lock.json
* update tests
2017-11-17 14:53:29 +01:00
Rhys Arkins
0e81a88a54
fix: drop branchExists check after create ( #1188 )
2017-11-16 23:51:47 +01:00
Rhys Arkins
4c4d5cfdac
refactor: check unpublishsafe only if configured ( #1186 )
2017-11-16 22:34:49 +01:00
Rhys Arkins
d3955f1a32
fix: only remove lock file warning comment when successfully updating… ( #1184 )
2017-11-16 21:54:13 +01:00
Rhys Arkins
414fb7d4d7
chore: add debugging to checkOnboardingBranch
2017-11-16 14:16:24 +01:00
Rhys Arkins
d5f58fcb6e
feat: allow configurable tmpdir for caching ( #1176 )
2017-11-16 10:26:04 +01:00
Rhys Arkins
c89b957b8a
refactor: defer branch protection check ( #1173 )
2017-11-15 15:31:20 +01:00
Rhys Arkins
7c72156562
refactor: move semantic commit detection from init to later updates ( #1170 )
2017-11-15 13:39:44 +01:00
Rhys Arkins
b3ec1c0156
fix: set npmrc at repository level ( #1169 )
2017-11-15 12:30:39 +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
6d17d4a58d
fix: only ignore monorepo packages if matching glob ( #1153 )
...
Previously, packages within a workspace or lerna project were ignores across the entire repo. Now, they are only ignored within package files that exist in the same lerna project or yarn workspace.
Closes #1147
2017-11-12 10:16:46 +01:00
Rhys Arkins
c3d84d4767
fix: find .renovaterc.json when onboarding ( #1145 )
2017-11-11 05:18:24 +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
ede1a59527
feat: support .renovaterc json configuration file ( #1142 )
...
Renovate will now check for `renovate.json`, `.renovaterc`, and `.renovaterc.json` in that order. JSON-only supported (no YAML).
Closes #969
2017-11-10 14:10:16 +01:00
Rhys Arkins
ca5b080aac
refactor: check blocked PR before checking schedule ( #1140 )
...
Instead of checking schedule first, now we check first if the PR is blocked by a closed PR. This provides more consistent feedback.
Closes #1100
2017-11-10 13:32:33 +01:00
Rhys Arkins
8a87bcd918
feat: rebase onboarding branch ( #1139 )
...
Previously, Renovate's "Configure Renovate" onboarding branch would never get rebased after it was created. Now, it will be rebased every time the base branch is updated, unless the list of modified files is more than `renovate.json` alone.
Closes #1111
2017-11-10 13:07:06 +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
51cde5d03f
feat: multipleMajorPrs ( #1129 )
...
With this PR, Renovate will default to raising only one major PR at a time. e.g. if you have Webpack 1.x then you will get only one major PR for webpack v3 and not also for v2. set multipleMajorPrs=true to get multiple.
Closes #1101
2017-11-10 04:57:07 +01:00
Rhys Arkins
0bc2953113
fix: lock file stderr was not being included in pr comments ( #1122 )
2017-11-08 13:26:55 +01:00
Rhys Arkins
f044aca321
refactor: streamline platform file operations ( #1121 )
...
Remove original getFile, getFileContent, and getFileJson and replace with getFile (which used to be getFileContent.. shortened now for convenience). Also remove unused getSubdirectories functions.
2017-11-08 12:23:32 +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
89e13d05fe
fix: refactor logger addStream and depType logging ( #1117 )
...
* fix: refactor logger addstream
* remove depTyp setMeta
2017-11-08 09:59:32 +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
5a852baa61
fix: do not clean uninitiated repository ( #1102 )
2017-11-05 06:27:46 +01:00
Rhys Arkins
80bed05146
feat: return result from renovateRepository
...
Repository logic code has been rearranged for better logic and file separation.
Closes #654
2017-11-05 05:45:49 +01:00
Rhys Arkins
d5462049a6
chore: implement require-await eslint rule ( #1095 )
2017-11-03 11:56:25 +01:00
Rhys Arkins
dcdfc0d004
fix: refactor pin dependencies first using array.some ( #1094 )
2017-11-03 11:50:57 +01:00
Rhys Arkins
935a70e88c
refactor: use plain markdown for onboarding pr body ( #1093 )
...
This PR refactors the onboarding PR logic into its own subdirectory and redesigns it to use plain markdown instead of html. Plain markdown in PR bodies is a requirement for adding VSTS Support ( #1049 ).
2017-11-03 10:01:54 +01:00
Rhys Arkins
9769f5a5db
refactor: detectPackageFiles returns packageFiles not config ( #1092 )
2017-11-03 09:25:18 +01:00
Rhys Arkins
9c1b7d78cd
refactor: move monorepos logic to npm manager ( #1091 )
...
* refactor: move monorepos logic to npm manager
* fix test
2017-11-03 09:06:42 +01:00
Rhys Arkins
543d93c520
refactor: move migrate-validate to config/ ( #1090 )
2017-11-03 08:25:51 +01:00
Rhys Arkins
11d7f26cc1
refactor: perform decrypt as part of merge renovate.json ( #1086 )
...
Also clarify docs that encrypted config must be contained in renovate.json (i.e. not package.json).
2017-11-03 07:51:44 +01:00
Rhys Arkins
9dd3fd968c
feat: rename mistakenly closed PRs ( #1085 )
...
Renovate already detects PRs mistakenly closed during a certain time period when a bug was present. Now, it will rename those so that they are no longer detected and the ignore code does not have to remain indefinitely.
2017-11-03 06:29:29 +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
143044ed64
fix: set contentBranch to undefined instead of null ( #1077 )
...
This allows parameter substitution to work correctly (undefined is replace, null is not).
Closes #1076
2017-11-02 04:59:31 +01:00