diff --git a/.circleci/config.yml b/.circleci/config.yml index 559add55dbd6..b7fc4a5b9bb7 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,6 +7,11 @@ aliases: - &environment TZ: /usr/share/zoneinfo/America/Los_Angeles + - &restore_yarn_cache + restore_cache: + name: Restore yarn cache + key: v2-node-{{ arch }}-{{ checksum "yarn.lock" }}-yarn + - &restore_node_modules restore_cache: name: Restore node_modules cache @@ -52,9 +57,7 @@ jobs: - run: name: Nodejs Version command: node --version - - restore_cache: - name: Restore yarn cache - key: v2-node-{{ arch }}-{{ checksum "yarn.lock" }}-yarn + - *restore_yarn_cache - run: name: Install Packages command: yarn --frozen-lockfile --cache-folder ~/.cache/yarn @@ -247,7 +250,7 @@ jobs: yarn_build: docker: *docker environment: *environment - parallelism: 20 + parallelism: 4 steps: - checkout - *restore_node_modules @@ -257,7 +260,7 @@ jobs: command: | ./scripts/circleci/add_build_info_json.sh ./scripts/circleci/update_package_versions.sh - yarn build + yarn build-for-devtools - run: echo "experimental" >> build/RELEASE_CHANNEL - persist_to_workspace: root: build @@ -273,11 +276,14 @@ jobs: build_devtools_and_process_artifacts: docker: *docker environment: *environment - parallelism: 20 steps: - checkout - attach_workspace: *attach_workspace + - *restore_yarn_cache - *restore_node_modules + - run: + name: Install Packages + command: yarn --frozen-lockfile --cache-folder ~/.cache/yarn - run: environment: RELEASE_CHANNEL: experimental @@ -285,6 +291,46 @@ jobs: - store_artifacts: path: ./build/devtools.tgz + build_devtools_scheduling_profiler: + docker: *docker + environment: *environment + steps: + - checkout + - attach_workspace: *attach_workspace + - *restore_yarn_cache + - *restore_node_modules + - run: + name: Install Packages + command: yarn --frozen-lockfile --cache-folder ~/.cache/yarn + - run: + name: Build and archive + command: | + mkdir -p build/devtools + cd packages/react-devtools-scheduling-profiler + yarn build + cd dist + tar -zcvf ../../../build/devtools-scheduling-profiler.tgz . + - store_artifacts: + path: ./build/devtools-scheduling-profiler.tgz + - persist_to_workspace: + root: packages/react-devtools-scheduling-profiler + paths: + - dist + + deploy_devtools_scheduling_profiler: + docker: *docker + environment: *environment + steps: + - checkout + - attach_workspace: + at: packages/react-devtools-scheduling-profiler + - *restore_node_modules + - run: + name: Deploy + command: | + cd packages/react-devtools-scheduling-profiler + yarn vercel deploy dist --prod --confirm --token $SCHEDULING_PROFILER_DEPLOY_VERCEL_TOKEN + # These jobs are named differently so we can distinguish the stable and # and experimental artifacts process_artifacts: *process_artifacts @@ -423,104 +469,109 @@ jobs: workflows: version: 2 - stable: - jobs: - - setup - - yarn_lint: - requires: - - setup - - yarn_flow: - requires: - - setup - - RELEASE_CHANNEL_stable_yarn_test: - requires: - - setup - - RELEASE_CHANNEL_stable_yarn_test_prod: - requires: - - setup - - RELEASE_CHANNEL_stable_yarn_test_persistent: - requires: - - setup - - RELEASE_CHANNEL_stable_yarn_test_www: - requires: - - setup - - RELEASE_CHANNEL_stable_yarn_test_www_variant: - requires: - - setup - - RELEASE_CHANNEL_stable_yarn_test_prod_www: - requires: - - setup - - RELEASE_CHANNEL_stable_yarn_test_prod_www_variant: - requires: - - setup - - RELEASE_CHANNEL_stable_yarn_build: - requires: - - setup - - process_artifacts: - requires: - - RELEASE_CHANNEL_stable_yarn_build - - sizebot_stable: - requires: - - RELEASE_CHANNEL_stable_yarn_build - - RELEASE_CHANNEL_stable_yarn_lint_build: - requires: - - RELEASE_CHANNEL_stable_yarn_build - - RELEASE_CHANNEL_stable_yarn_test_build: - requires: - - RELEASE_CHANNEL_stable_yarn_build - - RELEASE_CHANNEL_stable_yarn_test_build_prod: - requires: - - RELEASE_CHANNEL_stable_yarn_build - - RELEASE_CHANNEL_stable_yarn_test_dom_fixtures: - requires: - - RELEASE_CHANNEL_stable_yarn_build + # stable: + # jobs: + # - setup + # - yarn_lint: + # requires: + # - setup + # - yarn_flow: + # requires: + # - setup + # - RELEASE_CHANNEL_stable_yarn_test: + # requires: + # - setup + # - RELEASE_CHANNEL_stable_yarn_test_prod: + # requires: + # - setup + # - RELEASE_CHANNEL_stable_yarn_test_persistent: + # requires: + # - setup + # - RELEASE_CHANNEL_stable_yarn_test_www: + # requires: + # - setup + # - RELEASE_CHANNEL_stable_yarn_test_www_variant: + # requires: + # - setup + # - RELEASE_CHANNEL_stable_yarn_test_prod_www: + # requires: + # - setup + # - RELEASE_CHANNEL_stable_yarn_test_prod_www_variant: + # requires: + # - setup + # - RELEASE_CHANNEL_stable_yarn_build: + # requires: + # - setup + # - process_artifacts: + # requires: + # - RELEASE_CHANNEL_stable_yarn_build + # - sizebot_stable: + # requires: + # - RELEASE_CHANNEL_stable_yarn_build + # - RELEASE_CHANNEL_stable_yarn_lint_build: + # requires: + # - RELEASE_CHANNEL_stable_yarn_build + # - RELEASE_CHANNEL_stable_yarn_test_build: + # requires: + # - RELEASE_CHANNEL_stable_yarn_build + # - RELEASE_CHANNEL_stable_yarn_test_build_prod: + # requires: + # - RELEASE_CHANNEL_stable_yarn_build + # - RELEASE_CHANNEL_stable_yarn_test_dom_fixtures: + # requires: + # - RELEASE_CHANNEL_stable_yarn_build experimental: jobs: - setup - - yarn_test: - requires: - - setup - - yarn_test_prod: - requires: - - setup - - yarn_test_www: - requires: - - setup - - yarn_test_www_variant: - requires: - - setup - - yarn_test_prod_www: - requires: - - setup - - yarn_test_prod_www_variant: - requires: - - setup + # - yarn_test: + # requires: + # - setup + # - yarn_test_prod: + # requires: + # - setup + # - yarn_test_www: + # requires: + # - setup + # - yarn_test_www_variant: + # requires: + # - setup + # - yarn_test_prod_www: + # requires: + # - setup + # - yarn_test_prod_www_variant: + # requires: + # - setup - yarn_build: requires: - setup - - process_artifacts_experimental: - requires: - - yarn_build - - sizebot_experimental: - requires: - - yarn_build - - yarn_test_build: - requires: - - yarn_build - - yarn_test_build_prod: - requires: - - yarn_build - - yarn_lint_build: - requires: - - yarn_build - - yarn_test_build_devtools: - requires: - - yarn_build - # FIXME: Temporarily disabled to unblock master. + # - process_artifacts_experimental: + # requires: + # - yarn_build + # - sizebot_experimental: + # requires: + # - yarn_build + # - yarn_test_build: + # requires: + # - yarn_build + # - yarn_test_build_prod: + # requires: + # - yarn_build + # - yarn_lint_build: + # requires: + # - yarn_build + # - yarn_test_build_devtools: + # requires: + # - yarn_build # - build_devtools_and_process_artifacts: # requires: # - yarn_build + - build_devtools_scheduling_profiler: + requires: + - yarn_build + - deploy_devtools_scheduling_profiler: + requires: + - build_devtools_scheduling_profiler fuzz_tests: triggers: diff --git a/packages/react-devtools-scheduling-profiler/package.json b/packages/react-devtools-scheduling-profiler/package.json index ca2b39d40da8..705261279e30 100644 --- a/packages/react-devtools-scheduling-profiler/package.json +++ b/packages/react-devtools-scheduling-profiler/package.json @@ -26,6 +26,7 @@ "html-webpack-plugin": "^4.3.0", "style-loader": "^1.2.1", "url-loader": "^4.1.0", + "vercel": "^20.1.0", "webpack": "^4.44.1", "webpack-cli": "^3.3.12", "webpack-dev-server": "^3.11.0", diff --git a/packages/react-devtools-scheduling-profiler/vercel.json b/packages/react-devtools-scheduling-profiler/vercel.json new file mode 100644 index 000000000000..25f13ebe8852 --- /dev/null +++ b/packages/react-devtools-scheduling-profiler/vercel.json @@ -0,0 +1,3 @@ +{ + "name": "react-devtools-scheduling-profiler" +} diff --git a/packages/react-devtools-scheduling-profiler/webpack.config.js b/packages/react-devtools-scheduling-profiler/webpack.config.js index b69a5d1b411e..d9bed753e252 100644 --- a/packages/react-devtools-scheduling-profiler/webpack.config.js +++ b/packages/react-devtools-scheduling-profiler/webpack.config.js @@ -59,7 +59,7 @@ const config = { 'process.env.DEVTOOLS_VERSION': `"${DEVTOOLS_VERSION}"`, }), new HtmlWebpackPlugin({ - title: 'React Concurrent Mode Profiler', + title: 'Flappy Room Tool', }), shouldUseDevServer && new ReactRefreshWebpackPlugin(), ].filter(Boolean), diff --git a/yarn.lock b/yarn.lock index 2773784bd70c..f6501ea3d7a6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2360,6 +2360,35 @@ "@typescript-eslint/types" "4.1.0" eslint-visitor-keys "^2.0.0" +"@vercel/build-utils@2.5.1": + version "2.5.1" + resolved "https://registry.yarnpkg.com/@vercel/build-utils/-/build-utils-2.5.1.tgz#2f687c2d82464dd85e0ed8130bc01e5dac9b11a4" + integrity sha512-689ov8fGrgVnLwPbJUvgUKdSTseZiOMobR4XoZjmSmeF8+gaOpycsdGuVFzNtdFneUiQWO/k5AkY5diZj8fNgg== + +"@vercel/go@1.1.6": + version "1.1.6" + resolved "https://registry.yarnpkg.com/@vercel/go/-/go-1.1.6.tgz#45ac3a6bd98a15b8bf1028b8c141a51fd971ac15" + integrity sha512-swA2crS08fkPmw4UkR9yjmoL8FOCzuNHLFDqj8oM1V9ni610ibJ7Xk57jI8uyS7bTecQVh8VUxihb+SF0GT+aw== + +"@vercel/node@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@vercel/node/-/node-1.8.1.tgz#aa0a04f425638874d19be64f7905018ef6f9b1c5" + integrity sha512-vQsYMrulghMaHEKbqxJCQPfHrGEBmYmQMLYrx+m8kolKDq1LQDWFx2MRh4DyMnGfYSoYoW5PI2HP7NAfbEjzmg== + dependencies: + "@types/node" "*" + ts-node "8.9.1" + typescript "3.9.3" + +"@vercel/python@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@vercel/python/-/python-1.2.3.tgz#23ebb71c753fe1cc75fe186c89fc0af04c950191" + integrity sha512-DJRvL6bmt4m0xrkzSKUbP8mK57YSDdTBWoo0JYyXq/o2golQrv/wQTalbNchd4P8NhVL3mZuk/1JNYuv5u1rKQ== + +"@vercel/ruby@1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@vercel/ruby/-/ruby-1.2.4.tgz#60e0a91d7a1a730a7ecdbc6e095acb95f28f24be" + integrity sha512-g19vrrmJ4MTJCRB/bvx8DahIsml1iPn7wsdHf5k3QVN6lT0dlDILSBwpERC4hqzndimaApsmWOfjYtY9/L6+tQ== + "@webassemblyjs/ast@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" @@ -2952,6 +2981,11 @@ archiver@~2.1.0: tar-stream "^1.5.0" zip-stream "^1.2.0" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -4402,7 +4436,7 @@ configstore@^3.0.0: write-file-atomic "^2.0.0" xdg-basedir "^3.0.0" -configstore@^5.0.0: +configstore@^5.0.0, configstore@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== @@ -5108,6 +5142,11 @@ diff@4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -5559,6 +5598,11 @@ escalade@^3.0.2: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.2.tgz#6a580d70edb87880f22b4c91d0d56078df6962c4" integrity sha512-gPYAU37hYCUhW5euPeR+Y74F7BL+IBsV93j5cvGriSaD1aG6MGsqsV1yamRdrWrb2j3aiZvb0X+UBOWpx3JWtQ== +escape-goat@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" + integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -9293,6 +9337,11 @@ make-dir@^3.0.0: dependencies: semver "^6.0.0" +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + make-fetch-happen@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-7.1.0.tgz#22038954801048ac598c72e0f0c239e42d97fa2e" @@ -11163,6 +11212,13 @@ punycode@^2.1.0, punycode@^2.1.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== +pupa@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.0.1.tgz#dbdc9ff48ffbea4a26a069b6f9f7abb051008726" + integrity sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA== + dependencies: + escape-goat "^2.0.0" + qs@6.7.0: version "6.7.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" @@ -12499,7 +12555,7 @@ source-map-support@0.5.16: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@0.5.19, source-map-support@~0.5.12: +source-map-support@0.5.19, source-map-support@^0.5.17, source-map-support@~0.5.12: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -13343,6 +13399,17 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" +ts-node@8.9.1: + version "8.9.1" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.9.1.tgz#2f857f46c47e91dcd28a14e052482eb14cfd65a5" + integrity sha512-yrq6ODsxEFTLz0R3BX2myf0WBCSQh9A+py8PBo1dCzWIOcvisbyH6akNKqDHMgXePF2kir5mm5JXJTH3OUJYOQ== + dependencies: + arg "^4.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + tslib@^1.10.0: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" @@ -13446,6 +13513,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typescript@3.9.3: + version "3.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.3.tgz#d3ac8883a97c26139e42df5e93eeece33d610b8a" + integrity sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ== + typescript@^3.7.5: version "3.7.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae" @@ -13596,6 +13668,25 @@ update-notifier@4.0.0: semver-diff "^3.1.1" xdg-basedir "^4.0.0" +update-notifier@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.0.tgz#4866b98c3bc5b5473c020b1250583628f9a328f3" + integrity sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew== + dependencies: + boxen "^4.2.0" + chalk "^3.0.0" + configstore "^5.0.1" + has-yarn "^2.1.0" + import-lazy "^2.1.0" + is-ci "^2.0.0" + is-installed-globally "^0.3.1" + is-npm "^4.0.0" + is-yarn-global "^0.3.0" + latest-version "^5.0.0" + pupa "^2.0.1" + semver-diff "^3.1.1" + xdg-basedir "^4.0.0" + update-notifier@^2.1.0: version "2.5.0" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" @@ -13776,6 +13867,18 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= +vercel@^20.1.0: + version "20.1.0" + resolved "https://registry.yarnpkg.com/vercel/-/vercel-20.1.0.tgz#366c39892455f5fff9b1d31db6e6ac1dff436453" + integrity sha512-fOYq2X6o157hOBbyxU9VcM2pCHa6cAxvkA731N9FEw8MyMnPC7zJRgFQ/kYJ0oisjlKsmm2A1ryrLEz3KLIDFw== + dependencies: + "@vercel/build-utils" "2.5.1" + "@vercel/go" "1.1.6" + "@vercel/node" "1.8.1" + "@vercel/python" "1.2.3" + "@vercel/ruby" "1.2.4" + update-notifier "4.1.0" + verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" @@ -14551,6 +14654,11 @@ yauzl@2.4.1: dependencies: fd-slicer "~1.0.1" +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + zip-dir@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/zip-dir/-/zip-dir-1.0.2.tgz#253f907aead62a21acd8721d8b88032b2411c051"