Commit graph

208 commits

Author SHA1 Message Date
Rhys Arkins
76ddde1cb5 fix: ignored digest pr comment (#1001) 2017-10-20 06:55:52 +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
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
e5895aeecf refactor: use findPr for getBranchPr 2017-10-19 06:26:29 +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
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
e310887f36 refactor: remove checkForClosedPr
replace with findPr
2017-10-17 11:09:03 +02:00
Rhys Arkins
3d84c22cf0 feat: skip regenerating lock file maintenance if branch exists (#956) 2017-10-16 21:57: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
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
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
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
bf2491bfc1 fix: don’t automerge pinned dependencies (#914) 2017-10-11 16:20:17 +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
276fa98a17 fix: eslint error 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
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
343814d467 fix: use presets js-app and js-lib (#906) 2017-10-10 12:34:35 +02:00
renovate[bot]
8866603a46 fix(deps): update dependency get-installed-path to v4 (#892)
* fix(deps): update dependency get-installed-path to v4.0.3

* fix
2017-10-08 06:30:01 +02:00
Rhys Arkins
28a18b18da feat: write existing lockfile before regenerating (#881)
It appears that writing the existing lockfile before regenerating a new one can help speed some resolutions up.

Closes #815
2017-10-08 05:52:58 +02:00
Rhys Arkins
913d0cf208 feat: create PRs if branch automerge failed (#888) 2017-10-05 09:31:10 +02:00
Rhys Arkins
853a43937a fix: check if depName exists before replacing (#873) 2017-10-02 14:14:24 +02:00
Rhys Arkins
e42b4034eb feat: sanitize branch names (#872)
Previously, you might see branch names like `renovate/@types/jquery-3.x`. Now, such branches will instead be like `renovate/types-jquery-3.x`.
2017-10-02 11:38:42 +02:00
Rhys Arkins
1c42140475 fix: write npmrc to subdirectories with lock file (#858)
* fix: write npmrc to subdirectories with lock file

* fix lint
2017-09-29 10:42:16 +02:00
Rhys Arkins
d5f11ad9bd feat: remove {} template strings from package.json name (#855) 2017-09-29 09:18:59 +02:00
Rhys Arkins
8125c772ae feat: ignoreNpmrcFile (#853)
This feature adds support for ignoring .npmrc files in a repository. Set config option to true if you wish to ignore.

Closes #851
2017-09-29 08:22:22 +02:00
Rhys Arkins
23f8467d1e feat: support non-root yarn workspaces (#852)
Previously, Renovate assumed that any yarn workspaces configuration would be in the root of the repository. Now, workspaces can be located within a subdirectory, e.g. `frontend/`. Note: Renovate still supports only one workspace per repository, please file an issue if you require more than one.

Closes #842
2017-09-29 08:08:52 +02:00
Rhys Arkins
9ff555c74b fix: promisify lockfiles (#826)
`npm` and `yarn` lockfile generation use promisified child process `exec` now instead of `spawnSync`.
2017-09-20 22:56:57 +02:00
Rhys Arkins
d7025f25d6 fix: Detect npm & yarn when globally installed (#825)
This fix improves the way Renovate detects embedded/installed npm and yarn. It tries:
- locally installed npm or yarn
- npm or yarn embedded inside globally installed renovate
- globally installed npm or yarn
- global `yarn` or `npm` commands as fallback

Fixes #824
2017-09-20 07:52:44 +02:00
Rhys Arkins
450b16b459 fix: downgrade dep not found error to warning (#818) 2017-09-16 07:39:27 +02:00
Rhys Arkins
f9b12dbb3e fix: don’t massage packagefile name (#814) 2017-09-15 13:34:53 +02:00
Rhys Arkins
3956877288 fix: use replace rather than full substitution for invalid package file name (#813) 2017-09-15 12:58:06 +02:00
Rhys Arkins
20542e7529 fix: write only updated package.json files when checking for lock files (#810) 2017-09-14 22:10:51 +02:00
Rhys Arkins
6f60289782 feat: install npm as dependency (#808)
* install npm from npm

* use embedded npm and remove versions checking
2017-09-14 18:24:14 +02:00
Rhys Arkins
760b128b3e feat: massage package.json files before lock file generation (#804)
- Any package names not matching valid pattern will be rewritten to “dummy”
- “engines” and “scripts” fields will be completely removed

Closes #801, Closes #784
2017-09-14 10:54:41 +02:00
Rhys Arkins
a88ba0d16a feat: Dockerfile digest support (#788)
This feature adds initial support for renovating Dockerfiles. Renovate now:
- Detects all `Dockerfile`s in repo
- Searches for `FROM x` in first non-comment line, breaks x into image, tag, digest
- Queries public Docker registry for image:tag combination to find latest digest
- Patches Dockerfile if necessary
- Creates branches/PRs as like with npm

Closes #795
2017-09-14 09:31:36 +02:00
Rhys Arkins
31b1ee4ef7 refactor: separate npm specifics from package worker (#792) 2017-09-13 21:20:07 +02:00
Rhys Arkins
dd6f3630b6 refactor: move pin config to definitions (#791) 2017-09-13 20:52:07 +02:00