Commit graph

347 commits

Author SHA1 Message Date
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
f042c8dbe0 fix: keep version in commitMessage/prTitle when grouping with types 2018-04-17 10:06:02 +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
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
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
Ayoub Kaanich
eb3c55b125 refactor: set token in config before renovation 2018-04-09 06:08:43 +02:00
Rhys Arkins
990767fa38 fix: await handleError 2018-04-05 07:37:26 +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
Ț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
Rhys Arkins
70ae736988 fix: abort if renovate config returns null 2018-03-28 21:01:38 +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
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
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
e03c2c267f fix: add commit signing to onboarding PR 2018-03-27 06:22:58 +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
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
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
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
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
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
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
Rhys Arkins
09b8989b2e chore: error not warn when repository not found 2018-03-09 11:50:04 +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
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
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
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
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
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
f95058d66b refactor: move npm registry to datasource 2018-02-27 10:49:24 +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
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
8c772348c6 chore: downgrade changed from warn to info 2018-02-09 08:27:24 +01:00
Rhys Arkins
b1ad1bb058 fix: detect renamed repositories and skip 2018-02-08 16:04:25 +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
a79222b777 fix: catch initRepo 403 (github) 2018-02-05 22:23:50 +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
40072e2707 refactor: downgrade 5 loops from error to warn 2018-02-02 18:04:26 +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
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
5a02a35afb chore: log branchList before pruning 2018-01-30 09:23:38 +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
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
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
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
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