From c2cb27631d9ffe84553cad9c840a3ec23e4f9cfa Mon Sep 17 00:00:00 2001 From: sethkfman <10342624+sethkfman@users.noreply.github.com> Date: Fri, 23 Jul 2021 12:03:00 -0600 Subject: [PATCH] Feature/bitrise (#2889) * VERSION_NAME * e2e testing * modified build script to generate debug app for testing * added pod file install into code prep * moved pod install to e2e workflow * update e2e * updated e2e * updated e2e script * added back envs * updated e2e * updated e2e * updated code_setup & e2e * updated detox script * added test deploy * commented out steps for testing * updated build announce to use bitrise script * added bitrise announcement script * refactored bitrise scripts to reflect the notion workflows * added new yarn step to audit dependencies * removing scripts and using yarn e2e test * moved the trigger * updated yarn audit command * updated e2e * updated e2e * updated build scripts to generate release and added dependency for android test release * test-android-build * generic-file-storage * file-downloader * Revert "file-downloader" This reverts commit db69ef5878d70c67e1faf5314e85c52fb9ca571f. * Download keystore * moved keystore download up in the workflow * updated keystore pull script * updated keystore pull script * added file downloader * added file downloader * uploaded keystore file android test * updated android release * updated release build to pull keystore from bitrise * update android bitrise deploy * added android e2e workflow and updated release signing config * commented out e2e * uncommented e2e setup * uncommented e2e * updated file format * uncommented e2e * comment e2e * uncommented e2e * formatting bitrise file * updated build scripts to use release * swaped password for release * test ios release * updated yarn steps * update slack bot script * added group test release * run android test release * updated announce script * update triggers and typos * update to test ios build * updated build type for pre-release * ios app generation * ios app generation * updated iOS builds * use bitrise xcode deploy * update ios release steps * added deploy to itunes connect * formatting * updated node version * udpated node version * Bitrise yml bump version (#2535) * scriptsworking * scripts * scripts * working * newscript * works * pre-merge-hook * 1.0.0 (#2560) * dah * actions? * branchasinput * update * branch * Release/testing minor (#2563) * Bitrise yml bump version (#1) * added new bitrise yml file * updated unit test yml * updated yml * added code coverage * added code coverage install * segment out code setup and validation from test cases * updating yml audit * updated yml * updated yml * updated yml audits * updated yml audits * updated yml audits * updated yml audits * updated yml install * updated yml audit * updated yml audit * updated yml segmented code_setup * updated yml segmented code_setup * updated yml segmented set to not always run * updated yml segmented code cov * updated yml triggers * updated yml triggers * updated yml triggers * updated yml codecov * switched to ci * switched to ci * test deploy * test deploy ios * format * imported env variables * added env variables * added env variables * reconfigured build triggers * reconfigured build triggers * reconfigured build triggers * removed fastlane from build scripts and added commnets to bitrise scripts * testing android artifact upload * commented out code that is not needed * added android deploy paths * test * Revert "test" This reverts commit 77ef2822f0d7f58a70cf47d6e24a8ac7a9b2404d. * updated android deploy paths * bitrise-yml-bump-version * bump_version_minor * workflow * PROJECT_LOCATION * bump_version_minor * new_version_name * space * Revert "space" This reverts commit e0eb5ad1a7673c01e6f2bd891ee3b2c141c52d85. * 2.1.1 * new_version_name * torevert * Revert "torevert" This reverts commit a315582657ace308e3fe94f399c0c6e25ef53ec4. * d * revert * env * ios * test android build * bump_version_minor * temporarily creating debug android build for testing * VERSION_NAME * scriptsworking * scripts * scripts * working * newscript * works * pre-merge-hook * 1.0.0 (#2560) * dah * actions? * branchasinput * update * branch Co-authored-by: sethkfman * changename (#2) * Changetorun (#3) * changename * run * release/test-minor (#4) * rm-condition (#5) * Filelocation (#6) * rm-condition * file * Checkout step (#7) * rm-condition * file * checkout-step * Try (#8) * a * Revert "a" This reverts commit 5df3682b72954f3698d2cc8dd981de109f0f6746. * Logs (#9) * a * Revert "a" This reverts commit 5df3682b72954f3698d2cc8dd981de109f0f6746. * logs * Branch (#10) * a * Revert "a" This reverts commit 5df3682b72954f3698d2cc8dd981de109f0f6746. * logs * branch * Var (#11) * a * Revert "a" This reverts commit 5df3682b72954f3698d2cc8dd981de109f0f6746. * logs * branch * correct * echo (#12) * echo * rm * pull-request (#13) * Pull request 2 (#14) * pull-request * ref * GITHUB_REF * parse * with-branch (#15) * Origin branch (#16) * with-branch * origin-branch * base_ref (#17) * push * rmrnv * gh * action * event_name * base_ref * location * location * ls * find * file * file * GITHUB_TOKEN * persist * with * uses * bitrise * sed * commit * diff * release/fake-major * add-and-commit * with * author * path-to-th-repo * checkout@v1 * v2 * Bump version name * useref (#18) * change * ref * something (#19) * Branch 3 (#20) * something * onmerge * fix * Branch 4 (#21) * something * onmerge * fix * GITHUB_REF * GITHUB_CONTEXT * GITHUB_CONTEXT * BASE_REF * HEAD_REF * nobump * something (#22) * s (#23) * s * Bump version name * types (#24) * create-pr * something (#25) * Release/ww patch (#26) * something * opened * Bump version name * othercommit * Release/nohead patch (#36) * ghactions * something * fix * nopush * head * pull * nohead * nopull * nohead * update * gitpush * force * Bump version name * opened Co-authored-by: github-actions * rmonpush * Bump version name * startsWith * main * rmstartwith * line Co-authored-by: sethkfman Co-authored-by: github-actions * newscript * release/testbump-patch (#2570) * space * branch * notopenend * diff * Bump version name Co-authored-by: github-actions * addbranch * version * ifrelease * add * lasttest * ifcontains * branch Co-authored-by: sethkfman Co-authored-by: github-actions * iOS build update * iOS build update * added android and ios in a single release build * added android and ios in a single release build * updated iOS release * updated iOS release * updated iOS release * updated iOS release * added android to test_release * test iOS build with export options * test iOS build with export options * setup android release build * fix action condition (#2576) * updated export options to include provisioning profile and added deploy to bitrise steps to ios * bump_version * start_release_builds * androidthenios * cachepull * before_run * deploy-to-itunesconnect * onefirsttheother * iosfirst * comments * updated slack announce script * uncommented deploy and slack announce * testing full release (#2582) * testing full release * Bump version name Co-authored-by: github-actions * update ios deploy step * removed test comment (#2584) * removed test comment * Bump version name Co-authored-by: github-actions * testing android google play staging * increased versionCode & PROJECT VERSION * added iOS build * added test comment (#2585) * added test comment * Bump version name Co-authored-by: github-actions * run android only deploy * run ios only deploy * run ios only deploy * run ios only deploy * Release/testbuild patch (#2589) * Swaps: BSC Support (#2468) * Swaps: Add cache thresholds configuration (#2514) * removed test comments * Bump version name Co-authored-by: Pedro Pablo Aste Kompen Co-authored-by: github-actions * removed fastlane files and minor tweaks to scripts * updated e2e tests * updated e2e tests * updated yarn steps e2e * updated android scripts * updated build scrips and yml * updated e2e builds * remove CircleCi yml * added circleci script back * added emulator print out command * updated ios e2e test steps * removed devices * added creation of emulator to script * added creation of emulator to script * added creation of emulator to script * added creation of emulator to script * added creation of emulator to script * removed starting emulators * updated emulator name * avd list * avd creation * updated bitrise to tigger for v2.3.0 release build test * updated bundler version * updated build script * updated build script * updated change log with hide zero balance change (#2623) * updated version name * updated android emulator name * added build comments and verbose logging for tests * added build comments and refactored test inits * testing parallel deploys * added comments * formatting * moved code snipets * modified build triggers * modified build triggers * added deploy steps for parallel deploy * updated triggers * updated trigger * updated change log * stop caching * update build triggers * update build triggers * update audit script * testing parallel deployment * testing parallel deployment * testing parallel deployment * disable release in circleCI * testing parallel deployment * updated deploy directory * updated deploy step * deploy apk * updated changelog (#2648) * updated deploy scripts * remove code coverage * updated provisioning profile name * updated provisioning profile name * updated version for test 2.3.1 * updated provisioning profile * update provisioning profile * added fastlane and gemfiles back * updated bitrise config * updated conflicts * removed conflicts * yarn.lock update * test deploy build * e2e updates * updated for e2e testing * updated android e2e step * android e2e test prep * added updates to ios e2e * build min update for e2e test * updated ios e2e * switched to debug e2e tests * updated debug e2e scripts * updated detox commands * updated ios e2e steps * build release * removed kill-start server * added the restart server adb * shifted iOS to debug build for e2e * update release script * ios release build * updated sentry script * updated sentry script path * updated sentry paths and install * test release * triggered tests * updated ios e2e for Detox Utils * break out build & test * split fix syntax issue * fix syntax issue * updated e2e tests * updated e2e * ios e2e update * test ios e2e * updated timeout * updated ios to use yarn * added cache e2e ios * added cache e2e ios * run both e2e tests * removed fastlane, updated version bump to use a variable * updated script print out and workflow * test release * removed console.log, cleaned up comments, fix regex on bump * updated target version * setup final workflow state * updated bitrise.yml formatting uncommented deploy to store and uncommented bump * reset the min sdk version * removed duplicate detox install * version number update * reformatted yml Co-authored-by: Esteban Mino Co-authored-by: github-actions Co-authored-by: Pedro Pablo Aste Kompen --- .circleci/config.yml | 209 ------------------------- android/app/build.gradle | 8 +- android/build.gradle | 4 +- bitrise.yml | 81 +++++----- e2e/init.js | 2 +- ios/Gemfile | 3 - ios/Gemfile.lock | 206 ------------------------ ios/MetaMask.xcodeproj/project.pbxproj | 4 +- ios/MetaMask/IosExportOpitions.plist | 17 ++ ios/fastlane/.ruby-version | 1 - ios/fastlane/Appfile | 7 - ios/fastlane/Fastfile | 64 -------- ios/fastlane/Matchfile | 12 -- ios/fastlane/README.md | 34 ---- package.json | 7 +- scripts/build.sh | 28 ++-- scripts/bump-version.sh | 9 +- scripts/metamask-bot-build-announce.js | 81 ---------- yarn.lock | 55 ++++++- 19 files changed, 148 insertions(+), 684 deletions(-) delete mode 100644 .circleci/config.yml delete mode 100644 ios/Gemfile delete mode 100644 ios/Gemfile.lock create mode 100644 ios/MetaMask/IosExportOpitions.plist delete mode 100644 ios/fastlane/.ruby-version delete mode 100644 ios/fastlane/Appfile delete mode 100644 ios/fastlane/Fastfile delete mode 100644 ios/fastlane/Matchfile delete mode 100644 ios/fastlane/README.md delete mode 100755 scripts/metamask-bot-build-announce.js diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 275bf01c5dc..00000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,209 +0,0 @@ -version: 2.1 -aliases: - - &restore-node-cache - keys: - - v1.1.0-node-{{ .Branch }}-{{ checksum "package.json" }} - - v1.1.0-node-{{ .Branch }} - - &save-node-cache - key: v1.1.0-node-{{ .Branch }}-{{ checksum "package.json" }} - paths: - - node_modules - - - &install-node-dependencies - | - rm -rf node_modules/websocket/.git && yarn install --network-timeout 300000 --frozen-lockfile --network-concurrency 1 - -defaults: &defaults - working_directory: ~/MetaMask - -jobs: - prep-deps: - <<: *defaults - docker: - - image: circleci/node:14 - steps: - - checkout - - run: - command: *install-node-dependencies - no_output_timeout: "15m" - - persist_to_workspace: - root: . - paths: - - node_modules - prep-node-deps: - <<: *defaults - docker: - - image: circleci/node:14 - steps: - - checkout - - restore_cache: *restore-node-cache - - run: - command: *install-node-dependencies - no_output_timeout: "15m" - - persist_to_workspace: - root: . - paths: - - node_modules - - save_cache: *save-node-cache - - lint: - <<: *defaults - docker: - - image: circleci/node:14 - steps: - - checkout - - attach_workspace: - at: . - - run: yarn lint - - test-unit: - <<: *defaults - parallelism: 3 - docker: - - image: circleci/node:14 - steps: - - checkout - - attach_workspace: - at: . - - run: yarn test:unit -- -w 3 - # - persist_to_workspace: - # root: . - # paths: - # - coverage - - test-deps: - <<: *defaults - docker: - - image: circleci/node:14 - steps: - - checkout - - attach_workspace: - at: . - - run: - name: yarn audit - command: ./scripts/yarn-audit.sh - - test-e2e-ios: - <<: *defaults - macos: - xcode: 12.5.0 - steps: - - checkout - - attach_workspace: - at: . - - run: - name: Load dependencies - command: - | - brew update - brew install watchman - brew tap wix/brew - brew install --HEAD applesimutils - yarn global add detox-cli - - run: echo $IOS_ENV | tr "|" "\n" > .ios.env - - run: detox clean-framework-cache && detox build-framework-cache - - run: detox build --configuration ios.sim.release && detox test --configuration ios.sim.release --cleanup --workers 2 - upload-coverage: - <<: *defaults - docker: - - image: circleci/node:14 - steps: - - checkout - - attach_workspace: - at: . - - run: yarn install codecov - - run: ./node_modules/bin/codecov - - all-tests-pass: - <<: *defaults - docker: - - image: circleci/node:14 - steps: - - run: - name: All Tests Passed - command: echo 'weew - everything passed!' - publish-pre-release-android: - working_directory: ~/MetaMask - environment: - JAVA_OPTS: "-Xms512m -Xmx1024m" - _JAVA_OPTIONS: "-XX:+UnlockExperimentalVMOptions -XX:+UseContainerSupport" - GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"' - docker: - - image: circleci/android:api-29-node - resource_class: large - steps: - - checkout - - attach_workspace: - at: . - - run: - name: build:accept-android-licenses - command: sdkmanager --licenses - - run: - name: build:pre-release - command: | - jq 'del(.engines)' package.json > new.json && mv new.json package.json - node -v - METAMASK_ENVIRONMENT='production' yarn build:android:pre-release:bundle - - store_artifacts: - path: android/app/build/outputs/bundle/release - destination: bundle - - store_artifacts: - path: android/app/build/outputs/apk/release - destination: builds - - store_artifacts: - path: sourcemaps/android - destination: sourcemaps-android - - run: - name: Announcing pre-release - command: yarn build:announce - publish-pre-release-ios: - macos: - xcode: 12.5.0 - working_directory: ~/MetaMask - environment: - FL_OUTPUT_DIR: output - shell: /bin/bash --login -o pipefail - steps: - - checkout - - attach_workspace: - at: . - - run: - name: Install Sentry CLI - command: curl -sL https://sentry.io/get-cli/ | bash - - run: - name: Install Bundler - command: | - sudo gem install bundler:1.17.1 - sudo gem install faraday:1.3.0 - - run: - name: Install CocoaPods - command: | - sudo gem install cocoapods - cd ios && pod install && cd .. - - run: - name: pre-release - command: | - jq 'del(.engines)' package.json > new.json && mv new.json package.json - node -v - METAMASK_ENVIRONMENT='production' yarn build:ios:pre-release - - store_artifacts: - path: sourcemaps/ios - destination: sourcemaps-ios - - store_artifacts: - path: ios/output/gym - destination: output -workflows: - full_test: - jobs: - - prep-deps: - filters: - branches: - only: - - main - - develop - - publish-pre-release-ios: - requires: - - prep-deps - - publish-pre-release-android: - requires: - - prep-deps diff --git a/android/app/build.gradle b/android/app/build.gradle index dbbd4077b75..31f6cd53fec 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -189,12 +189,12 @@ android { } signingConfigs { - def pass = getPassword("mm","mm-upload-key") + def pass = "" release { storeFile file('../keystores/release.keystore') - storePassword pass - keyAlias 'key0' - keyPassword pass + storePassword System.getenv("BITRISEIO_ANDROID_KEYSTORE_PASSWORD") + keyAlias System.getenv("BITRISEIO_ANDROID_KEYSTORE_ALIAS") + keyPassword System.getenv("BITRISEIO_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD") } debug { storeFile file('debug.keystore') diff --git a/android/build.gradle b/android/build.gradle index dd31f19825a..92d0d848e7c 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -5,8 +5,8 @@ buildscript { ext { buildToolsVersion = "29.0.2" minSdkVersion = 19 - compileSdkVersion = 29 - targetSdkVersion = 29 + compileSdkVersion = 30 + targetSdkVersion = 30 kotlin_version = "1.3.50" kotlinVersion = "$kotlin_version" } diff --git a/bitrise.yml b/bitrise.yml index 942f763320d..334d0eb6f86 100644 --- a/bitrise.yml +++ b/bitrise.yml @@ -3,10 +3,10 @@ format_version: '8' default_step_lib_source: 'https://github.com/bitrise-io/bitrise-steplib.git' project_type: react-native trigger_map: - # - push_branch: 'develop' - # workflow: start_release_builds - # - push_branch: 'main' - # workflow: start_release_builds + - push_branch: 'develop' + workflow: start_release_builds + - push_branch: 'main' + workflow: start_release_builds - pull_request_source_branch: '*' workflow: ci_test workflows: @@ -20,7 +20,7 @@ workflows: before_run: - setup steps: - # - cache-pull@2: {} + - cache-pull@2: {} - nvm@1: inputs: - node_version: '14' @@ -40,7 +40,7 @@ workflows: - cache_local_deps: 'yes' - command: lint is_always_run: true - # - cache-push@2: {} + - cache-push@2: {} code_setup: before_run: - setup @@ -85,18 +85,11 @@ workflows: # E2E Steps e2e_setup: steps: - - script@1: - inputs: - - content: |- - #!/usr/bin/env bash - curl -sL https://sentry.io/get-cli/ - title: Install Test Dependencies (Sentry) - is_always_run: false - - yarn@0: + - yarn@: inputs: - cache_local_deps: 'yes' - command: global add detox-cli - title: Install Detox CLI + title: Detox - Install CLI android_e2e_test: before_run: - code_setup @@ -110,6 +103,10 @@ workflows: - api_level: '29' - profile: pixel - wait-for-android-emulator@1: {} + - file-downloader@1: + inputs: + - source: $BITRISEIO_ANDROID_KEYSTORE_URL + - destination: android/keystores/release.keystore - yarn@0: inputs: - cache_local_deps: 'yes' @@ -118,9 +115,14 @@ workflows: is_always_run: false ios_e2e_test: before_run: - - code_setup_cache + - code_setup - e2e_setup steps: + - certificate-and-profile-installer@1: {} + - set-xcode-build-number@1: + inputs: + - build_short_version_string: $VERSION_NAME + - plist_path: $PROJECT_LOCATION_IOS/MetaMask/Info.plist - script: inputs: - content: |- @@ -131,11 +133,14 @@ workflows: title: Set Env Path for caching deps - cocoapods-install@2: is_always_run: false - - yarn@0: + - script@1: inputs: - - cache_local_deps: 'yes' - - command: test:e2e:ios - title: E2E Tests on iOS + - content: |- + #!/usr/bin/env bash + jq 'del(.engines)' package.json > new.json && mv new.json package.json + node -v + METAMASK_ENVIRONMENT='production' yarn test:e2e:ios + title: Detox Build & Test is_always_run: false start_e2e_tests: steps: @@ -177,10 +182,10 @@ workflows: - deploy_path: $BITRISE_DEPLOY_DIR/app-release.apk title: Bitrise Deploy APK - yarn@0: - inputs: - - command: build:announce - title: Accouncing pre-release - is_always_run: false + inputs: + - command: build:announce + title: Accouncing pre-release + is_always_run: false android_test_release_step: before_run: - code_setup @@ -188,6 +193,7 @@ workflows: - change-android-versioncode-and-versionname@1: inputs: - new_version_name: $VERSION_NAME + - new_version_code: $VERSION_NUMBER - build_gradle_path: $PROJECT_LOCATION_ANDROID/app/build.gradle - file-downloader@1: inputs: @@ -222,11 +228,11 @@ workflows: - deploy_path: sourcemaps/android/index.js.map title: Bitrise Deploy Sourcemaps - google-play-deploy@3: - inputs: - - app_path: $PROJECT_LOCATION/app/build/outputs/bundle/release/app-release.aab - - track: internal - - service_account_json_key_path: $BITRISEIO_BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL_URL - - package_name: $MM_ANDROID_PACKAGE_NAME + inputs: + - app_path: $PROJECT_LOCATION/app/build/outputs/bundle/release/app-release.aab + - track: internal + - service_account_json_key_path: $BITRISEIO_BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL_URL + - package_name: $MM_ANDROID_PACKAGE_NAME envs: - opts: is_expand: false @@ -239,14 +245,8 @@ workflows: - set-xcode-build-number@1: inputs: - build_short_version_string: $VERSION_NAME + - build_version: $VERSION_NUMBER - plist_path: $PROJECT_LOCATION_IOS/MetaMask/Info.plist - - script@1: - inputs: - - content: |- - #!/usr/bin/env bash - curl -sL https://sentry.io/get-cli/ | bash - title: Install Sentry CLI - is_always_run: false - cocoapods-install@2: {} - script@1: inputs: @@ -270,8 +270,8 @@ workflows: - deploy_path: sourcemaps/ios/index.js.map title: Deploy Source Map - deploy-to-itunesconnect-application-loader@1: - inputs: - - ipa_path: ios/build/output/MetaMask.ipa + inputs: + - ipa_path: ios/build/output/MetaMask.ipa app: envs: - opts: @@ -300,7 +300,10 @@ app: PROJECT_LOCATION_IOS: ios - opts: is_expand: false - VERSION_NAME: 2.4.0 + VERSION_NAME: 2.6.0 + - opts: + is_expand: false + VERSION_NUMBER: 759 - opts: is_expand: false ANDROID_APK_LINK: '' diff --git a/e2e/init.js b/e2e/init.js index f42f0d2c19b..9aac1d34955 100644 --- a/e2e/init.js +++ b/e2e/init.js @@ -3,7 +3,7 @@ const config = require('../package.json').detox; // eslint-disable-line import detox from 'detox'; import adapter from 'detox/runners/jest/adapter'; -jest.setTimeout(60000); +jest.setTimeout(200000); jasmine.getEnv().addReporter(adapter); beforeAll(async () => { diff --git a/ios/Gemfile b/ios/Gemfile deleted file mode 100644 index 7a118b49be7..00000000000 --- a/ios/Gemfile +++ /dev/null @@ -1,3 +0,0 @@ -source "https://rubygems.org" - -gem "fastlane" diff --git a/ios/Gemfile.lock b/ios/Gemfile.lock deleted file mode 100644 index 7ada981a97f..00000000000 --- a/ios/Gemfile.lock +++ /dev/null @@ -1,206 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.3) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - artifactory (3.0.15) - atomos (0.1.3) - aws-eventstream (1.1.1) - aws-partitions (1.446.0) - aws-sdk-core (3.114.0) - aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.239.0) - aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-kms (1.43.0) - aws-sdk-core (~> 3, >= 3.112.0) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.93.1) - aws-sdk-core (~> 3, >= 3.112.0) - aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.1) - aws-sigv4 (1.2.3) - aws-eventstream (~> 1, >= 1.0.2) - babosa (1.0.4) - claide (1.0.3) - colored (1.2) - colored2 (3.1.2) - commander-fastlane (4.4.6) - highline (~> 1.7.2) - declarative (0.0.20) - digest-crc (0.6.3) - rake (>= 12.0.0, < 14.0.0) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) - dotenv (2.7.6) - emoji_regex (3.2.2) - excon (0.80.1) - faraday (1.4.1) - faraday-excon (~> 1.1) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.1) - multipart-post (>= 1.2, < 3) - ruby2_keywords (>= 0.0.4) - faraday-cookie_jar (0.0.7) - faraday (>= 0.8.0) - http-cookie (~> 1.0.0) - faraday-excon (1.1.0) - faraday-net_http (1.0.1) - faraday-net_http_persistent (1.1.0) - faraday_middleware (1.0.0) - faraday (~> 1.0) - fastimage (2.2.3) - fastlane (2.180.1) - CFPropertyList (>= 2.3, < 4.0.0) - addressable (>= 2.3, < 3.0.0) - artifactory (~> 3.0) - aws-sdk-s3 (~> 1.0) - babosa (>= 1.0.3, < 2.0.0) - bundler (>= 1.12.0, < 3.0.0) - colored - commander-fastlane (>= 4.4.6, < 5.0.0) - dotenv (>= 2.1.1, < 3.0.0) - emoji_regex (>= 0.1, < 4.0) - excon (>= 0.71.0, < 1.0.0) - faraday (~> 1.0) - faraday-cookie_jar (~> 0.0.6) - faraday_middleware (~> 1.0) - fastimage (>= 2.1.0, < 3.0.0) - gh_inspector (>= 1.1.2, < 2.0.0) - google-api-client (>= 0.37.0, < 0.39.0) - google-cloud-storage (>= 1.15.0, < 2.0.0) - highline (>= 1.7.2, < 2.0.0) - json (< 3.0.0) - jwt (>= 2.1.0, < 3) - mini_magick (>= 4.9.4, < 5.0.0) - multipart-post (~> 2.0.0) - naturally (~> 2.2) - plist (>= 3.1.0, < 4.0.0) - rubyzip (>= 2.0.0, < 3.0.0) - security (= 0.1.3) - simctl (~> 1.6.3) - slack-notifier (>= 2.0.0, < 3.0.0) - terminal-notifier (>= 2.0.0, < 3.0.0) - terminal-table (>= 1.4.5, < 2.0.0) - tty-screen (>= 0.6.3, < 1.0.0) - tty-spinner (>= 0.8.0, < 1.0.0) - word_wrap (~> 1.0.0) - xcodeproj (>= 1.13.0, < 2.0.0) - xcpretty (~> 0.3.0) - xcpretty-travis-formatter (>= 0.0.3) - gh_inspector (1.1.3) - google-api-client (0.38.0) - addressable (~> 2.5, >= 2.5.1) - googleauth (~> 0.9) - httpclient (>= 2.8.1, < 3.0) - mini_mime (~> 1.0) - representable (~> 3.0) - retriable (>= 2.0, < 4.0) - signet (~> 0.12) - google-apis-core (0.3.0) - addressable (~> 2.5, >= 2.5.1) - googleauth (~> 0.14) - httpclient (>= 2.8.1, < 3.0) - mini_mime (~> 1.0) - representable (~> 3.0) - retriable (>= 2.0, < 4.0) - rexml - signet (~> 0.14) - webrick - google-apis-iamcredentials_v1 (0.3.0) - google-apis-core (~> 0.1) - google-apis-storage_v1 (0.3.0) - google-apis-core (~> 0.1) - google-cloud-core (1.6.0) - google-cloud-env (~> 1.0) - google-cloud-errors (~> 1.0) - google-cloud-env (1.5.0) - faraday (>= 0.17.3, < 2.0) - google-cloud-errors (1.1.0) - google-cloud-storage (1.31.0) - addressable (~> 2.5) - digest-crc (~> 0.4) - google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.1) - google-cloud-core (~> 1.2) - googleauth (~> 0.9) - mini_mime (~> 1.0) - googleauth (0.16.1) - faraday (>= 0.17.3, < 2.0) - jwt (>= 1.4, < 3.0) - memoist (~> 0.16) - multi_json (~> 1.11) - os (>= 0.9, < 2.0) - signet (~> 0.14) - highline (1.7.10) - http-cookie (1.0.3) - domain_name (~> 0.5) - httpclient (2.8.3) - jmespath (1.4.0) - json (2.5.1) - jwt (2.2.2) - memoist (0.16.2) - mini_magick (4.11.0) - mini_mime (1.1.0) - multi_json (1.15.0) - multipart-post (2.0.0) - nanaimo (0.3.0) - naturally (2.2.1) - os (1.1.1) - plist (3.6.0) - public_suffix (4.0.6) - rake (13.0.3) - representable (3.1.1) - declarative (< 0.1.0) - trailblazer-option (>= 0.1.1, < 0.2.0) - uber (< 0.2.0) - retriable (3.1.2) - rexml (3.2.5) - rouge (2.0.7) - ruby2_keywords (0.0.4) - rubyzip (2.3.0) - security (0.1.3) - signet (0.15.0) - addressable (~> 2.3) - faraday (>= 0.17.3, < 2.0) - jwt (>= 1.5, < 3.0) - multi_json (~> 1.10) - simctl (1.6.8) - CFPropertyList - naturally - slack-notifier (2.3.2) - terminal-notifier (2.0.0) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - trailblazer-option (0.1.1) - tty-cursor (0.7.1) - tty-screen (0.8.1) - tty-spinner (0.9.3) - tty-cursor (~> 0.7) - uber (0.1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.7.7) - unicode-display_width (1.7.0) - webrick (1.7.0) - word_wrap (1.0.0) - xcodeproj (1.19.0) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.3.0) - xcpretty (0.3.0) - rouge (~> 2.0.7) - xcpretty-travis-formatter (1.0.1) - xcpretty (~> 0.2, >= 0.0.7) - -PLATFORMS - ruby - -DEPENDENCIES - fastlane - -BUNDLED WITH - 1.17.3 diff --git a/ios/MetaMask.xcodeproj/project.pbxproj b/ios/MetaMask.xcodeproj/project.pbxproj index 16ba39b0b6f..c0231575296 100644 --- a/ios/MetaMask.xcodeproj/project.pbxproj +++ b/ios/MetaMask.xcodeproj/project.pbxproj @@ -683,7 +683,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "export NODE_BINARY=$(which node)\nif [ ! -e \"${SENTRY_PROPERTIES}\" ]; then\n export SENTRY_PROPERTIES=../sentry.properties\nfi\n\n/usr/local/bin/sentry-cli react-native xcode \\\n ../node_modules/react-native/scripts/react-native-xcode.sh\n"; + shellScript = "export NODE_BINARY=$(which node)\nif [ ! -e \"${SENTRY_PROPERTIES}\" ]; then\n export SENTRY_PROPERTIES=../sentry.properties\nfi\n\n../node_modules/@sentry/cli/bin/sentry-cli react-native xcode \\\n ../node_modules/react-native/scripts/react-native-xcode.sh\n"; }; 15FDD86321B76696006B7C35 /* Override xcconfig files */ = { isa = PBXShellScriptBuildPhase; @@ -957,7 +957,7 @@ ); PRODUCT_BUNDLE_IDENTIFIER = "io.metamask.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = MetaMask; - PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.metamask.MetaMask"; + PROVISIONING_PROFILE_SPECIFIER = "Bitrise AppStore io.metamask.MetaMask"; SWIFT_OBJC_BRIDGING_HEADER = "MetaMask-Bridging-Header.h"; SWIFT_VERSION = 5.0; VERSIONING_SYSTEM = "apple-generic"; diff --git a/ios/MetaMask/IosExportOpitions.plist b/ios/MetaMask/IosExportOpitions.plist new file mode 100644 index 00000000000..0b7329ca455 --- /dev/null +++ b/ios/MetaMask/IosExportOpitions.plist @@ -0,0 +1,17 @@ + + + + + provisioningProfiles + + io.metamask.MetaMask + Bitrise AppStore io.metamask.MetaMask + + uploadSymbols + + teamID + 48XVW22RCG + method + app-store + + diff --git a/ios/fastlane/.ruby-version b/ios/fastlane/.ruby-version deleted file mode 100644 index 860487ca19c..00000000000 --- a/ios/fastlane/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -2.7.1 diff --git a/ios/fastlane/Appfile b/ios/fastlane/Appfile deleted file mode 100644 index 18f605e982c..00000000000 --- a/ios/fastlane/Appfile +++ /dev/null @@ -1,7 +0,0 @@ - -# For more information about the Appfile, see: -# https://docs.fastlane.tools/advanced/#appfile - -app_identifier("io.metamask.MetaMask") # The bundle identifier of your app -apple_id("1438144202") # Your Apple email address - diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile deleted file mode 100644 index dc3216bec8a..00000000000 --- a/ios/fastlane/Fastfile +++ /dev/null @@ -1,64 +0,0 @@ -# This file contains the fastlane.tools configuration -# You can find the documentation at https://docs.fastlane.tools -# -# For a list of all available actions, check out -# -# https://docs.fastlane.tools/actions -# -# For a list of all available plugins, check out -# -# https://docs.fastlane.tools/plugins/available-plugins -# - -# Uncomment the line if you want fastlane to automatically update itself -# update_fastlane - -default_platform(:ios) - -ENV["DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS"] = "-t DAV" - -platform :ios do - - desc "Submit a new Beta Build to Testflight" - lane :beta do - # Ensure that your git status is not dirty - ensure_git_status_clean - - match(type: "appstore", force: true, readonly: false) - gym( - clean: true, - scheme: "MetaMask", - configuration: "Release", - export_method: "app-store", - output_name: "MetaMask" - ) - upload_to_testflight( - skip_submission: true, - skip_waiting_for_build_processing: true, - apple_id: "1438144202", - username: "mobile.admin@metamask.io" - ) - - end - - desc "Pre-release via CircleCI" - lane :prerelease do - setup_circle_ci - - match(type: "appstore", force: true, readonly: false) - gym( - clean: true, - scheme: "MetaMask", - configuration: "Release", - export_method: "app-store", - output_name: "MetaMask" - ) - upload_to_testflight( - skip_submission: true, - skip_waiting_for_build_processing: true, - apple_id: "1438144202", - username: "mobile.admin@metamask.io" - ) - - end -end diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile deleted file mode 100644 index aea73bddbc3..00000000000 --- a/ios/fastlane/Matchfile +++ /dev/null @@ -1,12 +0,0 @@ -git_url("https://github.com/MetaMask/ios-app-certs") -type("development") # The default type, can be: appstore, adhoc, enterprise or development - -# For all available options run `fastlane match --help` - -app_identifier("io.metamask.MetaMask") # The bundle identifier of your app -shallow_clone true -force_for_new_devices true -readonly false -force true -username "mobile.admin@metamask.io" -team_id "48XVW22RCG" diff --git a/ios/fastlane/README.md b/ios/fastlane/README.md deleted file mode 100644 index 7d9e0dee949..00000000000 --- a/ios/fastlane/README.md +++ /dev/null @@ -1,34 +0,0 @@ -fastlane documentation -================ -# Installation - -Make sure you have the latest version of the Xcode command line tools installed: - -``` -xcode-select --install -``` - -Install _fastlane_ using -``` -[sudo] gem install fastlane -NV -``` -or alternatively using `brew cask install fastlane` - -# Available Actions -## iOS -### ios beta -``` -fastlane ios beta -``` -Submit a new Beta Build to Testflight -### ios prerelease -``` -fastlane ios prerelease -``` -Pre-release via CircleCI - ----- - -This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run. -More information about fastlane can be found on [fastlane.tools](https://fastlane.tools). -The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools). diff --git a/package.json b/package.json index b98cf05fc07..77d00a49db8 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "start:ios:device": "./scripts/build.sh ios debug --device", "start:android": "./scripts/build.sh android debug", "start:android:e2e": "./scripts/build.sh android debugE2E", - "build:announce": "node ./scripts/metamask-bot-build-announce.js", + "build:announce": "node ./scripts/metamask-bot-build-announce-bitrise.js", "build:android:release": "./scripts/build.sh android release", "build:android:release:e2e": "./scripts/build.sh android releaseE2E", "build:android:checksum": "./scripts/checksum.sh", @@ -36,8 +36,8 @@ "test:unit": "jest ./app/", "test:unit:update": "time jest -u ./app/", "test:e2e": "yarn test:e2e:ios && yarn test:e2e:android", - "test:e2e:ios": "detox build -c ios.sim.release -l verbose log && detox test -c ios.sim.release -l verbose log", - "test:e2e:android": "detox build -c android.emu.debug -l verbose log && detox test -c android.emu.debug -l verbose log", + "test:e2e:ios": "detox build -c ios.sim.release && detox test -c ios.sim.release", + "test:e2e:android": "detox build -c android.emu.release && detox test -c android.emu.release", "postinstall": "./scripts/postinstall.sh", "sourcemaps:android": "node_modules/.bin/react-native bundle --platform android --entry-file index.js --dev false --reset-cache --bundle-output /tmp/bundle.android.js --assets-dest /tmp/ --sourcemap-output sourcemaps/android/index.js.map", "sourcemaps:ios": "node_modules/.bin/react-native bundle --platform ios --entry-file index.js --dev false --reset-cache --bundle-output /tmp/bundle.ios.js --assets-dest /tmp/ --sourcemap-output sourcemaps/ios/index.js.map", @@ -108,6 +108,7 @@ "base-64": "1.0.0", "bignumber.js": "8.1.1", "buffer": "5.2.1", + "codecov": "^3.8.1", "compare-versions": "^3.6.0", "content-hash": "2.5.2", "eth-ens-namehash": "2.0.8", diff --git a/scripts/build.sh b/scripts/build.sh index 5da92e1813a..976ad832b51 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -154,7 +154,11 @@ buildAndroidRun(){ buildAndroidRunE2E(){ prebuild_android - source .android.env && cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd .. + if [ -e $ANDROID_ENV_FILE ] + then + source $ANDROID_ENV_FILE + fi + cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd .. } buildIosSimulator(){ @@ -164,7 +168,7 @@ buildIosSimulator(){ buildIosSimulatorE2E(){ prebuild_ios - xcodebuild -workspace ios/MetaMask.xcworkspace -scheme MetaMask -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build + cd ios && xcodebuild -workspace MetaMask.xcworkspace -scheme MetaMask -configuration Debug -sdk iphonesimulator -derivedDataPath build } buildIosDevice(){ @@ -185,7 +189,8 @@ buildIosRelease(){ echo "$IOS_ENV" | tr "|" "\n" > $IOS_ENV_FILE echo "Build started..." brew install watchman - cd ios && bundle install && bundle exec fastlane prerelease + cd ios + generateArchivePackages # Generate sourcemaps yarn sourcemaps:ios else @@ -205,14 +210,15 @@ buildIosReleaseE2E(){ echo "$IOS_ENV" | tr "|" "\n" > $IOS_ENV_FILE echo "Build started..." brew install watchman - cd ios && bundle install && bundle exec fastlane prerelease + cd ios + generateArchivePackages # Generate sourcemaps yarn sourcemaps:ios else if [ ! -f "ios/release.xcconfig" ] ; then echo "$IOS_ENV" | tr "|" "\n" > ios/release.xcconfig fi - xcodebuild -workspace ios/MetaMask.xcworkspace -scheme MetaMask -configuration Release -sdk iphonesimulator -derivedDataPath ios/build + cd ios && xcodebuild -workspace MetaMask.xcworkspace -scheme MetaMask -configuration Release -sdk iphonesimulator -derivedDataPath build fi } @@ -222,13 +228,6 @@ buildAndroidRelease(){ fi prebuild_android - if [ "$PRE_RELEASE" = true ] ; then - TARGET="android/app/build.gradle" - sed -i'' -e 's/getPassword("mm","mm-upload-key")/"ANDROID_KEY"/' $TARGET; - sed -i'' -e "s/ANDROID_KEY/$ANDROID_KEY/" $TARGET; - echo "$ANDROID_KEYSTORE" | base64 --decode > android/keystores/release.keystore - fi - # GENERATE APK cd android && ./gradlew assembleRelease --no-daemon --max-workers 2 @@ -251,7 +250,7 @@ buildAndroidRelease(){ buildAndroidReleaseE2E(){ prebuild_android - source .android.env && cd android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release && cd .. + cd android && ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release } buildAndroid() { @@ -324,6 +323,9 @@ if [ "$MODE" == "release" ] || [ "$MODE" == "releaseE2E" ] ; then printError "Missing METAMASK_ENVIRONMENT; set to 'production' for a production release, 'prerelease' for a pre-release, or 'local' otherwise" exit 1 fi +else + checkAuthToken 'sentry.debug.properties' + export SENTRY_PROPERTIES="${REPO_ROOT_DIR}/sentry.debug.properties" fi if [ "$PLATFORM" == "ios" ]; then diff --git a/scripts/bump-version.sh b/scripts/bump-version.sh index b7332192735..fe7f92f867e 100755 --- a/scripts/bump-version.sh +++ b/scripts/bump-version.sh @@ -5,6 +5,7 @@ set -u set -o pipefail versionName="$(awk '/VERSION_NAME: /{print $2}' bitrise.yml)" +versionNumber="$(awk '/VERSION_NUMBER: /{print $2}' bitrise.yml)" MAJOR=$(awk -F. '{print $1}' <<< "$versionName") MINOR=$(awk -F. '{print $2}' <<< "$versionName") @@ -25,12 +26,18 @@ if [[ $1 == *"release/"* ]] ; then patch=$((PATCH + 1)); version=$MAJOR'.'$MINOR'.'$patch fi + + let "versionNumber+=1" echo "Bumping versionName to" echo "$version" + echo "Bumping versionNumber to" + echo "$versionNumber" + + sed -i -e 's/VERSION_NUMBER: [0-9]\{1,\}/VERSION_NUMBER: '"$versionNumber"'/' bitrise.yml sed -i -e 's/VERSION_NAME: [0-9]\{1,\}.[0-9]\{1,\}.[0-9]\{1,\}/VERSION_NAME: '"$version"'/' bitrise.yml sed -i -e 's/"version": "[0-9]\{1,\}.[0-9]\{1,\}.[0-9]\{1,\}"/"version": "'"$version"'"/' package.json - echo "Bumping versionName finished" + echo "Bumping versionName & versionNumber finished" fi diff --git a/scripts/metamask-bot-build-announce.js b/scripts/metamask-bot-build-announce.js deleted file mode 100755 index c63d5522b6c..00000000000 --- a/scripts/metamask-bot-build-announce.js +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env node -const request = require('request-promise'); -const github = require('octonode'); - -const GITHUB_TOKEN = process.env.GITHUB_TOKEN; -const CIRCLE_BUILD_NUM = process.env.CIRCLE_BUILD_NUM; -const CIRCLE_PROJECT_REPONAME = process.env.CIRCLE_PROJECT_REPONAME; -const CIRCLE_PROJECT_USERNAME = process.env.CIRCLE_PROJECT_USERNAME; -const CIRCLE_SHA1 = process.env.CIRCLE_SHA1; -const SLACK_TOKEN = process.env.SLACK_TOKEN; -const SLACK_SECRET = process.env.SLACK_SECRET; -const SLACK_ROOM = process.env.SLACK_ROOM; - -start().catch(console.error); - -async function getPRInfo () { - - const client = github.client(GITHUB_TOKEN); - const REPO = client.repo(`${CIRCLE_PROJECT_USERNAME}/${CIRCLE_PROJECT_REPONAME}`); - - const response = await REPO.prsAsync({state: 'closed'}); - const PR = response[0].find( obj => obj.merge_commit_sha === CIRCLE_SHA1); - if(PR){ - return { title: PR.title, number: PR.number, url: PR.html_url }; - } -} - -async function start() { - - const PR_INFO = await getPRInfo(); - - console.log('PR_URL', PR_INFO.url); - console.log('CIRCLE_SHA1', CIRCLE_SHA1); - console.log('CIRCLE_BUILD_NUM', CIRCLE_BUILD_NUM); - - - const APK_BUILD_LINK_BASE = `https://${CIRCLE_BUILD_NUM}-141427485-gh.circle-artifacts.com/0`; - - const APK_LINK = `${APK_BUILD_LINK_BASE}/builds/app-release.apk`; - const AAP_LINK = `${APK_BUILD_LINK_BASE}/bundle/app-release.aab`; - - - const content = { - "text": `NEW BUILDS AVAILABLE! Including <${PR_INFO.url}|#${PR_INFO.number} - ${PR_INFO.title}>`, - "attachments": [ - { - "title_link": "itms-beta://beta.itunes.apple.com/v1/app/1438144202", - "title": "iOS", - "text": "Install via TestFlight", - "thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Apple-Apple.svg/488px-Apple-Apple.svg.png" - }, - { - "title_link": APK_LINK, - "title" : "Android", - "text": "Download APK", - "thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Android_robot.svg/511px-Android_robot.svg.png" - }, - { - "title_link": AAP_LINK, - "title" : "Android App Bundle", - "text": "Download AAP", - "thumb_url": "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Android_robot.svg/511px-Android_robot.svg.png" - } - ] - }; - - const JSON_PAYLOAD = JSON.stringify(content); - const SLACK_API_URI = `https://hooks.slack.com/services/${SLACK_TOKEN}/${SLACK_SECRET}/${SLACK_ROOM}` - - - await request({ - method: 'POST', - uri: SLACK_API_URI, - body: JSON_PAYLOAD, - headers: { - 'Content-type': 'application/json', - } - }); -} - - diff --git a/yarn.lock b/yarn.lock index 578ddb73ab6..5823d6fc91b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2586,6 +2586,11 @@ argsarray@0.0.1: resolved "https://registry.yarnpkg.com/argsarray/-/argsarray-0.0.1.tgz#6e7207b4ecdb39b0af88303fa5ae22bda8df61cb" integrity sha1-bnIHtOzbObCviDA/pa4ivajfYcs= +argv@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" + integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas= + arr-diff@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a" @@ -3788,6 +3793,17 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +codecov@^3.8.1: + version "3.8.2" + resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.2.tgz#ab24f18783998c39e809ea210af899f8dbcc790e" + integrity sha512-6w/kt/xvmPsWMfDFPE/T054txA9RTgcJEw36PNa6MYX+YV29jCHCRFXwbQ3QZBTOgnex1J2WP8bo2AT8TWWz9g== + dependencies: + argv "0.0.2" + ignore-walk "3.0.3" + js-yaml "3.14.1" + teeny-request "7.0.1" + urlgrey "0.4.4" + collect-v8-coverage@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" @@ -7040,6 +7056,13 @@ ieee754@^1.1.13, ieee754@^1.1.4: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== +ignore-walk@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" + integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== + dependencies: + minimatch "^3.0.4" + ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -8194,7 +8217,7 @@ js-sha3@0.8.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.0, js-yaml@^3.13.1: +js-yaml@3.14.1, js-yaml@^3.13.0, js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -12301,6 +12324,13 @@ stream-buffers@~2.2.0: resolved "https://registry.yarnpkg.com/stream-buffers/-/stream-buffers-2.2.0.tgz#91d5f5130d1cef96dcfa7f726945188741d09ee4" integrity sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ= +stream-events@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" + integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== + dependencies: + stubs "^3.0.0" + strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" @@ -12491,6 +12521,11 @@ strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1 resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +stubs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" + integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls= + sudo-prompt@^9.0.0: version "9.2.1" resolved "https://registry.yarnpkg.com/sudo-prompt/-/sudo-prompt-9.2.1.tgz#77efb84309c9ca489527a4e749f287e6bdd52afd" @@ -12596,6 +12631,17 @@ tail@^2.0.0: resolved "https://registry.yarnpkg.com/tail/-/tail-2.2.3.tgz#3e6bf65963bb868913e4e3b770cc1584c9d8091c" integrity sha512-XbBmVsJZ636kncPew2Y+pOxOsb9GsNFZ1bcAGCDn23ME/JPJ+TImZYjnqBnMLdw+K11Hql5ZgiUQmRvDHaFc6w== +teeny-request@7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.0.1.tgz#bdd41fdffea5f8fbc0d29392cb47bec4f66b2b4c" + integrity sha512-sasJmQ37klOlplL4Ia/786M5YlOcoLGQyq2TE4WHSRupbAuDaQW0PfVxV4MtdBtRJ4ngzS+1qim8zP6Zp35qCw== + dependencies: + http-proxy-agent "^4.0.0" + https-proxy-agent "^5.0.0" + node-fetch "^2.6.1" + stream-events "^1.0.5" + uuid "^8.0.0" + telnet-client@1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/telnet-client/-/telnet-client-1.2.8.tgz#946c0dadc8daa3f19bb40a3e898cb870403a4ca4" @@ -13002,6 +13048,11 @@ url@0.11.0: punycode "1.3.2" querystring "0.2.0" +urlgrey@0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" + integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8= + use-subscription@^1.0.0: version "1.5.1" resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" @@ -13092,7 +13143,7 @@ uuid@^7.0.3: resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b" integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg== -uuid@^8.3.2: +uuid@^8.0.0, uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==