Commit Graph

2241 Commits

Author SHA1 Message Date
Rhys Arkins 80c6ca1e72 fix: don’t discard updateTypes rules before they’re applied 2018-07-06 06:43:02 +02:00
Rhys Arkins 9521b08b03 refactor: use isSingleVersion in template instead of isRage
Refactors template logic to test for isSingleVersion instead of the negative of isRange. This means that new values like `==1.2.0` in python will be presented as v1.2.0
2018-07-05 21:11:58 +02:00
Rhys Arkins d4f2572651 fix: assign config.force after every mergeChildConfig 2018-07-05 18:55:00 +02:00
Rhys Arkins 13f09b9f36 refactor: simplify patch branch name 2018-07-05 18:21:43 +02:00
Rhys Arkins 6643a3d09e feat: npm token substitution in npmrc
If an encrypted npmToken is found alongside an unencrypted npmrc in config, then the token will replace any `${NPM_TOKEN}` placeholder found, or be appended to the end of the file. This enables large npmrc files to be defined in config without needing to enrypt the entire thing.

Closes #1796
2018-07-05 15:44:42 +02:00
Rhys Arkins 16d88aee4c feat: ignoreDeprecated
Renovate now ignores any upgrades that are marked as deprecated, unless the current version is itself also deprecated. The new config option `ignoreDeprecated` can be set to false to disable this if necessary.

Closes #1988
2018-07-05 15:10:50 +02:00
Rhys Arkins 7c0a17e9d0 feat: group together deprecation warnings
Previously, deprecation warnings were done as part of dependency lookups, which were run concurrently. This meant the chance of duplicate issues was high, due to race conditions. Instead, raising the issues is done once all package are looked up, to ensure only one issue per manager/dependency. It also means we can list all of the affected package files, in case of a monorepo.

Closes #2224, Closes #2225
2018-07-05 14:23:28 +02:00
Rhys Arkins 180e68fd43 feat(github): delete duplicate issues when ensuring issue 2018-07-05 14:05:29 +02:00
Rhys Arkins 0144bac228 fix: force config after each package rules apply 2018-07-05 12:37:46 +02:00
Rhys Arkins 517de6f545 feat: repositoryUrls (#2221)
Adds config option repositoryUrls which can be used by pip to define an alternate host to pypi.

Closes #2181
2018-07-05 11:33:50 +02:00
Rhys Arkins 9153e3905f fix: check returned pypi name against requested name 2018-07-05 11:25:48 +02:00
Rhys Arkins db38553d05 fix(npm): verify that received package name matches requested name 2018-07-05 11:10:25 +02:00
Rhys Arkins 24a89a775b feat(npm): deprecation warnings (#2222)
Raises a deprecation warning issue per-dependency. Uses logic that if latest version is deprecated then the package is deprecated.

Closes #1592
2018-07-05 09:16:53 +02:00
Rhys Arkins 1a72984fe2 feat(npm): detect deprecated packages
Adds logic to detect presence of “deprecated” field in latest version. First step towards #1592
2018-07-04 20:33:48 +02:00
Rhys Arkins 8a8890f82f feat: support updateType=bump
Refactors updateType logic so that a type of “bump” is returned when bumping versions within existing ranges, instead of minor or major. Updates that fall *outside* the existing range will continue to be labeled as minor or major as appropriate.

This value can now be used within packageRules, e.g.

```
  “updateTypes”: [“bump”],
  “labels”: [“bumped version only”]
```

Closes #1942
2018-07-04 10:26:31 +02:00
Rhys Arkins fb6271e4f7 refactor: rename update.type -> update.updateType 2018-07-04 10:11:53 +02:00
Rhys Arkins 17f54934e2 refactor: remove unused nuget.getPackageUpdates 2018-07-04 10:04:52 +02:00
Rhys Arkins 5604f488b7 chore: prettierify 2018-07-04 09:36:05 +02:00
Rhys Arkins 38334fc362 feat: packageRules updateTypes
Adds an `updateTypes` field to `packageRules` that lets you specify rules based on update types such as major, minor, patch, pin, etc.
2018-07-04 09:30:29 +02:00
Rhys Arkins 4cfc4e769d refactor: skip duplicate setNpmrc 2018-07-03 14:21:46 +02:00
Rhys Arkins 068ff16ec4 fix: Revert "feat: endpoint credentials handling (#2146)"
This reverts commit 04e0ca1f80.
2018-07-02 13:18:37 +02:00
Dragomir Țurcanu 3e19a4708e feat(gitlab): mergeBranch (#2178) 2018-07-02 11:27:08 +02:00
Ayoub Kaanich 04e0ca1f80 feat: endpoint credentials handling (#2146)
Refactors credentials/token handling to rely less on env variables and instead use an endpoints middleware for credentials handling.

First step towards #2105
2018-07-02 10:01:42 +02:00
Rhys Arkins 83bf162949 fix: automerge only if every upgrade in branch is automerge
When generating a branch’s config, iterate through all upgrades and set automerge=true for the branch only if all upgrades have automerge=true. Similarly, set canBeUnpublished=true if ANY upgrade can be unPublished.

Closes #1999
2018-07-02 07:43:21 +02:00
Rhys Arkins 7ad91f7428 tests: update snapshots 2018-06-30 23:28:21 +02:00
Rhys Arkins 6ad0aba860 tests: fix coverage 2018-06-29 17:44:17 +02:00
Rhys Arkins 7be16a4fd5 fix(docker): update Dockerfile by line number 2018-06-29 17:17:52 +02:00
Rhys Arkins 103f54402e refactor(docker): extract Dockerfile line by line 2018-06-29 15:54:13 +02:00
Rhys Arkins 1eaf512710 refactor(docker): use extracted value and suffix 2018-06-29 15:18:43 +02:00
Rhys Arkins c25e979aad refactor: push docker suffix filter to datasource 2018-06-29 14:28:24 +02:00
Rhys Arkins 0fb704ff29 refactor(docker): rename currentPlatform to tagSuffix 2018-06-29 14:09:59 +02:00
Rhys Arkins ebfb97ba78 refactor: use docker versioning (#2195) 2018-06-29 12:59:15 +02:00
Rhys Arkins 511fef8135 refactor: use docker versioning
Initially docker versioning is just a node semver wrapper, but it will later be expanded with custom support for docker-specific version tags.
2018-06-29 09:02:49 +02:00
Rhys Arkins 01ccb03b94 feat: massage docker Node.js branches
Manually finds and massages node updates in Docker, Docker Compose and Circle CI so that they should take on the same “renovate/node-8.x” style branch naming. The goal is to unify all node updates into a single branch.
2018-06-29 06:55:42 +02:00
Rhys Arkins b4f7ed2e0d refactor: simplify mergeBranch 2018-06-28 13:56:08 +02:00
Rhys Arkins 8d19c6544f tests: fix snapshots for releaseTimestamp 2018-06-28 11:11:30 +02:00
Rhys Arkins a3043c47ec feat: log warning if lock file error persists for 1 day
Raises an additional log file warning whenever lock file errors persist for a day or longer. The idea of this is that temporary errors - e.g. caused by npmjs itself - should not disturb the user. 1 day seems like a reasonable time for multiple attemps to be made first, assuming it has been scheduled. Once this is tested in production for a little while and no unexpected problems, it will be converted to actually raise a config warning issue in the repo to get user attention.
2018-06-28 10:17:17 +02:00
Rhys Arkins edb67e6083 refactor: add latest releaseTimestamp to config 2018-06-28 09:54:31 +02:00
Rhys Arkins 40962940a0 refactor: harmonize release timestamp (#2189)
Renames "date" and "time" values from datasources to instead be "releaseTimestamp".
2018-06-28 09:07:28 +02:00
Rhys Arkins aa4aee0e56 feat: check pr commit author against gitAuthor (#2170)
If gitAuthor is configured, checks that a PR’s commit matches. If not, it is assumed that someone else force pushed to the repo and we should not rebase it.

Closes #2169
2018-06-28 08:45:28 +02:00
Rhys Arkins 57249e105b feat: pass gitAuthor to platform during init (#2183)
Refactors platforms to take the admin-only `gitAuthor` and `gitPrivateKey` values during repository initialisation instead of during file commits.
2018-06-27 18:40:54 +02:00
Dragomir Țurcanu eec196b8b8 fix: Update GitLab wrapper and snapshots (#2185) 2018-06-27 10:35:33 +02:00
Rhys Arkins d8b50d7b09 logs: simplify releases 2018-06-27 07:21:17 +02:00
Rhys Arkins 8da5888ef6 feat: combine branch automergeTypes
This deprecates branch-push and branch-merge-commit automergeTypes and replaces with “branch”, which has the same behaviour as the previous branch-push.

BREAKING CHANGE: branch-merge-commit automergeType behaviour is no longer supported, all branch automerges now use branch push approach.
2018-06-26 14:01:13 +02:00
Rhys Arkins 4d44752847 feat: disable pinDigests by default 2018-06-26 14:01:13 +02:00
Rhys Arkins e51f152eaf feat: gitlab recursive file list disabling
For very large repositories, recursing through the entire repo can be very time consuming. Bot admins can now disable file list recursion by setting the env `RENOVATE_DISABLE_FILE_RECURSION=true`. Then only files within the root directory of repositories will be found.

Closes #2172
2018-06-26 12:28:43 +02:00
Rhys Arkins 25ecbb8a18 fix: correct/update all urls
Updates renovateapp -> renovatebot
2018-06-26 11:31:18 +02:00
Rhys Arkins 46fae9473a fix: abort renovation if branch’s PR has been closed or merged
This fixes a race condition where if someone merged multiple PRs in a row then a renovation-in-progress would get confused and post a “PR has been edited” message to an already-merged PR.

Closes #2115
2018-06-26 11:20:26 +02:00
Rhys Arkins 47305b975e refactor: add pro pr footer 2018-06-25 11:55:12 +02:00
Rhys Arkins 53b6050017 feat: force, forceCli (#2145)
Adds config options force and forceCli. These cover the use case where a certain setting is desired to be forced by the bot admin, regardless of repository config, for example removing all configured schedules in order to force PR creation.

Closes #1731
2018-06-21 10:23:59 +02:00