Commit graph

653 commits

Author SHA1 Message Date
Rhys Arkins
05fa91e9cd feat: dry run
Adds support to run Renovate like “renovate owner/repo —dry-run”. Instead of creating branches, PRs or comments, an INFO level dry run message will be logged each time instead.

Closes #1399
2018-10-26 09:48:49 +02:00
Rhys Arkins
9c0135cf0d fix: typo in digest newValue
Closes #2674
2018-10-22 10:50:58 +02:00
Rhys Arkins
46dfc5eb1d feat(schedule): massage “every month” and “monthly” 2018-10-18 15:58:15 +02:00
Rhys Arkins
1409f923d9 feat(composer): packagist.org optimisation
Use direct lookup for packagist.org only
2018-10-18 13:48:30 +02:00
Rhys Arkins
70b4000f83 chore: remove misbehaving cache test 2018-10-16 06:47:54 +02:00
Rhys Arkins
0f1710faf8
feat(composer): custom registries and basic auth (#2650)
Adds support for custom Packagist registries.

- [x] Support dynamic packages.json interface for wpackagist.org
- [x] Support static packages.json for satis
- [x] Support basic auth using hostRules
- [x] Write basic auth to `auth.json`

Closes #2574, Closes #2354
2018-10-16 04:52:57 +02:00
Rhys Arkins
6fc40ad4f4 refactor: default skipInstalls to null
This allows users to control true/false explicitly via config.

Related: #2647
2018-10-12 20:00:49 +02:00
Rhys Arkins
2cabefef83 fix(github): gracefully handle fork error 2018-10-08 10:42:17 +02:00
Rhys Arkins
1abad41beb
feat: terraform support (#2606)
Adds terraform support for github sources with semver refs as well as fixed and ranged versions of Terraform registry modules.

Closes #1860
2018-10-06 13:39:39 +02:00
Rhys Arkins
a429618e09
chore: try delay for changelog cache test (#2608) 2018-10-06 13:35:10 +02:00
Rhys Arkins
78271c818a
chore: refactor cached changelog test (#2607) 2018-10-06 07:27:43 +02:00
Rhys Arkins
bdf1227bc0 fix: better group commit extra detection 2018-10-05 14:04:21 +02:00
Rhys Arkins
69cf9d309f feat(schedule): default to “at any time”
Closes #2601
2018-10-05 10:50:21 +02:00
Rhys Arkins
77997770f1 fix(schedule): don’t massage null value 2018-10-05 10:03:30 +02:00
Rhys Arkins
4ec79bb018 fix: better detect common toVersion when grouping
Closes #2600
2018-10-05 06:39:53 +02:00
Rhys Arkins
95d01e7ab1 feat: master issue
Adds undocumented/experimental “master issue” feature.

Setting `config.masterIssue = true` will result in Renovate opening and maintaining an issue that contains a list of all PRs both pending and open, and allowing some control over them (e.g. bypass schedule, force retry, etc).

Setting `config.masterIssueApproval` in addition will mean that branches are not created automatically and instead await approval in that master issue.

Closes #2595
2018-10-04 10:08:20 +02:00
Rhys Arkins
1f128bbcc2 refactor: processBranch function interface 2018-10-03 15:57:01 +02:00
Rhys Arkins
b7f1002774 feat(composer): pass lock file errors to PR comment
Instead of aborting PR when lock file errors happen, raise the PR with PR comment instead (like with npm/yarn).
2018-10-01 18:15:06 +02:00
Rhys Arkins
281507e421 refactor: getArtifacts return nested object 2018-10-01 16:29:50 +02:00
Rhys Arkins
f4210631c0
feat: go modules support (#2584)
Adds support for updating go modules (found in go.mod) and the accompanying go.sum checksum files.

Limitations:

- github.com modules only (but supports "redirects" to github e.g. by gopkg.in and golang.org)
- skips major upgrades > v1
- no vendoring support

Closes #933, Closes #2578, Closes #2579
2018-10-01 13:50:36 +02:00
Rhys Arkins
a49a58c5f0 refactor: getLockFile -> getArtifacts 2018-09-30 10:10:42 +02:00
Rhys Arkins
2555339552 feat: rebase using PR title
If PR title starts with “rebase!” then PR will be rebased.
2018-09-27 15:34:13 +02:00
Rhys Arkins
29115ba38c fix: bump patch only if explicitly separating
Bump updates should only be separated into “patch” if users explicitly separate patch and minor.

Closes https://github.com/renovatebot/presets/issues/85
2018-09-27 14:57:28 +02:00
Rhys Arkins
5956adf8bc fix(pr): improve rebase instructions 2018-09-27 14:32:45 +02:00
Rhys Arkins
1a209989bc
feat: yarn integrity switching (#2567)
Detects if `yarn.lock` contains `integrity` fields already and if so then runs `yarn` using v1.10.1 instead of the default v1.9.4.
2018-09-27 11:30:04 +02:00
Rhys Arkins
0e2947aa3f fix(followTag): jump unstable
Fixes #2561
2018-09-26 15:52:06 +02:00
Rhys Arkins
8c27d6fb23 tests: drop fatal test and ignore 2018-09-25 12:30:44 +02:00
Rhys Arkins
e4db4a4a35 fix(github): handle ‘empty’ repository properly 2018-09-25 08:50:47 +02:00
Rhys Arkins
6f16f1c569 feat: prBody default to Change column 2018-09-24 22:04:04 +02:00
Rhys Arkins
19a77f8901 fix(npm): force package-lock.json update when widening
Removes dependency record from package-lock.json before running “npm install” to ensure the latest version is installed.

Closes #2480
2018-09-22 18:17:49 +02:00
Rhys Arkins
3e4d2b7846 refactor: 3 length table header separator 2018-09-21 11:48:06 +02:00
Rhys Arkins
66a4aa40d8
feat: custom PR body notes (#2545)
Adds field “prBodyNotes” to allow customisable content in PR body.

Closes #1802
2018-09-21 11:36:07 +02:00
Rhys Arkins
dcec25c291
feat: customisable PR tables (#2544)
Adds ability to both redefine column definitions in PRs as well as add or remove columns.
2018-09-21 09:46:51 +02:00
Rhys Arkins
29251352e8
feat: common prBody across all types (#2542)
Closes #442
2018-09-21 05:43:51 +02:00
Rhys Arkins
72327f06a0 fix: allow rebase label after PR editing 2018-09-20 16:10:14 +02:00
Klaus Meinhardt
e9e71f4c1d feat: followTag (#2538)
If `followTag` is defined for a package, then Renovate will ignore all other available versions and instead stick strictly to whatever version is defined for the tag. npm-only for now.

Closes #2258
2018-09-19 09:59:33 +02:00
Rhys Arkins
d625d1bfb0 fix: don’t create PR out of schedule
Closes #2536
2018-09-19 07:07:04 +02:00
Rhys Arkins
eeae416ac9
feat(npm): support git digest updates (#2528)
Adds support for renovating git references in `package.json` files. Supports updating semver tags or sha1 references ("commit hashes").

Also includes support for updating git references from *private* GitHub repositories, if the following conditions are met:
- Renovate user/token is authorised to read from the source private repository
- Dependency is written like `git+https://github.com/owner/repo.git#ref` in `package.json`

Closes #415, Closes #817
2018-09-17 11:18:18 +02:00
Rhys Arkins
0498015f65 refactor(docker): use 7 char short digests 2018-09-16 06:11:12 +02:00
Rhys Arkins
cf6bb03a25 fix: remove npm-specific rollback terminology in pr body
Closes #2250
2018-09-15 14:22:50 +02:00
Rhys Arkins
23e7cdf0b2 feat: re-activate npm rollback PRs
Re-activating npm rollback PRs now that they have resolved their scoped package ttl, which caused previous false positives.
2018-09-15 14:17:03 +02:00
Rhys Arkins
598d57c315 feat: binarySource
Defaulting to ‘bundled’ (default behaviour), this option can be changed to ‘global’ if you wish Renovate to use globally installed npm, yarn, pnpm and lerna binaries. Note: composer always uses global regardless.
2018-09-14 20:38:52 +02:00
Rhys Arkins
788d96e5e9 refactor: rename isUnmergeable to isConflicted 2018-09-14 20:02:51 +02:00
Rhys Arkins
1e48508079 fix(onboarding): correct merge conflict detection
Use isUnmergeable and not canMerge

Closes #2524
2018-09-14 19:52:04 +02:00
Rhys Arkins
b817db10a3
feat: rebase on demand (#2522)
Adds functionality to force rebase a PR if the label "rebase" is added. Also, the label is configurable via a new `rebaseLabel` config option.

Closes #1406
2018-09-14 12:51:33 +02:00
Rhys Arkins
58d5483e7b feat: changelogUrl
Allows static configuration of custom changelog URLs per npm package, which will then be displayed in PR bodies.

Closes #2520
2018-09-14 06:55:38 +02:00
Rhys Arkins
f8cf83380f
refactor: endpoints -> hostRules (#2509)
Renames `endpoints` to `hostRules`
2018-09-12 12:16:17 +02:00
Rhys Arkins
dda0bade29
refactor: use single localDir per repo (#2505) 2018-09-12 06:30:01 +02:00
Rhys Arkins
11c6be8fba refactor: deprecate copyLocalLibs
This can/should be enabled by default now.
2018-09-10 09:38:03 +02:00
Rhys Arkins
ccffdaf712 fix: throw error up if no disk space 2018-09-08 07:16:05 +02:00
Rhys Arkins
3bd895a2d9 tests: add flatten test 2018-09-07 09:57:29 +02:00
Rhys Arkins
7faed2050d tests: update flatten test 2018-09-07 09:27:01 +02:00
Rhys Arkins
81818195b7 refactor: separate lockFileMaintenance per-package file
Closes #2464
2018-09-07 09:26:43 +02:00
Rhys Arkins
4d803d9c40 tests: fix flatten test 2018-09-07 09:13:30 +02:00
Rhys Arkins
ef70c48d4b fix: sort dependencies by name in PRs
Remove randomness
2018-09-04 06:30:47 +02:00
Rhys Arkins
167049502a fix: don’t look up release notes compare URLs by date 2018-09-03 22:39:35 +02:00
Rhys Arkins
5e38150154 fix: skip changelog lookup for @types
There’s never anything there
2018-09-03 22:20:01 +02:00
Rhys Arkins
0d2e3bd451 chore: update snapshot 2018-09-03 17:11:13 +02:00
Rhys Arkins
1f7b25e51c fix: cache changelog on from/to 2018-09-03 16:19:02 +02:00
Rhys Arkins
4d48ba1395 refactor: cache changelog per-release
Closes #2473
2018-09-03 10:25:30 +02:00
Rhys Arkins
7c3b6f1054 refactor: add release notes in one place 2018-09-03 09:17:11 +02:00
Rhys Arkins
934adfdffe refactor: move release notes into changelog 2018-09-03 08:39:30 +02:00
Rhys Arkins
35b2ce8b42
feat: centralised cache (#2472)
Closes #2466
2018-09-03 07:27:22 +02:00
Rhys Arkins
61466b7114 fix: remove prBody double compile 2018-09-02 19:18:44 +02:00
Rhys Arkins
d660c57a19 feat: add prBanner to default prBody template 2018-09-02 18:21:48 +02:00
Rhys Arkins
0e0d050884 refactor: include releases only if there’s an update 2018-08-29 11:13:45 +02:00
Rhys Arkins
265f796ea6 fix: remove excess newlines from pr body 2018-08-27 13:56:53 +02:00
Rhys Arkins
5fb9d77bba
feat: separate groups into major/minor/patch (#2426)
Previously if grouping, all major/minor updates within that group were combined into one. Instead, we now honour the “separateMajorMinor”, "separateMinorPatch", and "separateMultipleMajor" settings and keep the groups separate if necessary.

For maximum compatibility with existing PRs, we name branches like `renovate/group-name` whenever possible and only name them like `renovate/major-group-name` or `renovate/patch-group-name` if major or patch are found.

Closes #2425
2018-08-27 06:25:17 +02:00
Rhys Arkins
6b6d1bf859 refactor(logs): return logs to app layer 2018-08-23 20:35:25 +02:00
Rhys Arkins
c1dd5c0c8c feat: show both homepage and source repo for each dep
Changes PR body to show both homepage and source repo if both are present in the datasource metadata.

Closes #2387
2018-08-17 17:27:54 +02:00
Rhys Arkins
2eaaaca6a9 tests: update snapshot 2018-08-17 17:19:00 +02:00
Maximilian Gaß
8a9c371bef fix(docker): fix Docker group template (#2398) 2018-08-17 10:46:30 +02:00
Rhys Arkins
8cf9334273 tests: update snapshots 2018-08-16 18:37:22 +02:00
Maximilian Gaß
7a1418ad6f fix(docker): exclude calico/node from being marked as Node.js (#2397)
fix(docker): exclude calico/node from being marked as Node.js
2018-08-16 15:46:19 +02:00
Rhys Arkins
bc074aff02 fix: check PR is closed when finding blocking PR
Closes #2391
2018-08-16 12:15:56 +02:00
Rhys Arkins
19116fc6ed refactor: remove legacy closed PR check 2018-08-16 12:04:44 +02:00
Rhys Arkins
d0ec341e15
feat: skipInstalls (#2390)
Adds new admin option “skipInstalls” that is applicable for npm-only for now (including lerna-npm). If set to false, Renovate will perform a full install of modules rather than `—package-lock-only`. This is necessary in some cases to work around bugs in npm.

Self-hosted bot users can set this option themselves on the bot’s config, but app users will require it to be enabled per-repository by the app admin.
2018-08-15 17:13:07 +02:00
Rhys Arkins
d2885e5d9e fix: do not jump unstable versions implicitly
If the current value is already unstable then we presume the user is happy to take newer unstable versions. However we should not presume that they want to keep jumping versions if so and instead would prefer to stabilise.

Discussed in #2258 but does not close it
2018-08-15 09:40:10 +02:00
Rhys Arkins
7d8d4faea5 fix(npm): Disable npm rollback PRs
Necessary because of https://npm.community/t/scoped-packages-have-latest-version-disappear-temporarily-soon-after-publish/633

Until the npmjs registry can return consistent results, we need to disable roll back PRs.

Closes #2148
2018-08-15 08:42:10 +02:00
Rhys Arkins
103d8fbf68
feat: prettyDepType (#2376)
Adds field prettyDepType available for templates, currently used for npm only. Allows for PR titles like “Update devDependency left-pad to v1.3.0” instead of default “Update dependency left-pad to v1.3.0”.

To enable in PR titles: add this configuration: `"commitMessageTopic": "{{prettyDepType}} {{depName}}”`

This is not enabled by default as otherwise it could lead to the reopening of previously manually-closed PRs.

Closes #2371, Closes #1863
2018-08-11 11:24:38 +02:00
Maximilian Gaß
15ee7ab4ae fix: pinning digest of latest version (#2359)
If the dependency already is the latest version, filteredVersions is
empty here, and then the early exit skips over the pinning code
2018-08-11 10:03:57 +02:00
Maximilian Gaß
4a3ed1dd6b feat: Implement Kubernetes manager (#2341)
Add support for renovating Docker images in Kubernetes manifests
2018-08-04 08:04:11 +02:00
Rhys Arkins
31f2f4c610 refactor: rename getDependency to getPkgReleases 2018-07-29 16:04:00 +02:00
Rhys Arkins
c720b2c256 tests: fix coverage 2018-07-29 15:50:19 +02:00
Rhys Arkins
1da53671b8 feat: vulnerabilityAlertsOnly
For use in new app
2018-07-29 09:03:54 +02:00
Rhys Arkins
ac371e2a37
feat(github): vulnerability alerts (#2321)
Adds rules to skip any configured grouping or schedules that prevent insecure packages from being updated immediately.

If GitHub's vulnerability alerts are detected, package rules are added to force empty schedule and grouping for each affected package. Settings are configurable via new `vulnerabilityAlerts` config object, e.g. so that custom PR titles, labels or assignees can be configured.

Closes #1567
2018-07-29 06:35:25 +02:00
Rhys Arkins
21ed038eed fix: add commitMessageSuffix to definitions 2018-07-28 20:47:25 +02:00
Rhys Arkins
eaf73394d8 feat: linkify changelog/release notes
Adds the library `linkify-markdown` to actively linkify urls, issues and usernames so that they can then be linked to the renovatebot redirector for github.
2018-07-26 17:13:01 +02:00
Rhys Arkins
9555b27d9e fix(lookup): use major/minor/patch updateType instead of bump
Helps https://github.com/renovatebot/config-help/issues/67 and https://github.com/renovatebot/config-help/issues/70#issuecomment-407595535
2018-07-25 08:58:17 +02:00
Rhys Arkins
1ada8b7913 feat: improved onboarding description
Adds description if onboarding PR is edited or conflicted. Removes config description if PR has been edited. Adds description of PR rate limiting.

Closes #1317, Closes #1684, Closes #1359
2018-07-23 11:11:27 +02:00
Rhys Arkins
bd249c8a86 refactor(onboarding): simplify update text
De-dupplicates text in the onboarding PR and makes it closer to what the theoretical commit message would be.

Closes #1315, Closes #2211
2018-07-22 22:38:59 +02:00
Rhys Arkins
945353376b feat(onboarding): use <details><summary>
Closes #2304
2018-07-22 22:26:45 +02:00
Rhys Arkins
6f868c83f2 refactor(lookup): return warnings object 2018-07-22 11:43:47 +02:00
Rhys Arkins
28afece617 feat: use release notes name in pr body if found 2018-07-22 10:29:55 +02:00
Rhys Arkins
fa6e23f414 fix: deduplicate file matches
Closes #2299
2018-07-22 09:37:10 +02:00
Rhys Arkins
981d5a1cce feat: set prBody formatting per-platform
Pushes “getPrBody” logic into platform level to allow platforms to individually do things like text replacements and body length limiting.

Closes #2267
2018-07-22 07:47:23 +02:00
Rhys Arkins
95475be47a refactor(docker): disable rollback PRs by default 2018-07-22 06:51:20 +02:00
Rhys Arkins
14cbd68d42 feat: rollbackPrs
Adds new config option `rollbackPrs` which defaults to `true` (current behaviour). Setting to false will disable creation of rollback PRs - configurable globally, per-language, per-package, etc.
2018-07-22 06:49:04 +02:00
Rhys Arkins
37b1c8f0de
feat: gitlabci.yml support (#1744)
Adds support for .gitlabci.yml files. Part of the logic is same as Docker Compose files, however the “services” list is new/different so requires additional logic.

Closes #1598
2018-07-22 06:33:11 +02:00
Rhys Arkins
91215af1ba refactor(js): use language ‘js’ for npm and meteor 2018-07-21 21:28:38 +02:00