docs-upload 1.4 KB

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