mirror of
https://github.com/google/blockly.git
synced 2026-01-10 10:27:08 +01:00
- Reconfigure package_tasks.js to use BUILD_DIR from config.js
(i.e., build/) rather than repository root as source of files to
package.
- Add check to packageTasks.package to ensure that certain required
files exist in BUILD_DIR, to verify that buildTasks.build and
typings.typings have been run.
- Fix packageUMDBundle to use generated, rather than checked-in
version of en.js.
- Fix packageDTS to use the generated (rather than checked-in)
versions of blockly.d.ts and msg/*.d.ts.
- Modify run_all_tests.sh to run packageTasks.package before running
node tests, since they depend on it. Previously this was only
working because 'npm install' runs the 'prepare' script, which would
run the 'package' script - so the code being tested by the node tests
was not the current source but whatever precomipled code had
previously been checked in.
- Remove the 'prepare' script from package.json, since it is no longer
needed (and is now broken, since it requires that build and typings
have been done first.) Note that no scripts at all are included in
the version of package.json that is created in dist/ and subsequently
included in the published npms, so this deletion does not affect what
happens when the Blockly npm in installed - it only affects what
happens when 'npm install' is run after the blockly repo is cloned.
- Factor out the actual recompilation steps from releaseTasks.recompile.
- Rename releaseTasks.recomple to recompileDevelop, since it deals
specifically with the develop branch. (The npm script name is
unchanged.)
- Ensure that a full recompile and repackage is done before publishing
(beta and non-beta) npms.
93 lines
2.5 KiB
Bash
Executable File
93 lines
2.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ ! -z $CI ]; then echo "Executing run_all_tests.sh from $(pwd)"; fi
|
|
|
|
# ANSI colors
|
|
BOLD_GREEN='\033[1;32m'
|
|
BOLD_RED='\033[1;31m'
|
|
ANSI_RESET='\033[0m'
|
|
|
|
gh_actions_fold () {
|
|
local startOrEnd=$1 # Either "start" or "end"
|
|
|
|
if [ ! -z $CI ]; then
|
|
echo "::$startOrEnd::"
|
|
fi
|
|
}
|
|
|
|
# Find the Blockly project root if pwd is the root
|
|
# or if pwd is the directory containing this script.
|
|
if [ -f ./run_all_tests.js ]; then
|
|
BLOCKLY_ROOT=".."
|
|
elif [ -f tests/run_all_tests.sh ]; then
|
|
BLOCKLY_ROOT="."
|
|
else
|
|
echo -e "${BOLD_RED}ERROR: Cannot determine BLOCKLY_ROOT${ANSI_RESET}" 1>&2;
|
|
exit 1
|
|
fi
|
|
pushd $BLOCKLY_ROOT
|
|
echo "pwd: $(pwd)"
|
|
|
|
FAILURE_COUNT=0
|
|
|
|
run_test_command () {
|
|
local test_id=$1 # The id to use for folds and similar. No spaces.
|
|
local command=$2 # The command to run.
|
|
|
|
echo "======================================="
|
|
echo "== $test_id"
|
|
gh_actions_fold group
|
|
$command
|
|
local test_result=$?
|
|
gh_actions_fold endgroup
|
|
if [ $test_result -eq 0 ]; then
|
|
echo -e "${BOLD_GREEN}SUCCESS:${ANSI_RESET} ${test_id}"
|
|
else
|
|
echo -e "${BOLD_RED}FAILED:${ANSI_RESET} ${test_id}"
|
|
FAILURE_COUNT=$((FAILURE_COUNT+1))
|
|
fi
|
|
}
|
|
|
|
# Lint the codebase.
|
|
run_test_command "eslint" "eslint ."
|
|
|
|
# Run the full usual build process.
|
|
run_test_command "build" "npm run build"
|
|
|
|
# Run the debug build, to ensure there are no closure compiler
|
|
# warnings / errors.
|
|
run_test_command "build:debug" "npm run build:debug"
|
|
|
|
# Generate TypeScript typings and ensure there are no errors.
|
|
run_test_command "typings" "npm run typings"
|
|
|
|
# Check the sizes of built files for unexpected growth.
|
|
run_test_command "metadata" "tests/scripts/check_metadata.sh"
|
|
|
|
# Run Mocha tests inside a browser.
|
|
run_test_command "mocha" "node tests/mocha/run_mocha_tests_in_browser.js"
|
|
|
|
# Run generator tests inside a browser and check the results.
|
|
run_test_command "generators" "tests/scripts/run_generators.sh"
|
|
|
|
# Run the package build process, as Node tests depend on it.
|
|
run_test_command "package" "npm run package"
|
|
|
|
# Run Node tests.
|
|
run_test_command "node" "./node_modules/.bin/mocha tests/node --config tests/node/.mocharc.js"
|
|
|
|
# # Attempt advanced compilation of a Blockly app.
|
|
# run_test_command "advanced_compile" "npm run test:compile:advanced"
|
|
|
|
|
|
# End of tests.
|
|
popd
|
|
echo "======================================="
|
|
if [ "$FAILURE_COUNT" -eq "0" ]; then
|
|
echo -e "${BOLD_GREEN}All tests passed.${ANSI_RESET}"
|
|
exit 0
|
|
else
|
|
echo -e "${BOLD_RED}Failures in ${FAILURE_COUNT} test groups.${ANSI_RESET}"
|
|
exit 1
|
|
fi
|