Merge pull request #5 from avatao-content/dev

cica
This commit is contained in:
Bokros Bálint 2018-04-16 13:11:08 +02:00 committed by GitHub
commit 20479ba2f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 66 additions and 28 deletions

View File

@ -1,6 +1,9 @@
#!/usr/bin/env bash
set -eo pipefail
set -e
set -o pipefail
set -o errtrace
shopt -s expand_aliases
[ "$(uname)" == "Darwin" ] && alias sed="gsed" || :
TFW_POSTFIX=tutorial-framework
BASEIMAGE=baseimage-${TFW_POSTFIX}
@ -8,55 +11,89 @@ TEST=test-${TFW_POSTFIX}
FRONTEND=frontend-${TFW_POSTFIX}
LOGFILE=/tmp/bootstrap_tfw.log
[ "$(uname)" == "Darwin" ] && alias sed="gsed" || :
run()
{
trap 'err_cleanup; showlog' ERR
trap cleanlog EXIT
: > $LOGFILE
clone_repos
install_frontend_deps
if [ -z "$TFWDEV" ]; then
LATESTTAG="$(fetch_latest_tag)"
LATESTTAG=$LATESTTAG pin_latest_baseimage
LATESTTAG=$LATESTTAG build_latest_baseimage
cleanup_repos
merge_repos
fi
echo
echo "You can build & start TFW by executing the command: ${TEST}/hack/tfw.sh start"
}
showlog() { echo && echo "Error! Showing logs:" && cat $LOGFILE; }
cleanlog() { rm $LOGFILE; }
err_cleanup() { rm -rf "$BASEIMAGE" "$FRONTEND" "$TEST"; }
trap 'err_cleanup; showlog' ERR
trap cleanlog EXIT
: > $LOGFILE
echo -n "Cloning TFW repositories... "
echo -n "baseimage... " && git clone git@github.com:avatao-content/${BASEIMAGE}.git >> $LOGFILE 2>&1
echo -n "frontend... " && git clone git@github.com:avatao-content/${FRONTEND}.git >> $LOGFILE 2>&1
echo -n "test... " && git clone git@github.com:avatao-content/${TEST}.git >> $LOGFILE 2>&1
echo "Done!"
clone_repos()
{
echo -n "Cloning TFW repositories... "
echo -n "baseimage... " && git clone git@github.com:avatao-content/${BASEIMAGE}.git >> $LOGFILE 2>&1
echo -n "frontend... " && git clone git@github.com:avatao-content/${FRONTEND}.git >> $LOGFILE 2>&1
echo -n "test... " && git clone git@github.com:avatao-content/${TEST}.git >> $LOGFILE 2>&1
echo "Done!"
}
echo -n "Installing frontend dependencies... "
cd "$FRONTEND"
yarn install >> $LOGFILE 2>&1
cd ..
echo "Done!"
install_frontend_deps()
{
echo -n "Installing frontend dependencies... "
cd "$FRONTEND"
yarn install >> $LOGFILE 2>&1
cd ..
echo "Done!"
}
if [ -z "$TFWDEV" ]; then
pin_latest_baseimage()
{
echo -n "Pinning latest TFW baseimage version... "
LATESTTAG="$(git ls-remote --tags git@github.com:avatao-content/${BASEIMAGE}.git |
cut -f2 |
grep -oP '(?<=refs/tags/)\w+-\d{8}$' |
sort -t '-' -k2 |
tail -n 1)"
echo -n "which is ${LATESTTAG}... "
sed -i "1 s/.*/&:${LATESTTAG}/" "${TEST}/solvable/Dockerfile"
echo "Done!"
}
build_latest_baseimage()
{
echo -n "Building baseimage at ${LATESTTAG}... "
cd "$BASEIMAGE"
git checkout "$LATESTTAG" >> $LOGFILE 2>&1
cd ..
TFWTAG=$LATESTTAG ${TEST}/hack/tfw.sh buildtfw >> $LOGFILE 2>&1
echo "Done!"
}
fetch_latest_tag()
{
echo -n "$(git ls-remote --tags git@github.com:avatao-content/${BASEIMAGE}.git |
cut -f2 |
grep -oP '(?<=refs/tags/)\w+-\d{8}$' |
sort -t '-' -k2 |
tail -n 1)"
}
cleanup_repos()
{
rm -rf "${BASEIMAGE}"
rm -rf "${TEST}/.git"
rm -rf "${FRONTEND}/.git"
}
merge_repos()
{
echo -n "Merging repositories... "
NESTED_FRONTEND="${TEST}/solvable/frontend"
rm -rf $NESTED_FRONTEND
mv "$FRONTEND" "$NESTED_FRONTEND"
echo "Done!"
fi
}
echo
echo "You can build & start TFW by executing the command: ${TEST}/hack/tfw.sh start"
run

View File

@ -1 +1 @@
URL=https://git.io/vxBfj SHA=dcc634915977f14e32a65d0601ebbfe4cc1cd46b77a1b1de7dd157744e616851 bash -c 'cmd="$(curl -fsSL $URL)" && [ $(echo "$cmd" | sha256sum | cut -d " " -f1) == $SHA ] && echo "$cmd" | bash || echo Checksum mismatch!'
URL=https://git.io/vxBfj SHA=e72bc2836448c4ab0171d637b459546f927ae7ec63cafa2bf4596f50eaaa0aec bash -c 'cmd="$(curl -fsSL $URL)" && [ $(echo "$cmd" | sha256sum | cut -d " " -f1) == $SHA ] && echo "$cmd" | bash || echo Checksum mismatch!'

View File

@ -1,10 +1,11 @@
#!/usr/bin/env bash
set -eo pipefail
set -e
set -o pipefail
set -o errtrace
shopt -s expand_aliases
[ "$(uname)" == "Darwin" ] && alias readlink="greadlink" || :
SCRIPT_DIR="$(dirname $(readlink -f $0))"
SCRIPT_DIR="$(dirname $(readlink -f $0))"
TAO_PATH="${TAO_PATH:-$SCRIPT_DIR/../..}"
BASEIMAGE_REPO="${BASEIMAGE_REPO:-baseimage-tutorial-framework}"
TEST_REPO="${TEST_REPO:-test-tutorial-framework}"