-
Notifications
You must be signed in to change notification settings - Fork 2.9k
/
Copy pathdocs-upload
executable file
·52 lines (43 loc) · 1.45 KB
/
docs-upload
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/bin/bash
# Note: This script is designed to be run inside CI builds
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
. "$DIR/.common.sh"
echo -e "${BLUE}❯ ${CYAN}Uploading docs in: ${YELLOW}$1${RESET}"
cd "$1" || exit 1
ALL_FILES=$(find . -follow)
for FILE in $ALL_FILES
do
# remove preceding ./
FILE=$(echo "$FILE" | sed -E "s/\.\///g")
echo '======================================='
echo "FILE: $FILE"
if [[ -d $FILE ]]; then
echo "Skipping $FILE because it's a directory"
elif [[ -f $FILE ]]; then
PARAM_STRING="--guess-mime-type"
EXT="${FILE##*.}"
if [ "$EXT" == "css" ]; then
PARAM_STRING="-mtext/css"
elif [ "$EXT" == "js" ]; then
PARAM_STRING="-mapplication/javascript"
elif [[ "$EXT" == "html" ]]; then
PARAM_STRING="-mtext/html"
elif [[ "$EXT" == "png" ]]; then
PARAM_STRING="-mimage/png"
elif [[ "$EXT" == "jpg" ]]; then
PARAM_STRING="-mimage/jpg"
elif [[ "$EXT" == "svg" ]]; then
PARAM_STRING="-mimage/svg+xml"
fi
DEST_FOLDER=$(dirname "$FILE")
if [ "$DEST_FOLDER" == "." ]; then
DEST_FOLDER=
else
DEST_FOLDER="${DEST_FOLDER}/"
fi
echo s3cmd -v -f -P "$PARAM_STRING" --add-header="Cache-Control:public,max-age=604800" sync "$FILE" "s3://$S3_BUCKET/$DEST_FOLDER"
s3cmd -v -f -P "$PARAM_STRING" --add-header="Cache-Control:public,max-age=604800" sync "$FILE" "s3://$S3_BUCKET/$DEST_FOLDER"
rc=$?; if [ $rc != 0 ]; then exit $rc; fi
fi
done
echo -e "${BLUE}❯ ${GREEN}Upload Complete${RESET}"