docs-upload 1.5 KB

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