mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
a7d8ebd2b5
* Initial commit for WIP benchmarking infrastructure * fixed lint issues and ran prettier * added <rootDir>/scripts/bench/ to ignore paths for Jest * tidied up code and fixed a few bugs in the runner.js * fixed eslint * improved the benchmark output from the runner * fixed typo * tided up print output in runner.js * throw error if chrome canary is not installed on mac * added better bench stats output (tables) * added benchmark diff to table results * adds bundle size comparisons to results * tidied up the results * fixed prettier output * attempt to trigger bech for circleci build * fixes flow exlclusion for lighthouse module * added class components benchmark * cleaned up stats.js * stability changes * circleci node version to 7 * added another benchmark * added colours to the different benchmarks to check if being cached * force no-cache headers * added more info messages * refactor chrome launching. * fixed an issue where launcher.kill might fail * Move server to runner. Launch it only once. * tidy up * changes the logic in how the remote repo is checked out * removes bench from circleci build * removed colors from benchmarks (no longer needed) * added CI integration comment * added hacker news benchmark * added skipBuild functionality * relabelled remote * Add confidence intervals * added first meaningful paint * removed some unused code * reverted code.json * updated benchmark runs back to 10 * no longer breaks when results contain missing bundles * adds CPU throttling * renamed build to remote-repo * small fix to build * fixed bad merge * upped runs to 10 from 2 again * properly pulls master * removes old-bench * runs benchmarks in headless mode * adds a --headless option * improved the git build process * added README * updated based feedback from review * adds merge base commit sha * addressing more PR feedback * remove built JS react files * updated .gitignore * added combined bundle load times to the metrics
62 lines
1.6 KiB
Bash
Executable File
62 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
COMMANDS_TO_RUN=()
|
|
|
|
if [ $((1 % CIRCLE_NODE_TOTAL)) -eq "$CIRCLE_NODE_INDEX" ]; then
|
|
COMMANDS_TO_RUN+=('./scripts/circleci/test_coverage.sh')
|
|
fi
|
|
|
|
if [ $((2 % CIRCLE_NODE_TOTAL)) -eq "$CIRCLE_NODE_INDEX" ]; then
|
|
COMMANDS_TO_RUN+=('./scripts/circleci/test_fiber.sh')
|
|
fi
|
|
|
|
if [ $((3 % CIRCLE_NODE_TOTAL)) -eq "$CIRCLE_NODE_INDEX" ]; then
|
|
COMMANDS_TO_RUN+=('./scripts/circleci/test_html_generation.sh')
|
|
fi
|
|
|
|
# These seem out of order but extract-errors must be run after jest.
|
|
if [ $((0 % CIRCLE_NODE_TOTAL)) -eq "$CIRCLE_NODE_INDEX" ]; then
|
|
COMMANDS_TO_RUN+=('node ./scripts/tasks/eslint')
|
|
COMMANDS_TO_RUN+=('node ./scripts/prettier/index')
|
|
COMMANDS_TO_RUN+=('node ./scripts/tasks/flow')
|
|
COMMANDS_TO_RUN+=('node ./scripts/tasks/jest')
|
|
COMMANDS_TO_RUN+=('./scripts/circleci/build.sh')
|
|
COMMANDS_TO_RUN+=('./scripts/circleci/test_print_warnings.sh')
|
|
COMMANDS_TO_RUN+=('./scripts/circleci/track_stats.sh')
|
|
# COMMANDS_TO_RUN+=('./scripts/circleci/bench.sh')
|
|
fi
|
|
|
|
RETURN_CODES=()
|
|
FAILURE=0
|
|
|
|
printf "Node #%s (%s total). " "$CIRCLE_NODE_INDEX" "$CIRCLE_NODE_TOTAL"
|
|
if [ -n "${COMMANDS_TO_RUN[0]}" ]; then
|
|
echo "Preparing to run commands:"
|
|
for cmd in "${COMMANDS_TO_RUN[@]}"; do
|
|
echo "- $cmd"
|
|
done
|
|
|
|
for cmd in "${COMMANDS_TO_RUN[@]}"; do
|
|
echo
|
|
echo "$ $cmd"
|
|
set +e
|
|
$cmd
|
|
rc=$?
|
|
set -e
|
|
RETURN_CODES+=($rc)
|
|
if [ $rc -ne 0 ]; then
|
|
FAILURE=$rc
|
|
fi
|
|
done
|
|
|
|
echo
|
|
for i in "${!COMMANDS_TO_RUN[@]}"; do
|
|
echo "Received return code ${RETURN_CODES[i]} from: ${COMMANDS_TO_RUN[i]}"
|
|
done
|
|
exit $FAILURE
|
|
else
|
|
echo "No commands to run."
|
|
fi
|