Clean shell scripts (#398)

This commit is contained in:
Léo Andrès 2018-03-27 09:35:12 +01:00 committed by Chocobozzz
parent d5b7d9110d
commit 0e4ffb4b67
22 changed files with 97 additions and 59 deletions

View File

@ -1,6 +1,8 @@
#!/bin/bash #!/bin/sh
cd client || exit -1 set -eu
cd client
rm -rf ./dist ./compiled rm -rf ./dist ./compiled

View File

@ -1,4 +1,6 @@
#!/usr/bin/env sh #!/bin/sh
set -eu
rm -rf ./dist rm -rf ./dist

View File

@ -1,4 +1,6 @@
#!/usr/bin/env sh #!/bin/sh
cd client || exit -1 set -eu
cd client
rm -rf compiled/ dist/ dll/ rm -rf compiled/ dist/ dll/

View File

@ -1,3 +1,5 @@
#!/usr/bin/env sh #!/bin/sh
set -eu
rm -rf dist/ rm -rf dist/

View File

@ -1,4 +1,6 @@
#!/usr/bin/env sh #!/bin/sh
set -eu
for i in $(seq 1 6); do for i in $(seq 1 6); do
dropdb "peertube_test$i" dropdb "peertube_test$i"

View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/sh
cd client || exit -1 set -eu
cd client
npm run webpack-bundle-analyzer ./dist/stats.json npm run webpack-bundle-analyzer ./dist/stats.json

View File

@ -1,8 +1,10 @@
#!/bin/bash #!/bin/bash
set -eu
read -p "This will remove all directories and SQL tables. Are you sure? (y/*) " -n 1 -r read -p "This will remove all directories and SQL tables. Are you sure? (y/*) " -n 1 -r
echo echo
if [[ "$REPLY" =~ ^[Yy]$ ]]; then if [[ "$REPLY" =~ ^[Yy]$ ]]; then
NODE_ENV=test npm run ts-node -- --type-check "./scripts/danger/clean/cleaner" NODE_ENV=test npm run ts-node -- --type-check "scripts/danger/clean/cleaner"
fi fi

View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
set -eu
read -p "This will remove all node server and client modules. Are you sure? " -n 1 -r read -p "This will remove all node server and client modules. Are you sure? " -n 1 -r
if [[ "$REPLY" =~ ^[Yy]$ ]]; then if [[ "$REPLY" =~ ^[Yy]$ ]]; then

View File

@ -1,5 +1,7 @@
#!/bin/bash #!/bin/bash
set -eu
read -p "This will remove all directories and SQL tables. Are you sure? (y/*) " -n 1 -r read -p "This will remove all directories and SQL tables. Are you sure? (y/*) " -n 1 -r
echo echo

View File

@ -1,4 +1,6 @@
#!/usr/bin/env sh #!/bin/sh
set -eu
NODE_ENV=test concurrently -k \ NODE_ENV=test concurrently -k \
"npm run watch:client" \ "npm run watch:client" \

View File

@ -1,4 +1,6 @@
#!/usr/bin/env sh #!/bin/sh
set -eu
NODE_ENV=test concurrently -k \ NODE_ENV=test concurrently -k \
"npm run watch:client" \ "npm run watch:client" \

View File

@ -1,4 +1,6 @@
#!/usr/bin/env sh #!/bin/sh
set -eu
if [ ! -f "./client/dist/index.html" ]; then if [ ! -f "./client/dist/index.html" ]; then
echo "client/dist/index.html does not exist, compile client files..." echo "client/dist/index.html does not exist, compile client files..."

View File

@ -1,3 +1,5 @@
#!/usr/bin/env sh #!/bin/sh
set -eu
npm run spectacle-docs -- -t support/doc/api/html support/doc/api/openapi.yaml npm run spectacle-docs -- -t support/doc/api/html support/doc/api/openapi.yaml

View File

@ -1,4 +1,6 @@
#!/usr/bin/env bash #!/bin/sh
set -eu
curl -s https://api.github.com/repos/chocobozzz/peertube/contributors | \ curl -s https://api.github.com/repos/chocobozzz/peertube/contributors | \
jq -r 'map("\\\n * [" + .login + "](" + .url + ")") | .[]' | \ jq -r 'map("\\\n * [" + .login + "](" + .url + ")") | .[]' | \

View File

@ -1,4 +1,6 @@
#!/usr/bin/env sh #!/bin/sh
set -eu
printf "############# PeerTube help #############\n\n" printf "############# PeerTube help #############\n\n"
printf "npm run ...\n" printf "npm run ...\n"

View File

@ -1,4 +1,6 @@
#!/usr/bin/env sh #!/bin/sh
set -eu
if [ ! -f "dist/server.js" ]; then if [ ! -f "dist/server.js" ]; then
echo "Missing server file (server.js)." echo "Missing server file (server.js)."
@ -7,7 +9,7 @@ fi
max=${1:-3} max=${1:-3}
for i in $(seq 1 $max); do for i in $(seq 1 "$max"); do
NODE_ENV=test NODE_APP_INSTANCE=$i node dist/server.js & NODE_ENV=test NODE_APP_INSTANCE=$i node dist/server.js &
sleep 1 sleep 1
done done

View File

@ -1,11 +1,13 @@
#!/bin/bash #!/bin/bash
set -eu
shutdown() { shutdown() {
# Get our process group id # Get our process group id
PGID=$(ps -o pgid= $$ | grep -o [0-9]*) PGID=$(ps -o pgid= $$ | grep -o "[0-9]*")
# Kill it in a new new process group # Kill it in a new new process group
setsid kill -- -$PGID setsid kill -- -"$PGID"
exit 0 exit 0
} }
@ -16,7 +18,7 @@ if [ -z "$1" ]; then
exit -1 exit -1
fi fi
if [ -z $GITHUB_TOKEN ]; then if [ -z "$GITHUB_TOKEN" ]; then
echo "Need GITHUB_TOKEN env set." echo "Need GITHUB_TOKEN env set."
exit -1 exit -1
fi fi
@ -33,43 +35,41 @@ zip_name="peertube-$version.zip"
changelog=$(awk -v version="$version" '/## v/ { printit = $2 == version }; printit;' CHANGELOG.md | grep -v "$version" | sed '1{/^$/d}') changelog=$(awk -v version="$version" '/## v/ { printit = $2 == version }; printit;' CHANGELOG.md | grep -v "$version" | sed '1{/^$/d}')
echo -e "Changelog will be:\n" printf "Changelog will be:\n%s\n" "$changelog"
echo "$changelog"
echo
read -p "Are you sure to release? " -n 1 -r read -p "Are you sure to release? " -n 1 -r
echo echo
if [[ ! $REPLY =~ ^[Yy]$ ]] if [[ ! $REPLY =~ ^[Yy]$ ]]
then then
[[ "$0" = "$BASH_SOURCE" ]] && exit 0 exit 0
fi fi
cd ./client || exit -1 ( cd client
npm version --no-git-tag-version --no-commit-hooks $1 || exit -1 npm version --no-git-tag-version --no-commit-hooks "$1"
)
cd ../ || exit -1 npm version -f --no-git-tag-version --no-commit-hooks "$1"
npm version -f --no-git-tag-version --no-commit-hooks $1 || exit -1
git commit package.json client/package.json -m "Bumped to version $version" || exit -1 git commit package.json client/package.json -m "Bumped to version $version"
git tag -s -a "$version" -m "$version" git tag -s -a "$version" -m "$version"
npm run build || exit -1 npm run build
rm "./client/dist/stats.json" || exit -1 rm "./client/dist/stats.json"
cd ../ || exit -1 cd ..
ln -s "PeerTube" "$directory_name" || exit -1 ln -s "PeerTube" "$directory_name"
zip -r "PeerTube/$zip_name" "$directory_name/CREDITS.md" "$directory_name/FAQ.md" \ zip -r "PeerTube/$zip_name" "$directory_name/CREDITS.md" "$directory_name/FAQ.md" \
"$directory_name/LICENSE" "$directory_name/README.md" \ "$directory_name/LICENSE" "$directory_name/README.md" \
"$directory_name/client/dist/" "$directory_name/client/yarn.lock" \ "$directory_name/client/dist/" "$directory_name/client/yarn.lock" \
"$directory_name/client/package.json" "$directory_name/config" \ "$directory_name/client/package.json" "$directory_name/config" \
"$directory_name/dist" "$directory_name/package.json" \ "$directory_name/dist" "$directory_name/package.json" \
"$directory_name/scripts" "$directory_name/support" \ "$directory_name/scripts" "$directory_name/support" \
"$directory_name/tsconfig.json" "$directory_name/yarn.lock" \ "$directory_name/tsconfig.json" "$directory_name/yarn.lock"
|| exit -1
rm "$directory_name" || exit -1
cd "PeerTube" || exit -1 rm "$directory_name"
cd "PeerTube"
git push origin --tag git push origin --tag

View File

@ -1,6 +1,8 @@
#!/bin/bash #!/bin/sh
npm run build:server || exit -1 set -eu
npm run travis -- lint || exit -1
npm run build:server
npm run travis -- lint
mocha --exit --require ts-node/register/type-check --bail server/tests/index.ts mocha --exit --require ts-node/register/type-check --bail server/tests/index.ts

View File

@ -1,4 +1,6 @@
#!/bin/bash #!/bin/sh
set -eu
if [ $# -eq 0 ]; then if [ $# -eq 0 ]; then
echo "Need test suite argument." echo "Need test suite argument."
@ -21,9 +23,9 @@ elif [ "$1" = "api-slow" ]; then
npm run build:server npm run build:server
mocha --timeout 5000 --exit --require ts-node/register/type-check --bail server/tests/api/index-slow.ts mocha --timeout 5000 --exit --require ts-node/register/type-check --bail server/tests/api/index-slow.ts
elif [ "$1" = "lint" ]; then elif [ "$1" = "lint" ]; then
cd client || exit -1 ( cd client
npm run lint || exit -1 npm run lint
)
cd .. || exit -1 npm run tslint -- --project ./tsconfig.json -c ./tslint.json server.ts "server/**/*.ts" "shared/**/*.ts"
npm run tslint -- --project ./tsconfig.json -c ./tslint.json server.ts "server/**/*.ts" "shared/**/*.ts" || exit -1
fi fi

View File

@ -1,7 +1,6 @@
#!/usr/bin/env bash #!/bin/sh
# Strict mode set -eu
set -e
# Backup database # Backup database
SQL_BACKUP_PATH="/var/www/peertube/backup/sql-peertube_prod-$(date +\"%Y%m%d-%H%M\").bak" SQL_BACKUP_PATH="/var/www/peertube/backup/sql-peertube_prod-$(date +\"%Y%m%d-%H%M\").bak"
@ -11,19 +10,18 @@ pg_dump -U peertube -W -h localhost -F c peertube_prod -f "$SQL_BACKUP_PATH"
# Get and Display the Latest Version # Get and Display the Latest Version
VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4)
echo "Latest Peertube version is $VERSION" echo "Latest Peertube version is $VERSION"
wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" -O /var/www/peertube/versions/peertube-${VERSION}.zip wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" -O "/var/www/peertube/versions/peertube-${VERSION}.zip"
cd /var/www/peertube/versions cd /var/www/peertube/versions
unzip -o peertube-${VERSION}.zip unzip -o "peertube-${VERSION}.zip"
rm -f peertube-${VERSION}.zip rm -f "peertube-${VERSION}.zip"
# Upgrade Scripts # Upgrade Scripts
rm -rf /var/www/peertube/peertube-latest rm -rf /var/www/peertube/peertube-latest
ln -s /var/www/peertube/versions/peertube-${VERSION} /var/www/peertube/peertube-latest ln -s "/var/www/peertube/versions/peertube-${VERSION}" /var/www/peertube/peertube-latest
cd /var/www/peertube/peertube-latest cd /var/www/peertube/peertube-latest
yarn install --production --pure-lockfile yarn install --production --pure-lockfile
cp /var/www/peertube/peertube-latest/config/default.yaml /var/www/peertube/config/default.yaml cp /var/www/peertube/peertube-latest/config/default.yaml /var/www/peertube/config/default.yaml
echo "Differences in configuration files..." echo "Differences in configuration files..."
diff /var/www/peertube/versions/peertube-${VERSION}/config/production.yaml.example /var/www/peertube/config/production.yaml diff "/var/www/peertube/versions/peertube-${VERSION}/config/production.yaml.example" /var/www/peertube/config/production.yaml
exit 0

View File

@ -1,5 +1,7 @@
#!/usr/bin/env sh #!/bin/sh
cd client || exit -1 set -eu
cd client
npm run ng -- server --hmr --host 0.0.0.0 --disable-host-check --port 3000 npm run ng -- server --hmr --host 0.0.0.0 --disable-host-check --port 3000

View File

@ -1,4 +1,6 @@
#!/usr/bin/env sh #!/bin/sh
set -eu
NODE_ENV=test concurrently -k \ NODE_ENV=test concurrently -k \
"npm run tsc -- --sourceMap && npm run nodemon -- --delay 2 --watch ./dist dist/server" \ "npm run tsc -- --sourceMap && npm run nodemon -- --delay 2 --watch ./dist dist/server" \