mirror of
https://github.com/facebookarchive/prepack.git
synced 2024-11-09 21:20:06 +03:00
c83d8a350b
Summary: Release note: none yarn install used to also invoke the build step. This changed a while ago, but this script was not updated accordingly. Apparently no-one noticed until now. Closes https://github.com/facebook/prepack/pull/1990 Differential Revision: D8081630 Pulled By: hermanventer fbshipit-source-id: 87a1f6b340010d27a76da39bb5569ffcb3f7a5b8
119 lines
3.3 KiB
Bash
Executable File
119 lines
3.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
# Configurations
|
|
ORIGIN_URI=$(git config remote.origin.url)
|
|
|
|
SRC_BRANCH="master"
|
|
SRC_DIR="website"
|
|
DEST_BRANCH="gh-pages"
|
|
DEST_DIR="."
|
|
|
|
TMP_DIR="$PWD/tmp_website_build" # careful, the script will rm -rf this directory
|
|
# make sure it's an absolute path
|
|
SRC_CLONE_DIR="$TMP_DIR/master"
|
|
DEST_CLONE_DIR="$TMP_DIR/gh-pages"
|
|
|
|
SCRIPT_NAME=`basename "$0"`
|
|
COMMIT_MESSAGE="Website published using $SCRIPT_NAME"
|
|
|
|
BUILD_COMMAND="yarn install && yarn build && mv prepack.min.js $SRC_DIR/js/"
|
|
|
|
# Utils
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
NO_COLOR='\033[0m'
|
|
print_green() { echo -e "${GREEN}$1${NO_COLOR}"; }
|
|
print_red() { echo -e "${RED}$1${NO_COLOR}"; }
|
|
print_ok() { print_green "[ OK ]\n"; }
|
|
print_error() { print_red "[ ERROR ]\n"; }
|
|
pushd_quiet() { pushd $1 > /dev/null; }
|
|
popd_quiet() { popd $1 > /dev/null; }
|
|
remove_tmp_dir() {
|
|
if [ -d $TMP_DIR ]; then
|
|
rm -rf $TMP_DIR
|
|
fi
|
|
}
|
|
|
|
echo ---------------------------------------------------------------------------
|
|
echo "This script will erase the content of the destination branch and replace \
|
|
it with the content of the source branch."
|
|
echo ---------------------------------------------------------------------------
|
|
echo "Origin URI: $ORIGIN_URI"
|
|
echo "Source branch: $SRC_BRANCH"
|
|
echo "Source directory: $SRC_DIR"
|
|
echo "Destination branch: $DEST_BRANCH"
|
|
echo "Destination directory: $DEST_DIR"
|
|
echo "Build command: $BUILD_COMMAND (will be run in source branch before" \
|
|
"moving its content)"
|
|
echo ---------------------------------------------------------------------------
|
|
|
|
read -p "Proceed? [y/n] " -n 1 -r
|
|
echo
|
|
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
print_error
|
|
echo "Operation aborted by user"
|
|
exit 1
|
|
fi
|
|
|
|
# Clean build directory to fetch a fresh copy of the branches everytime the
|
|
# script is run. Stateless scripts are easier to debug.
|
|
remove_tmp_dir
|
|
|
|
print_green "Cloning source branch from remote..."
|
|
git clone --single-branch -b $SRC_BRANCH $ORIGIN_URI $SRC_CLONE_DIR
|
|
print_ok
|
|
|
|
print_green "Cloning destination branch from remote..."
|
|
git clone --single-branch -b $DEST_BRANCH $ORIGIN_URI $DEST_CLONE_DIR
|
|
print_ok
|
|
|
|
print_green "Running build command on source branch..."
|
|
pushd_quiet $SRC_CLONE_DIR
|
|
eval $BUILD_COMMAND
|
|
popd_quiet
|
|
print_ok
|
|
|
|
print_green "Cleaning destination branch..."
|
|
pushd_quiet $DEST_CLONE_DIR/$DEST_DIR
|
|
git rm -r *
|
|
popd_quiet
|
|
print_ok
|
|
|
|
print_green "Copying from source branch/directory to destination branch/directory..."
|
|
cp -a $SRC_CLONE_DIR/$SRC_DIR/* $DEST_CLONE_DIR/$DEST_DIR
|
|
print_ok
|
|
|
|
print_green "Creating commit..."
|
|
pushd_quiet $DEST_CLONE_DIR
|
|
git add $DEST_DIR
|
|
git commit -m "$COMMIT_MESSAGE" || (
|
|
print_error &&
|
|
echo "=> git-commit returned non zero code."
|
|
echo "=> This could be because source branch/directory and destination" \
|
|
"branch/directory already have identical content." &&
|
|
echo "=> Make sure you pushed your changes to $ORIGIN_URI and run this script" \
|
|
"again" &&
|
|
exit 1
|
|
)
|
|
popd_quiet
|
|
print_ok
|
|
|
|
read -p "Push changes to origin/$DEST_BRANCH? [y/n] " -n 1 -r
|
|
echo
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
print_green "Pushing changes to origin/$DEST_BRANCH..."
|
|
pushd_quiet $DEST_CLONE_DIR
|
|
git push
|
|
popd_quiet
|
|
print_ok
|
|
else
|
|
echo "Operation aborted. Changes have not been pushed to origin/$DEST_BRANCH."
|
|
print_error
|
|
fi
|
|
|
|
print_green "Cleanup! Removing temporary files..."
|
|
remove_tmp_dir
|
|
print_ok
|