Commit Graph

3688 Commits

Author SHA1 Message Date
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