From 2514a1e36bec830f4cc8ac2ea1c29ba6ccd42d25 Mon Sep 17 00:00:00 2001 From: Matthew Kime Date: Wed, 1 May 2019 16:02:33 -0500 Subject: [PATCH] implementing github checks - second attempt (#35757) implement github checks in ci --- github_checks_reporter.json | 6 ++ package.json | 1 + src/dev/ci_setup/setup.sh | 25 +++++ tasks/config/run.js | 140 +++++++++++++++--------- tasks/jenkins.js | 14 +-- test/scripts/jenkins_ci_group.sh | 8 +- test/scripts/jenkins_xpack.sh | 4 +- test/scripts/jenkins_xpack_ci_group.sh | 2 +- yarn.lock | 141 +++++++++++++++++++++++++ 9 files changed, 277 insertions(+), 64 deletions(-) create mode 100644 github_checks_reporter.json diff --git a/github_checks_reporter.json b/github_checks_reporter.json new file mode 100644 index 0000000000000..5924778cb9b6f --- /dev/null +++ b/github_checks_reporter.json @@ -0,0 +1,6 @@ +{ + "appId": 26774, + "envVars": { + "appKey": "KIBANA_CI_REPORTER_KEY" + } +} diff --git a/package.json b/package.json index 5022e00ea7c96..8c37b234cd32b 100644 --- a/package.json +++ b/package.json @@ -258,6 +258,7 @@ "@babel/parser": "^7.3.4", "@babel/types": "^7.3.4", "@elastic/eslint-config-kibana": "0.15.0", + "@elastic/github-checks-reporter": "0.0.11", "@elastic/makelogs": "^4.4.0", "@kbn/es": "1.0.0", "@kbn/eslint-import-resolver-kibana": "2.0.0", diff --git a/src/dev/ci_setup/setup.sh b/src/dev/ci_setup/setup.sh index 4e3f8c73a65cf..860d1e9edb783 100755 --- a/src/dev/ci_setup/setup.sh +++ b/src/dev/ci_setup/setup.sh @@ -180,3 +180,28 @@ if [ "$GIT_CHANGES" ]; then echo -e "$GIT_CHANGES\n" exit 1 fi + +### +### github-checks-reporter kill switch. Remove to disable +### +export CHECKS_REPORTER_ACTIVE=true + +### only run on pr jobs +if [[ "$JOB_NAME" != "elastic+kibana+pull-request"* ]] ; then + export CHECKS_REPORTER_ACTIVE=false +fi + +### +### Implements github-checks-reporter kill switch when scripts are called from the command line +### $@ - all arguments +### +function checks-reporter-with-killswitch() { + if [ "$CHECKS_REPORTER_ACTIVE" == "true" ] ; then + yarn run github-checks-reporter "$@" + else + arguments=("$@"); + "${arguments[@]:1}"; + fi +} + +export -f checks-reporter-with-killswitch diff --git a/tasks/config/run.js b/tasks/config/run.js index 609f164369783..e49e88a1249bd 100644 --- a/tasks/config/run.js +++ b/tasks/config/run.js @@ -62,79 +62,101 @@ module.exports = function (grunt) { '--server.port=5610', ]; + const NODE = 'node'; + const scriptWithGithubChecks = ({ title, options, cmd, args }) => ( + process.env.CHECKS_REPORTER_ACTIVE === 'true' ? { + options, + cmd: 'yarn', + args: ['run', 'github-checks-reporter', title, cmd, ...args], + } : { options, cmd, args }); + const gruntTaskWithGithubChecks = (title, task) => + scriptWithGithubChecks({ + title, + cmd: 'yarn', + args: ['run', 'grunt', task] + }); + return { // used by the test and jenkins:unit tasks // runs the eslint script to check for linting errors - eslint: { - cmd: process.execPath, + eslint: scriptWithGithubChecks({ + title: 'eslint', + cmd: NODE, args: [ - require.resolve('../../scripts/eslint'), + 'scripts/eslint', '--no-cache' ] - }, + }), - sasslint: { - cmd: process.execPath, + sasslint: scriptWithGithubChecks({ + title: 'sasslint', + cmd: NODE, args: [ - require.resolve('../../scripts/sasslint') + 'scripts/sasslint' ] - }, + }), // used by the test tasks // runs the check_file_casing script to ensure filenames use correct casing - checkFileCasing: { - cmd: process.execPath, + checkFileCasing: scriptWithGithubChecks({ + title: 'Check file casing', + cmd: NODE, args: [ - require.resolve('../../scripts/check_file_casing'), + 'scripts/check_file_casing', '--quiet' // only log errors, not warnings ] - }, + }), // used by the test tasks // runs the check_core_api_changes script to ensure API changes are explictily accepted - checkCoreApiChanges: { - cmd: process.execPath, + checkCoreApiChanges: scriptWithGithubChecks({ + title: 'Check core API changes', + cmd: NODE, args: [ - require.resolve('../../scripts/check_core_api_changes') + 'scripts/check_core_api_changes' ] - }, + }), // used by the test and jenkins:unit tasks // runs the typecheck script to check for Typescript type errors - typeCheck: { - cmd: process.execPath, + typeCheck: scriptWithGithubChecks({ + title: 'Type check', + cmd: NODE, args: [ - require.resolve('../../scripts/type_check') + 'scripts/type_check' ] - }, + }), // used by the test and jenkins:unit tasks // ensures that all typescript files belong to a typescript project - checkTsProjects: { - cmd: process.execPath, + checkTsProjects: scriptWithGithubChecks({ + title: 'TypeScript - all files belong to a TypeScript project', + cmd: NODE, args: [ - require.resolve('../../scripts/check_ts_projects') + 'scripts/check_ts_projects' ] - }, + }), // used by the test and jenkins:unit tasks // runs the i18n_check script to check i18n engine usage - i18nCheck: { - cmd: process.execPath, + i18nCheck: scriptWithGithubChecks({ + title: 'Internationalization check', + cmd: NODE, args: [ - require.resolve('../../scripts/i18n_check'), + 'scripts/i18n_check', '--ignore-missing', ] - }, + }), // used by the test:server task // runs all node.js/server mocha tests - mocha: { - cmd: process.execPath, + mocha: scriptWithGithubChecks({ + title: 'Mocha tests', + cmd: NODE, args: [ - require.resolve('../../scripts/mocha') + 'scripts/mocha' ] - }, + }), // used by the test:browser task // runs the kibana server to serve the browser test bundle @@ -175,29 +197,32 @@ module.exports = function (grunt) { ] }), - verifyNotice: { + verifyNotice: scriptWithGithubChecks({ + title: 'Verify NOTICE.txt', options: { wait: true, }, - cmd: process.execPath, + cmd: NODE, args: [ 'scripts/notice', '--validate' ] - }, + }), - apiIntegrationTests: { - cmd: process.execPath, + apiIntegrationTests: scriptWithGithubChecks({ + title: 'API integration tests', + cmd: NODE, args: [ 'scripts/functional_tests', '--config', 'test/api_integration/config.js', '--bail', '--debug', ], - }, + }), - serverIntegrationTests: { - cmd: process.execPath, + serverIntegrationTests: scriptWithGithubChecks({ + title: 'Server integration tests', + cmd: NODE, args: [ 'scripts/functional_tests', '--config', 'test/server_integration/http/ssl/config.js', @@ -206,10 +231,11 @@ module.exports = function (grunt) { '--debug', '--kibana-install-dir', KIBANA_INSTALL_DIR, ], - }, + }), - interpreterFunctionalTestsRelease: { - cmd: process.execPath, + interpreterFunctionalTestsRelease: scriptWithGithubChecks({ + title: 'Interpreter functional tests', + cmd: NODE, args: [ 'scripts/functional_tests', '--config', 'test/interpreter_functional/config.js', @@ -217,10 +243,11 @@ module.exports = function (grunt) { '--debug', '--kibana-install-dir', KIBANA_INSTALL_DIR, ], - }, + }), - pluginFunctionalTestsRelease: { - cmd: process.execPath, + pluginFunctionalTestsRelease: scriptWithGithubChecks({ + title: 'Plugin functional tests', + cmd: NODE, args: [ 'scripts/functional_tests', '--config', 'test/plugin_functional/config.js', @@ -228,17 +255,30 @@ module.exports = function (grunt) { '--debug', '--kibana-install-dir', KIBANA_INSTALL_DIR, ], - }, + }), - functionalTests: { - cmd: process.execPath, + functionalTests: scriptWithGithubChecks({ + title: 'Functional tests', + cmd: NODE, args: [ 'scripts/functional_tests', '--config', 'test/functional/config.js', '--bail', '--debug', ], - }, + }), + + licenses: gruntTaskWithGithubChecks('Licenses', 'licenses'), + verifyDependencyVersions: + gruntTaskWithGithubChecks('Verify dependency versions', 'verifyDependencyVersions'), + test_server: + gruntTaskWithGithubChecks('Server tests', 'test:server'), + test_jest: gruntTaskWithGithubChecks('Jest tests', 'test:jest'), + test_jest_integration: + gruntTaskWithGithubChecks('Jest integration tests', 'test:jest_integration'), + test_projects: gruntTaskWithGithubChecks('Project tests', 'test:projects'), + test_browser_ci: + gruntTaskWithGithubChecks('Browser tests', 'test:browser-ci'), ...getFunctionalTestGroupRunConfigs({ kibanaInstallDir: KIBANA_INSTALL_DIR diff --git a/tasks/jenkins.js b/tasks/jenkins.js index 61fbbad24392d..91638553f09e5 100644 --- a/tasks/jenkins.js +++ b/tasks/jenkins.js @@ -30,14 +30,14 @@ module.exports = function (grunt) { 'run:typeCheck', 'run:i18nCheck', 'run:checkFileCasing', - 'licenses', - 'verifyDependencyVersions', + 'run:licenses', + 'run:verifyDependencyVersions', 'run:verifyNotice', - 'test:server', - 'test:jest', - 'test:jest_integration', - 'test:projects', - 'test:browser-ci', + 'run:test_server', + 'run:test_jest', + 'run:test_jest_integration', + 'run:test_projects', + 'run:test_browser_ci', 'run:apiIntegrationTests', ]); }; diff --git a/test/scripts/jenkins_ci_group.sh b/test/scripts/jenkins_ci_group.sh index a4bc597316dcb..521719be6a1a4 100755 --- a/test/scripts/jenkins_ci_group.sh +++ b/test/scripts/jenkins_ci_group.sh @@ -19,13 +19,13 @@ node scripts/build --debug --oss; export TEST_BROWSER_HEADLESS=1 -"$(FORCE_COLOR=0 yarn bin)/grunt" "run:functionalTests_ciGroup${CI_GROUP}"; +checks-reporter-with-killswitch "Functional tests / Group ${CI_GROUP}" yarn run grunt "run:functionalTests_ciGroup${CI_GROUP}"; if [ "$CI_GROUP" == "1" ]; then # build kbn_tp_sample_panel_action cd test/plugin_functional/plugins/kbn_tp_sample_panel_action; - yarn build; + checks-reporter-with-killswitch "Build kbn_tp_sample_panel_action" yarn build; cd -; - "$(FORCE_COLOR=0 yarn bin)/grunt" run:pluginFunctionalTestsRelease --from=source; - "$(FORCE_COLOR=0 yarn bin)/grunt" run:interpreterFunctionalTestsRelease; + yarn run grunt run:pluginFunctionalTestsRelease --from=source; + yarn run grunt run:interpreterFunctionalTestsRelease; fi diff --git a/test/scripts/jenkins_xpack.sh b/test/scripts/jenkins_xpack.sh index 1d5a20d7fb0b9..f7507bd8bac2a 100755 --- a/test/scripts/jenkins_xpack.sh +++ b/test/scripts/jenkins_xpack.sh @@ -17,13 +17,13 @@ export TEST_BROWSER_HEADLESS=1 echo " -> Running mocha tests" cd "$XPACK_DIR" -yarn test +checks-reporter-with-killswitch "X-Pack Mocha" yarn test echo "" echo "" echo " -> Running jest tests" cd "$XPACK_DIR" -node scripts/jest --ci --no-cache --verbose +checks-reporter-with-killswitch "X-Pack Jest" node scripts/jest --ci --no-cache --verbose echo "" echo "" diff --git a/test/scripts/jenkins_xpack_ci_group.sh b/test/scripts/jenkins_xpack_ci_group.sh index 297401fc24593..72ef033df3712 100755 --- a/test/scripts/jenkins_xpack_ci_group.sh +++ b/test/scripts/jenkins_xpack_ci_group.sh @@ -36,6 +36,6 @@ tar -xzf "$linuxBuild" -C "$installDir" --strip=1 echo " -> Running functional and api tests" cd "$XPACK_DIR" -node scripts/functional_tests --debug --bail --kibana-install-dir "$installDir" --include-tag "ciGroup$CI_GROUP" +checks-reporter-with-killswitch "X-Pack Functional tests / Group ${CI_GROUP}" node scripts/functional_tests --debug --bail --kibana-install-dir "$installDir" --include-tag "ciGroup$CI_GROUP" echo "" echo "" diff --git a/yarn.lock b/yarn.lock index 5e8b7fa454f57..827015bbc79d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1384,6 +1384,16 @@ resolved "https://registry.yarnpkg.com/@elastic/filesaver/-/filesaver-1.1.2.tgz#1998ffb3cd89c9da4ec12a7793bfcae10e30c77a" integrity sha512-YZbSufYFBhAj+S2cJgiKALoxIJevqXN2MSr6Yqr42rJdaPuM31cj6pUDwflkql1oDjupqD9la+MfxPFjXI1JFQ== +"@elastic/github-checks-reporter@0.0.11": + version "0.0.11" + resolved "https://registry.yarnpkg.com/@elastic/github-checks-reporter/-/github-checks-reporter-0.0.11.tgz#f751ad6063b3f47d05c88e9cff3f0fec8fec729a" + integrity sha512-zTp8ETik8QHhQk4s9lbz/QMhfWzX8Xvq0PGphhOOdOYGX0PWRXBcZNlYwwyHZWdeIozSUu2CION0tRBnseZPng== + dependencies: + "@octokit/app" "^2.2.2" + "@octokit/request" "^2.4.2" + "@octokit/rest" "^16.23.2" + strip-ansi "^5.2.0" + "@elastic/good@8.1.1-kibana2": version "8.1.1-kibana2" resolved "https://registry.yarnpkg.com/@elastic/good/-/good-8.1.1-kibana2.tgz#3ba7413da9fae4c67f128f3e9b1dc28f24523c7a" @@ -1794,6 +1804,38 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@octokit/app@^2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@octokit/app/-/app-2.2.2.tgz#a1b8248f64159eeccbe4000d888fdae4163c4ad8" + integrity sha512-nUwS8jW107ROGuI0Tq4Ga+Zno6CovwaS+Oen6BOKJmoFMLqqB3oXeGZ6InkidtdmUNiYhMtNq2lydb0WVLT8Zg== + dependencies: + "@octokit/request" "^2.1.2" + "@types/lru-cache" "^5.1.0" + jsonwebtoken "^8.3.0" + lru-cache "^5.1.1" + +"@octokit/endpoint@^3.2.0": + version "3.2.3" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-3.2.3.tgz#bd9aea60cd94ce336656b57a5c9cb7f10be8f4f3" + integrity sha512-yUPCt4vMIOclox13CUxzuKiPJIFo46b/6GhUnUTw5QySczN1L0DtSxgmIZrZV4SAb9EyAqrceoyrWoYVnfF2AA== + dependencies: + deepmerge "3.2.0" + is-plain-object "^2.0.4" + universal-user-agent "^2.0.1" + url-template "^2.0.8" + +"@octokit/request@2.4.2", "@octokit/request@^2.1.2", "@octokit/request@^2.4.2": + version "2.4.2" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-2.4.2.tgz#87c36e820dd1e43b1629f4f35c95b00cd456320b" + integrity sha512-lxVlYYvwGbKSHXfbPk5vxEA8w4zHOH1wobado4a9EfsyD3Cbhuhus1w0Ye9Ro0eMubGO8kNy5d+xNFisM3Tvaw== + dependencies: + "@octokit/endpoint" "^3.2.0" + deprecation "^1.0.1" + is-plain-object "^2.0.4" + node-fetch "^2.3.0" + once "^1.4.0" + universal-user-agent "^2.0.1" + "@octokit/rest@^15.10.0": version "15.10.0" resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-15.10.0.tgz#9baf7430e55edf1a1024c35ae72ed2f5fc6e90e9" @@ -1809,6 +1851,24 @@ node-fetch "^2.1.1" url-template "^2.0.8" +"@octokit/rest@^16.23.2": + version "16.23.2" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-16.23.2.tgz#975e84610427c4ab6c41bec77c24aed9b7563db4" + integrity sha512-ZxiZMaCuqBG/IsbgNRVfGwYsvBb5DjHuMGjJgOrinT+/b+1j1U7PiGyRkHDJdjTGA6N/PsMC2lP2ZybX9579iA== + dependencies: + "@octokit/request" "2.4.2" + atob-lite "^2.0.0" + before-after-hook "^1.4.0" + btoa-lite "^1.0.0" + deprecation "^1.0.1" + lodash.get "^4.4.2" + lodash.set "^4.3.2" + lodash.uniq "^4.5.0" + octokit-pagination-methods "^1.1.0" + once "^1.4.0" + universal-user-agent "^2.0.0" + url-template "^2.0.8" + "@reach/router@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz#34ae3541a5ac44fa7796e5506a5d7274a162be4e" @@ -4389,6 +4449,11 @@ ansi-regex@^4.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9" integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w== +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" + integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + ansi-styles@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" @@ -5080,6 +5145,11 @@ atoa@1.0.0: resolved "https://registry.yarnpkg.com/atoa/-/atoa-1.0.0.tgz#0cc0e91a480e738f923ebc103676471779b34a49" integrity sha1-DMDpGkgOc4+SPrwQNnZHF3mzSkk= +atob-lite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" + integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= + atob@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" @@ -5789,6 +5859,11 @@ before-after-hook@^1.1.0: resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-1.1.0.tgz#83165e15a59460d13702cb8febd6a1807896db5a" integrity sha512-VOMDtYPwLbIncTxNoSzRyvaMxtXmLWLUqr8k5AfC1BzLk34HvBXaQX8snOwQZ4c0aX8aSERqtJSiI9/m2u5kuA== +before-after-hook@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-1.4.0.tgz#2b6bf23dca4f32e628fd2747c10a37c74a4b484d" + integrity sha512-l5r9ir56nda3qu14nAXIlyq1MmUSs0meCIaFAh8HwkFwP1F8eToOuS3ah2VAHHcY04jaYD7FpJC5JTXHYRbkzg== + better-assert@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" @@ -8940,6 +9015,11 @@ deepmerge@2.2.1: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170" integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA== +deepmerge@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-3.2.0.tgz#58ef463a57c08d376547f8869fdc5bcee957f44e" + integrity sha512-6+LuZGU7QCNUnAJyX8cIrlzoEgggTM6B7mm+znKOX4t5ltluT9KLjN6g61ECMS0LTsLW7yDpNoxhix5FZcrIow== + default-gateway@^2.6.0: version "2.7.2" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f" @@ -9065,6 +9145,11 @@ deprecated@^0.0.1: resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19" integrity sha1-+cmvVGSvoeepcUWKi97yqpTVuxk= +deprecation@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-1.0.1.tgz#2df79b79005752180816b7b6e079cbd80490d711" + integrity sha512-ccVHpE72+tcIKaGMql33x5MAjKQIZrk+3x2GbJ7TeraUCZWHoT+KSZpoC+JQFsUBlSTXUrBaGiF0j6zVTepPLg== + des.js@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" @@ -16739,6 +16824,11 @@ lodash.restparam@^3.0.0: resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= +lodash.set@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" + integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= + lodash.snakecase@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d" @@ -16812,6 +16902,11 @@ lodash.union@^4.6.0: resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + lodash.uniqby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" @@ -17015,6 +17110,13 @@ lru-cache@^4.1.1, lru-cache@^4.1.3: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru-queue@0.1: version "0.1.0" resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" @@ -17032,6 +17134,11 @@ macos-release@^1.0.0: resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-1.1.0.tgz#831945e29365b470aa8724b0ab36c8f8959d10fb" integrity sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA== +macos-release@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.2.0.tgz#ab58d55dd4714f0a05ad4b0e90f4370fef5cdea8" + integrity sha512-iV2IDxZaX8dIcM7fG6cI46uNmHUxHE4yN+Z8tKHAW1TBPMZDIKHf/3L+YnOuj/FK9il14UaVdHmiQ1tsi90ltA== + majo@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/majo/-/majo-0.4.1.tgz#5e6eeb9b63bda77e59d396b9c9ce4189ce6100bc" @@ -18678,6 +18785,11 @@ obuf@^1.0.0, obuf@^1.1.1: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e" integrity sha1-EEEktsYCxnlogaBCVB0220OlJk4= +octokit-pagination-methods@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" + integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== + on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -18887,6 +18999,14 @@ os-name@^2.0.1: macos-release "^1.0.0" win-release "^1.0.0" +os-name@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" + integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== + dependencies: + macos-release "^2.2.0" + windows-release "^3.1.0" + os-shim@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" @@ -23939,6 +24059,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" + integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + dependencies: + ansi-regex "^4.1.0" + strip-bom-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" @@ -25832,6 +25959,13 @@ unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: dependencies: unist-util-is "^2.1.1" +universal-user-agent@^2.0.0, universal-user-agent@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-2.0.3.tgz#9f6f09f9cc33de867bb720d84c08069b14937c6c" + integrity sha512-eRHEHhChCBHrZsA4WEhdgiOKgdvgrMIHwnwnqD0r5C6AO8kwKcG7qSku3iXdhvHL3YvsS9ZkSGN8h/hIpoFC8g== + dependencies: + os-name "^3.0.0" + universalify@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7" @@ -27123,6 +27257,13 @@ window-size@^0.2.0: resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" integrity sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU= +windows-release@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f" + integrity sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA== + dependencies: + execa "^1.0.0" + winston-transport@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.2.0.tgz#a20be89edf2ea2ca39ba25f3e50344d73e6520e5"