Commit graph

242 commits

Author SHA1 Message Date
Rhys Arkins
6c7f228347
fix(logs): log commit with Branch creates and updates (#5560) 2020-02-24 05:33:51 +01:00
Rhys Arkins
ab166d7088 fix(gitlab): warn not error when failing to add assignees 2020-02-08 15:49:13 +01:00
Sourav Das
bdaa7b8e49
feat(constants): Host Types (#5171) 2020-02-06 12:15:54 +00:00
Michael Kriese
2ffad1363e
chore(eslint): stricter settings (#5375) 2020-02-05 18:17:20 +00:00
Rhys Arkins
e34900377c fix(gitlab): GITLAB_IGNORE_REPO_URL
Adds unofficial (for now) env option to igore the http_url_to_repo value returned by GitLab.
2020-01-21 16:44:24 +01:00
Sourav Das
9024eda2a0 feat(constants): Branch Status (#5166)
1. Branch related statuses are moved to lib/branch-constants.ts
2. Updated all the references

Co-authored-by: Rhys Arkins <rhys@arkins.net>
2020-01-17 10:14:58 +01:00
renovate[bot]
36a37dada8 chore(deps): update dependency prettier to v1.19.1 (#5169)
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2020-01-16 16:21:07 +01:00
Sourav Das
3a4c61ed03 refactor(constants) : Error constants (#5156) 2020-01-15 21:36:12 +01:00
Sourav Das
547dcd84a7 refactor(function): findPR function(#4996) (#5129) 2020-01-14 16:12:14 +01:00
Sourav Das
447b110a8c refactor(function): Ensure Comment Function (#4996) (#5128)
1. Create interface EnsureCommentConfig
2. Add config to the interface for Bitbucket
3. Refactor functions
4. Update tests

Co-authored-by: Rhys Arkins <rhys@arkins.net>
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2020-01-14 12:13:34 +01:00
Sourav Das
ee153e560e feat: use error constants (#5088) (#5100)
Use defined error constants throughout codebase.
2020-01-12 08:50:11 +01:00
Sourav Das
50c74d38c0 refactor: createPR function (#4996) (#5108)
* refactor: createPR function (#4996)
1. Interface created: createPRConfig

* refactor: Create PR function (#4996)
Remove label parameter from bitbucket and bitbucket server function call.

Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
Co-authored-by: Rhys Arkins <rhys@arkins.net>
2020-01-07 15:33:19 +00:00
Sourav Das
be5679661a refactor: EnsureIssue function (#5107)
Co-authored-by: Michael Kriese <michael.kriese@visualon.de>
2020-01-07 10:40:53 +00:00
Sourav Das
e72bf85b1e refactor: setBranchStatus Function (#4996) (#5112) 2020-01-07 09:59:14 +00:00
Sourav Das
e7695bde9c refactor: convert commitFilesToBranch function params (#5064) 2020-01-02 09:03:46 +00:00
Adam Dehnel
e1ebe77781 feat: skip gitlab disabled and empty repos (#5084)
* skipping disabled repos in gitlab

* adding tests for gitlab disabled repo check

* fixing empty_repo test

* skip gitlab project if MRs are disabled

Co-authored-by: Jamie Magee <JamieMagee@users.noreply.github.com>
2020-01-01 17:02:58 +01:00
Frank Liepert
5601f3dade fix(gitlab): complete git author including name (#4932) (#4933) 2019-12-05 16:25:37 +01:00
Rhys Arkins
5ad362fb21 fix: Revert "fix: refactor appStrings imports"
This reverts commit aec281840b.
2019-12-04 16:44:04 +01:00
Rhys Arkins
aec281840b fix: refactor appStrings imports 2019-12-04 16:18:37 +01:00
Rhys Arkins
c8f49e71f5 refactor: remove Object.assign 2019-12-04 10:12:01 +01:00
Kirill Romanov
f223f5e007 fix: cache-bust branch status after updating a status (#4884) (#4885) 2019-12-03 18:21:40 +01:00
Riccardo Padovani
d51bf30c82 feat(gitlab): do not discover projects without MR enabled. (#4913)
Skip fetching gitlab repos that have MRs disabled.
2019-12-02 20:40:13 +01:00
Satsuki Yanagi
f78e43e024 fix(gitlab): pass through gitPrivateKey (#4904)
GitLab's PlatformConfig doesn't implemented well as support GPG Commit Signing.
2019-11-29 08:56:10 +01:00
Michael Kriese
f0d4995fda fix(eslint): '@typescript-eslint/explicit-function-return-… (#4872) 2019-11-26 16:13:07 +01:00
Gabriel Melillo
defac5d831 feat(gitlab) multiple assignees support (#4851) 2019-11-25 17:13:39 +01:00
Rhys Arkins
d46bd277c7 fix(gitlab): handle authentication-error retrieving PRs 2019-11-24 21:43:46 +01:00
Rhys Arkins
473b7e1f4b refactor(eslint): enable @typescript-eslint/no-use-before-define 2019-11-24 05:09:13 +01:00
Rhys Arkins
da1f608588 fix(gitlab): Ignore setBranchStatus error 2019-10-13 07:46:12 +02:00
Florian Greinacher
53fc7d8a3e feat(gitlab): add support for 'merge when pipeline succeeds' (#4558)
This commit adds (back) support for GitLab's 'merge when pipeline succeeds'
feature. This feature needs to be enabled by bot owners explicitely because
of an possible race condition in current GitLab versions.

Closes #3265
2019-10-05 10:00:32 +02:00
Michael Kriese
77a0291d4d fix(platform): smart truncate pr body (#4527) 2019-09-25 12:42:11 +02:00
Michael Kriese
49325143bd feat(sanitize): refactor (#4479) 2019-09-12 12:48:31 +02:00
Rhys Arkins
99f18b7dc3 fix(gitlab): EAI_AGAIN platform-failure 2019-09-11 09:33:08 +02:00
Rhys Arkins
95d54baf83
feat: centralized sanitation (#4446)
Adds a sanitize function to host-rules that redacts tokens and passwords from issues and PRs.

Closes #4444
2019-09-07 14:51:00 +02:00
Rhys Arkins
9ab4b5d4e9
feat: refactor pr.canRebase => !pr.isModified (#4385) 2019-08-29 10:30:17 +02:00
Edd Armitage
e10f590c9a fix(gitlab): follow pagination in getbranchstatus for gitlab (#4342)
There are cases where the first page of results is not representative of the entire branch's status, so we need to follow all pages in the result.

Closes #4340
2019-08-22 19:34:50 +02:00
Rhys Arkins
c42d6cb21d fix(gitlab): handle ETIMEDOUT 2019-08-14 17:12:16 +02:00
Rhys Arkins
72404706ab feat(platform): return PR targetBranch 2019-08-14 11:48:56 +02:00
Rhys Arkins
1864d4ebf3 refactor(platform): return baseBranch from initRepo 2019-08-14 11:38:13 +02:00
Rhys Arkins
e602c4553d refactor(platform): use RepoConfig strictly 2019-08-14 10:51:12 +02:00
Rhys Arkins
f041d7d409
refactor: consolidate platform ts (#4283) 2019-08-14 06:04:09 +02:00
Sergio Zharinov
495e2f6217 fix: Allow for auto-merge of new PRs (#4236) 2019-08-02 15:10:26 +02:00
Jamie Magee
f334c568a5 feat(typescript): convert logger to typescript (#3671) 2019-07-15 11:04:05 +02:00
praveshtora
530e8cb036 feat: check for disabled renovate.json before cloning in platfo… (#3965) 2019-07-14 07:45:39 +02:00
Rhys Arkins
e3c46bb9a0
feat: gitlab optimization with caching fix (#4033)
Restores GitLab optimization but with caching and pagination fixes.

Co-authored-by: Lukas Eipert <leipert@users.noreply.github.com>
2019-07-10 13:18:51 +02:00
Michael Kriese
3ef1c95a66 chore(lint): optimize linting (#4041) 2019-07-10 10:41:12 +02:00
Rhys Arkins
cbf695bb39 fix: Revert "feat(gitlab): Improve performance for projects with a lot of branches (#3936)"
This reverts commit 9779d77eb1.
2019-07-09 07:55:01 +02:00
Lukas Eipert
9779d77eb1 feat(gitlab): Improve performance for projects with a lot of branches (#3936)
1. `findPr` also includes the `source_branch` API parameter which
shortens execution time considerably
2. `getPrList` also filters `author_id` for the renovate's user
2019-07-08 16:43:39 +02:00
Rhys Arkins
e839e8043f fix(gitlab): catch UNABLE_TO_VERIFY_LEAF_SIGNATURE 2019-06-29 07:44:38 +02:00
Rhys Arkins
4ea03ac0b4 feat(gitlab): detect gitAuthor as part of initPlatform
GitLab self-hosted users now no longer need to manually configure gitAuthor if it matches with the bot account they’re using.
2019-06-13 07:25:39 +02:00
Rhys Arkins
df0d79f7de fix(gitlab): skip mirrored repositories 2019-06-13 06:05:58 +02:00
renovate[bot]
dab7b1c314 chore(deps): update dependency prettier to v1.18.0 (#3905) 2019-06-07 06:34:57 +02:00
Markus Heberling
c830f45484 feat(gitlab): use repository URL from API (#3900)
This allows to access gitlab servers running with a relative url root
* https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-a-relative-url-for-gitlab
2019-06-06 17:06:04 +02:00
Rhys Arkins
08ea666bd5 fix(gitlab): log initRepo err 2019-06-05 18:45:40 +02:00
Rhys Arkins
c6d61bf0b3 fix(gitlab): platform-error if ECONNRESET 2019-06-05 11:14:06 +02:00
Rhys Arkins
f6f7db8d6c fix(gitlab): throw platform-failure if 5xx 2019-06-05 10:13:00 +02:00
Michael Kriese
cd0a3bd675 feat(gitlab): convert to typescript (#3824) 2019-05-29 14:00:56 +02:00
Michael Kriese
0b063aeaa1 feat(build): use babel (#3825) 2019-05-28 11:21:17 +02:00
Rhys Arkins
73f953ca94 refactor(gitlab): use util/got/auth 2019-05-27 09:29:22 +02:00
Rhys Arkins
02b5f2e4be
refactor(gitlab): use util/got (#3814) 2019-05-26 19:05:05 +02:00
Rhys Arkins
439e19d78c
chore: remove all gitFs references (#3807) 2019-05-25 06:23:44 +02:00
Rhys Arkins
5f11c5e8d9
feat: hostRules rewrite (#3801)
Rewrites hostRules for increased flexibility. Includes renames of existing fields within a hostRule:
- `endpoint` -> `baseUrl`
- `host` -> `hostName`

Additionally, `domainName` has been added. Migration scripts should take care of these for users but it's recommended to update configs to match the new fields anyway.
2019-05-24 17:40:39 +02:00
Rhys Arkins
c02abf0976
feat: rename hostRules.platform to hostRules.hostType (#3768)
Refactors hostRules to use field “hostType” instead of “platform”. hostType can include datasources like npm, maven, pypi, etc.
2019-05-21 13:20:09 +02:00
Rhys Arkins
ee218097dc
feat: refactor platform authentication (#3758) 2019-05-20 10:59:30 +02:00
Rhys Arkins
a1a7b307a3 fix(gitlab): don’t warn if more than one MR assignee 2019-05-18 06:45:57 +02:00
Rhys Arkins
3215d2966a
feat(gitFs): lazy fetching (#3638)
Instead of shallow cloning every branch (using —no-single-branch), we now clone only the default branch and lazy fetch the others as needed.
2019-05-17 08:10:40 +02:00
Rhys Arkins
6ec1aac9ad fix(platform): always set baseBranch 2019-05-15 13:04:16 +02:00
Michael Kriese
5c4e53498a fix(platform): check branch exists before retrieving status (#3695) 2019-05-15 08:22:33 +02:00
Rhys Arkins
2ccfff5e66 fix(gitlab): detect forks
Closes #3679
2019-05-13 12:20:22 +02:00
Michael Kriese
1d474e409f feat: add 60s timeout to all requests (#3641) 2019-05-10 11:54:01 +02:00
Rhys Arkins
f2b48c8383 feat: gitFs-only for GitLab
The gitlab platform is now implemented using gitFs over http/https. Ensure you are using a Personal Access Token with “api” scope. Remove any custom “gitFs” config option now - it will be autodetected based on the endpoint value. For most - maybe all - users, there should not be any change required at all.

Closes #3478

BREAKING CHANGE: gitlab platform is now gitFs only and requires a Personal Access Token with api scope.
2019-05-09 12:37:11 +02:00
Rhys Arkins
d3dbd937c4 fix(gitlab): better debugging of pr.canRebase 2019-05-02 23:34:52 +02:00
mohd hassaan
eb936b4236 fix: autoclose resolved deprecated issues (#3611) 2019-05-01 09:28:30 +02:00
Rhys Arkins
788215af99 fix(gitlab): Revert "feat(gitlab): try merging PR on creation (#3308)"
This reverts commit 8bd75923bb.

Reverting until https://gitlab.com/gitlab-org/gitlab-ce/issues/56698 is fixed by GitLab
2019-04-25 10:47:29 +02:00
Rhys Arkins
07598efa37
fix: move git author logic to global worker and validate (#3410) 2019-03-19 17:21:19 +01:00
Florian Greinacher
8bd75923bb feat(gitlab): try merging PR on creation (#3308) 2019-03-11 10:07:54 +01:00
Rhys Arkins
524be026a6 fix(gitlab): branch status failed/failure 2019-03-01 10:39:09 +01:00
Rhys Arkins
268c86b0ff fix(gitlab): err.message typo 2019-02-15 10:39:40 +00:00
Rhys Arkins
9507062e85 refactor(gitlab): don’t warn for status transition errors 2019-02-13 11:47:07 -05:00
Rhys Arkins
f6d8eb7a68 Revert "refactor(gitlab): always debug merge err"
This reverts commit 6237a7f4a3.
2019-02-03 06:00:14 +01:00
Rhys Arkins
6237a7f4a3 refactor(gitlab): always debug merge err 2019-02-02 16:01:22 +01:00
Rhys Arkins
7f47d45784 fix(gitlab): do extra branchPrefix filter
Closes #3129
2019-01-29 11:55:13 +01:00
Lukas Eipert
5aa73a16c9 perf(gitlab): Use gitlab's API to find renovate branches (#3115)
Instead of retrieving all branches and filtering later on, we make use
of GitLab's search: https://docs.gitlab.com/ee/api/branches.html
2019-01-28 02:39:44 +01:00
Sarun Intaralawan
0fffecb636 fix(gitlab): close and reopen MR while rebasing to prevent errorneous GitLab CI message (#2994) 2018-12-25 06:54:15 +02:00
Rhys Arkins
606e526f1c fix(gitlab): gracefully handle 404 repos 2018-12-01 18:43:00 +01:00
Rhys Arkins
265d375f6a fix(gitlab): detect empty repo earlier in initRepo 2018-11-10 23:19:20 +01:00
Rhys Arkins
b0ec1a1f09 refactor(github): don’t warn for pr merge failure 2018-11-09 21:53:47 +01:00
Rhys Arkins
221b2fe21a fix(gitlab): catch/throw ‘empty’ error 2018-11-09 13:19:45 +01:00
renovate[bot]
dff1fb137b feat(deps): update got packages (major) (#2433) 2018-11-09 12:50:21 +01:00
Rhys Arkins
e04dbc38b6 fix(gitlab): check MR branch status only if opened
Fixes #2771
2018-11-08 23:41:52 +01:00
Ayoub Kaanich
c1f6eb38c3 feat: delete gitlab labels (#2772)
Closes #2764
2018-11-08 20:01:10 +01:00
Rhys Arkins
cd185ab3b0
fix: revert gitlab oauth (#2770) 2018-11-08 14:59:04 +01:00
Ayoub Kaanich
164b9af513 feat: gitFs over SSH (#2768)
Support setting git clone protocol `http`, `https` or `ssh`.
Config name: `gitFsProtocol`.
Platform independent.

Closes #2708
2018-11-08 13:21:36 +01:00
Rhys Arkins
a5531b8713 fix(gitlab): check branch status for MR mergeability
Adds a call to getBranchStatus() from getPr() so that we are correctly calculating pr.canMerge status.

Closes #2735
2018-11-07 13:19:20 +01:00
Guillaume Dedrie
3428b4b183 fix(gitlab): getPrFiles throw TypeError: files.map is not a function. (#2761)
In `getPrFiles` function, when requesting MR changes to GitLab API
(in order to return files modified by the MR), we should iterate over
`changes` property in the HTTP body response, and return `new_path` as
the filename.
See: https://docs.gitlab.com/ee/api/merge_requests.html#get-single-mr-changes
2018-11-07 13:17:32 +01:00
Rhys Arkins
6a3836faf0 fix(gitlab): Gracefully handle 403 during init 2018-11-07 10:52:33 +01:00
Ayoub Kaanich
278b892cb9 feat(gitlab): Implement pr.isStale (#2716)
feat(gitlab): Implement pr.isStale
2018-10-31 15:05:25 +01:00
Rhys Arkins
a518c13498 fix(gitlab): cache-bust branch status checks
Closes #2709
2018-10-29 20:03:35 +01:00
Rhys Arkins
8381389fbb refactor(gitlab): don’t use leading / in url 2018-10-29 20:01:21 +01:00
Ayoub Kaanich
975ee2b79b feat: GitFs for GitLab (#2692)
Since Gitlab does not support using tokens to write to repo, `commitFilesToBranch` will always use the API. This could be changed once GitFS over SSH is implemented. 

Closes #2549
2018-10-29 18:25:11 +01:00
Rhys Arkins
84cbeea66f fix(gitlab): try/catch branch status set 2018-10-29 06:53:03 +01:00