Commit graph

591 commits

Author SHA1 Message Date
Rhys Arkins
3b180aa679 refactor: move workers/package/npm to manager/npm/package 2017-10-24 15:46:47 +02:00
Rhys Arkins
d134d8b38e refactor: move workers/package/docker to manager/docker/package 2017-10-24 15:46:47 +02:00
Rhys Arkins
3960da6e38 refactor: use manager subdirectory for grouping (#1040) 2017-10-24 13:12:44 +02:00
Rhys Arkins
a2bdcde8fb fix: check for dockerfile content before processing (#1039) 2017-10-24 12:11:37 +02:00
Rhys Arkins
fbf0824dd8 refactor: rename lib/api to lib/registry (#1038)
docker and npm
2017-10-24 10:40:47 +02:00
Rhys Arkins
01fedc7e0c refactor: move github and gitlab api to platform (#1037) 2017-10-24 10:27:17 +02:00
Rhys Arkins
435478864e feat: renovate docker tag major/minor versions (#1029)
This feature enables docker tag "upgrading". Examples:
- From `node:6` to `node:8`
- From `node:6.10` to `node:6.11`
- From `node:6.11.1` to `node:6.11.3`
- From `node:6.10-onbuild` to `node:6.11-onbuild`
Currently these are disabled by default so they are opt-in, you can enable them by setting e.g. `{ docker: { minor: { enabled: true }, major: { enabled: true }}`

Closes #930
2017-10-24 06:36:52 +02:00
Rhys Arkins
7dd8bf13be refactor: add pinDigests configuration option for docker (#1033) 2017-10-24 05:33:03 +02:00
Rhys Arkins
db05a259e0 refactor: improve docker pin templates (#1032) 2017-10-24 05:24:15 +02:00
Rhys Arkins
9c16565a2d feat: enable docker by default (#1026)
Docker does now not need to be explicitly enabled.

Closes #942
2017-10-23 13:59:33 +02:00
Rhys Arkins
b2f35fef44 fix: do not delete semantic commits when migrating (#1025) 2017-10-23 13:06:09 +02:00
Rhys Arkins
827b9af7ef refactor: use deepcopy for migrate and massage (#1024) 2017-10-23 12:56:11 +02:00
Rhys Arkins
9bac600caf refactor: filter pinned dependencies first (#1023) 2017-10-23 12:45:32 +02:00
Rhys Arkins
a65a149b8d fix: try/catch dockerfile replace (#1022) 2017-10-23 11:28:46 +02:00
Rhys Arkins
826753e329 fix: migrate null schedule to [] (#1021) 2017-10-23 09:14:50 +02:00
Rhys Arkins
aa5a488157 fix: symlinks are mode 120000 not 12000! (#1020) 2017-10-22 20:24:01 +02:00
Rhys Arkins
9c9da3f6de fix: error and exit if cannot parse renovate.json (#1019) 2017-10-22 07:47:18 +02:00
Rhys Arkins
2fa50b3771 feat: rebase branch whenever versions need updating (#1018) 2017-10-21 16:42:40 +02:00
Rhys Arkins
50295417d4 fix: don’t prefix ranges with v in pr body (#1017) 2017-10-21 15:15:22 +02:00
Rhys Arkins
636c7d17de feat: skip group name if all depNames are the same (#1015)
This commonly applies to monorepos where the same dependency may be present in multiple.json files. Instead of using the group name to describe the PR, it uses the dependency name.

Closes #848
2017-10-21 07:46:47 +02:00
Rhys Arkins
95edcec90a fix: ignore symlink package files (#1012) 2017-10-20 15:22:48 +02:00
Rhys Arkins
d3df597aa7 fix: only detect meteor files that include json Npm.depends (#1009) 2017-10-20 14:29:12 +02:00
Rhys Arkins
24a2b7b041 fix: enable pagination for merge request search requests (#1010) 2017-10-20 14:22:28 +02:00
Rhys Arkins
622116f7e0 feat: migrate boolean config objects to enabled true/false (#1007) 2017-10-20 13:15:00 +02:00
Rhys Arkins
34a7a459da fix: disabled types should be filtered out by package worker (#1005)
Closes #1004
2017-10-20 09:58:09 +02:00
Rhys Arkins
8d91a85fb7 refactor: downgrade git tree warn to log (#1003) 2017-10-20 07:18:57 +02:00
Rhys Arkins
aba27eb757 feat: enable meteor by default (#1002)
Renovate will now check for and update meteor package.js files unless explicitly *disabled*.
2017-10-20 07:04:04 +02:00
Rhys Arkins
76ddde1cb5 fix: ignored digest pr comment (#1001) 2017-10-20 06:55:52 +02:00
Rhys Arkins
a0f773aa3c feat: retry github 401 bad credentials responses (#1000)
Closes #996
2017-10-20 06:24:09 +02:00
Rhys Arkins
9732f3c717 refactor: log assignees and reviewers success after completion (#999) 2017-10-20 06:04:46 +02:00
Rhys Arkins
709a8c20ba refactor: log res if github initRepo fails (#998) 2017-10-19 20:45:25 +02:00
Rhys Arkins
48f2b5a2e1 fix: add check for base before comparing sha (#997) 2017-10-19 17:29:12 +02:00
Paul Reichelt
36b11c530f Fix: filepath encoding for gitlab createFile and updateFile (#993)
Relates to #962 and #968

Auto detected file names are not encoded correctly so here's a fix for that.
2017-10-19 14:10:20 +02:00
Rhys Arkins
00dabb5dc1 feat: raise pr with warning if lock file generation fails (#994)
Previously, upgrades with failing lock files were not raised as PRs. Usually this is because of missing private module configuration. Now, Renovate will raise a PR but add a comment warning of the error, with the error log. It's raised as a comment because we now won't need to regenerate the lock file error every run, and we don't want to "lose" it if the PR description gets updated.

Closes #600
2017-10-19 14:05:10 +02:00
Rhys Arkins
e8810b33fa feat: add ensure comment removal api (github) (#992) 2017-10-19 13:30:26 +02:00
Rhys Arkins
1146cfbfe4 fix: pin prs should recreate closed (#991) 2017-10-19 13:10:59 +02:00
Rhys Arkins
fa48a7fdef feat: rename open prs before autoclosing (#990)
This is a failsafe against Renovate bugs and potentially also mistakes on the user’s part. Before deleting/pruning any branches, Renovate will rename the PR’s title so that it should not block future PRs.

Closes #989
2017-10-19 07:36:09 +02:00
Rhys Arkins
c93c761d27 refactor: log addReviewers and add empty team reviewers (#988)
See if this helps #782
2017-10-19 06:35:21 +02:00
Rhys Arkins
e5895aeecf refactor: use findPr for getBranchPr 2017-10-19 06:26:29 +02:00
Rhys Arkins
84e368ff1f refactor: remove unused getAllPrs api (github) 2017-10-19 06:26:29 +02:00
Rhys Arkins
0552900d06 fix: add missing await to getBranchPr call (#986)
Closes #983
2017-10-19 06:12:14 +02:00
Rhys Arkins
01211f119f fix: strip duplicates from dependencies log
* fix: strip duplicates from dependencies log

* chore: update prAlreadyExisted log messages
2017-10-18 21:39:10 +02:00
Rhys Arkins
b5870d90d9 feat: allow rebase after github web branch update (#982)
GitHub provides a tempting “Update branch” button whenever a branch is out of date with master, but the problem was that this then made us flag the branch as modified and hence unrebaseable, so the user would be stuck with keeping it update themselves from then on. With this feature, we ignore the “web-flow” committer when calculcating if there has been only one author.
2017-10-18 15:49:35 +02:00
Rhys Arkins
f980fea6ca feat: comment in closed PR when it is blocking an update (github) (#981)
This feature adds a new behaviour to Renovate, where it will now add a comment to any existing closed PRs that are "blocking" currently valid updates. A new API function "ensureComment" has been added, its purpose is so we can ensure there exists only one comment with a certain subject/heading. This lets us prevent duplicates as well as update existing, without having to keep state about it. ensureComment needs porting to gitlab, but should be quite easy.
2017-10-18 15:28:51 +02:00
Rhys Arkins
a4a14861b9 fix: replace some file sync functions with await (#980)
* refactor: await fs.readFile instead of sync version

* fix: replace fs and tmpDir sync with promises
2017-10-18 13:26:56 +02:00
Rhys Arkins
7a1d08eaab fix: refactor out remaining do-while loops (#978)
* fix: convert prBody trimming from do-while to recursive

* fix: convert gitlab projects do-while to use pagination
2017-10-18 11:40:48 +02:00
Rhys Arkins
5639f4b601 fix: move renovate repository inner inside outer function (#977)
This solves the missing config.api problem introduced when moving to recursion
2017-10-18 11:18:48 +02:00
Rhys Arkins
dd43fb3237 fix: replace repository do-while loop with recursion (#976) 2017-10-18 10:29:49 +02:00
Rhys Arkins
cc2288ef31 fix: add try-catch to getFileList (#975) 2017-10-18 08:25:42 +02:00
Rhys Arkins
3841f29bd4 fix: request 100 results per page (gitlab) (#972) 2017-10-17 21:57:51 +02:00
Rhys Arkins
ffef63f47c feat: suppor gitlab api pagination (#971)
Adds paginated results capability for gitlab and enables it for getFileList. This should enable all files when using APIv4.

Hopeful this c-l-o-s-e-s #962 & #968
2017-10-17 21:46:49 +02:00
Rhys Arkins
9a97a5901e feat: use parse-link-header library (github) (#970)
Now will work with any GitHub host, instead of just api.github.com
2017-10-17 20:44:40 +02:00
Rhys Arkins
a84bc2c3ed feat: workaround gitlab hyperlinking bug (#967)
Add space before closing `</h4>` to prevent unintential hyperlinking on GitLab.

Closes #954
2017-10-17 14:37:57 +02:00
Rhys Arkins
2b6077b6f6 fix: make github pagination opt-in (#966) 2017-10-17 13:45:17 +02:00
Rhys Arkins
11b1b0ea51 fix: add missing await after findPr (#965) 2017-10-17 13:22:53 +02:00
Rhys Arkins
43e03a3b74 fix: recursive=true not 1 (gitlab) (#963) 2017-10-17 12:34:51 +02:00
Rhys Arkins
665ede8475 fix: migrate excludedPackageNames to excludePackageNames (#961) 2017-10-17 11:16:02 +02:00
Rhys Arkins
78cff771af feat: retrieve and cache PR list for better performance 2017-10-17 11:09:03 +02:00
Rhys Arkins
e310887f36 refactor: remove checkForClosedPr
replace with findPr
2017-10-17 11:09:03 +02:00
Rhys Arkins
08120967b3 feat: automatically paginate res.body responses (#959) 2017-10-17 10:12:40 +02:00
Rhys Arkins
c188a71081 fix: set GitHub App headers for every request (#958) 2017-10-17 08:04:58 +02:00
Rhys Arkins
e6e8b541cf refactor: rename ghGotRetry and glGot to get (#957) 2017-10-17 07:15:01 +02:00
Rhys Arkins
3d84c22cf0 feat: skip regenerating lock file maintenance if branch exists (#956) 2017-10-16 21:57:48 +02:00
singapore
c96f24a82c chore: remove unnecessary log.info from check-existing 2017-10-16 15:22:48 +02:00
Rhys Arkins
652b910d81 fix: only detect meteor package.js files containing Npm.depends (#953)
Closes #952
2017-10-16 14:21:45 +02:00
Rhys Arkins
7c410c1283 feat: ignore mistakenly closed PRs and recreated closed (#951) 2017-10-16 13:13:31 +02:00
Rhys Arkins
ee44d1c3ba feat: reimplement findFilePaths using trees (#950)
* refactor: replace github code search with getTree/manual search (#944)

Previously Renovate was using the GitHub code search API once for each filename we are looking for. Instead, we now retrieve a list of files in the repository and cache it so it can be reused for filename matches.

Closes #939

* fix: use recursive=true

* fix: reset fileList for every repo (github)

* feat: implement findFilePaths on gitlab (#945)

* refactor: do not check manually for root package.json

* fix: reset fileList for every repo (gitlab)

* fix tests
2017-10-16 11:59:59 +02:00
Rhys Arkins
4ddd073863 feat: set github app preview header when in app mode (#949)
From https://developer.github.com/v3/apps/available-endpoints/:
> In order to access the API with your GitHub App, you must provide a custom media type in the `Accept` Header for your requests.
```
application/vnd.github.machine-man-preview+json
```
2017-10-16 09:45:31 +02:00
Rhys Arkins
3c1415844a fix: rename and delete erroneous onboarding PRs if found (#948) 2017-10-16 07:59:42 +02:00
Rhys Arkins
74a590ae8e fix: revert findFilePath changes (#947)
* Revert "feat: implement findFilePaths on gitlab (#945)"

This reverts commit 2820b5eef3.

* Revert "refactor: replace github code search with getTree/manual search (#944)"

This reverts commit 33851a5aea.
2017-10-16 07:33:47 +02:00
Rhys Arkins
2820b5eef3 feat: implement findFilePaths on gitlab (#945) 2017-10-15 22:50:59 +02:00
Rhys Arkins
33851a5aea refactor: replace github code search with getTree/manual search (#944)
Previously Renovate was using the GitHub code search API once for each filename we are looking for. Instead, we now retrieve a list of files in the repository and cache it so it can be reused for filename matches.

Closes #939
2017-10-15 17:38:45 +02:00
Rhys Arkins
e1599073d0 fix: migrate ‘ every day’ schedule to empty (#937) 2017-10-14 07:03:44 +02:00
Rhys Arkins
8fc61e35bc feat: add assignees and reviewers whenever status checks fail (#928)
This feature means that you can configure branches/PRs to automerge, but if status checks fail (preventing automerge) then you can still get assigneed the PR to take action. Previously such PRs remained unassigned because we do not assign automerging PRs by default, to reduce noise.

Closes #722
2017-10-13 10:56:18 +02:00
Rhys Arkins
1a174226ed feat: keep branches/PRs updated when out of schedule (#926)
By default, Renovate will now continue *updating* - but not creating - branches even if off-schedule. This applies to features such as (a) rebasing branches if master changes, (b) updating if new version comes, (c) creating PRs if tests pass, (d) automerging. It is planned that (b) will be configurable in a future feature. To disable this behaviour altogether, set updateNotScheduled to false.

Closes #879
2017-10-13 06:42:17 +02:00
Rhys Arkins
8ee76c99e2 fix: check for file content before converting to buffer (github) (#925) 2017-10-13 06:14:29 +02:00
Rhys Arkins
f91aa14235 fix: cast automerge migration values (#924) 2017-10-12 21:15:10 +02:00
Rhys Arkins
c15cfb6406 fix: refactor package file detection to not modify deep state (#923) 2017-10-12 20:02:04 +02:00
Rhys Arkins
19949f2604 fix: migrate automergeMajor automergeMinor automergePatch (#922)
This is a misconfiguration by a user but no harm in adding it to migrations.
2017-10-12 18:55:46 +02:00
Rhys Arkins
ad3f8d945f fix: wrap meteor parsing in try/catch (#921) 2017-10-12 18:25:26 +02:00
Rhys Arkins
393c24c652 fix: stop attempting branch merge if pr exists (#920) 2017-10-12 17:39:10 +02:00
Rhys Arkins
8b99ce5294 feat: detect languages during onboarding (#919)
* refactor: simplify onboarding logic

* docker meteor tests

* handle no package files case

* fix coverage
2017-10-12 16:29:20 +02:00
Rhys Arkins
97ebf27382 refactor: getOnboardingStatus returns config object (#918) 2017-10-12 10:58:16 +02:00
Rhys Arkins
0560506cd4 chore: downgrade npm getDependnecy ebug to log (#917) 2017-10-12 10:16:33 +02:00
Rhys Arkins
e9ee8002df fix: revert docker/meteor onboarding code (#916)
* Revert "feat: support docker and meteor onboarding without npm"

This reverts commit 437145b901.

# Conflicts:
#	test/workers/repository/onboarding.spec.js

* chore: downgrade npm cache message from debug to trace
2017-10-11 19:25:25 +02:00
Rhys Arkins
68bcb5e726 fix: convert for loop to for..of (#915)
* fix: convert for loop to for..of

* chore: lessen preset debugging

* chore: set detectPackageFiles to debug

* fix lint
2017-10-11 18:54:09 +02:00
Rhys Arkins
bf2491bfc1 fix: don’t automerge pinned dependencies (#914) 2017-10-11 16:20:17 +02:00
Rhys Arkins
ba70f2a7c7 fix: log err headers if giving up on rate limit exceeded (#912) 2017-10-11 15:18:50 +02:00
Rhys Arkins
1696244ca0 feat: warn in onboarding if package.json missing or failed to parse (#911)
* chore: downgrade json parsing warning from warn to debug

* feat: warn in onboarding if package.json missing or failed to parse

Closes #891
2017-10-11 14:38:40 +02:00
Rhys Arkins
83ecc08541 fix: add commitMessage for pin groups (#910)
Fixes #895
2017-10-11 13:10:12 +02:00
Rhys Arkins
a60748c5ec feat: improve onboarding help
Adds mention of app author + how to recreate PR.
2017-10-11 12:46:30 +02:00
Rhys Arkins
ce178f96bc chore: improve meteor and docker info log 2017-10-11 12:10:31 +02:00
Rhys Arkins
437145b901 feat: support docker and meteor onboarding without npm 2017-10-11 12:10:31 +02:00
Rhys Arkins
ff906bd832 fix: rename javascript types to npm 2017-10-11 12:10:31 +02:00
Rhys Arkins
a1941e309b fix: only check package.json file types for isPrivate 2017-10-11 12:10:31 +02:00
Rhys Arkins
eacd2b258a refactor: check if npm enabled before detecting files 2017-10-11 12:10:31 +02:00
Rhys Arkins
7c17c666f4 fix: better pin description in oboarding 2017-10-11 12:10:31 +02:00
Rhys Arkins
039ff55b88 refactor: rename depType docker to Dockerfile 2017-10-11 12:10:31 +02:00
Rhys Arkins
df52f68b3e chore: add npm config to definitions 2017-10-11 12:10:31 +02:00
Rhys Arkins
343814d467 fix: use presets js-app and js-lib (#906) 2017-10-10 12:34:35 +02:00