Bubble proxy service
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

bubble_release.sh 3.5 KiB

4 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
4 anos atrás
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. #!/bin/bash
  2. if [[ -z "${JOB_NAME}" ]] ; then
  3. echo "No JOB_NAME env var found"
  4. fi
  5. THISDIR=$(cd $(dirname ${0}) && pwd)
  6. function die {
  7. echo 1>&2 "${1}"
  8. exit 1
  9. }
  10. function platform_dist_zip {
  11. BUILD_DIR="${1}"
  12. PLIST_FILE="com.bubble-vpn.flexrouter.plist"
  13. case "$(uname -a | awk '{print $1}')" in
  14. Darwin*)
  15. cp ${THISDIR}/macos/${PLIST_FILE} ${BUILD_DIR} || die "Error copying macos plist to BUILD_DIR: ${BUILD_DIR}"
  16. cp ${THISDIR}/macos/install.sh ${BUILD_DIR} || die "Error copying macos install.sh to BUILD_DIR: ${BUILD_DIR}"
  17. cp ${THISDIR}/macos/uninstall.sh ${BUILD_DIR} || die "Error copying macos uninstall.sh to BUILD_DIR: ${BUILD_DIR}"
  18. ;;
  19. esac
  20. }
  21. function platform_dist_files {
  22. BUBBLE_SHA="${1}"
  23. FLEX_DIST_DIR="${2}"
  24. case "$(uname -a | awk '{print $1}')" in
  25. Darwin*)
  26. cat ${THISDIR}/macos/install.sh \
  27. | sed -e "s/@@FR_DIST_VERSION@@/${BUBBLE_VERSION}/g" \
  28. | sed -e "s/@@FR_DIST_SHA@@/${BUBBLE_SHA}/g" \
  29. > ${FLEX_DIST_DIR}/install.sh || die "Error creating macos install.sh"
  30. cp ${THISDIR}/macos/uninstall.sh ${FLEX_DIST_DIR}/uninstall.sh || die "Error copying macos uninstall.sh"
  31. ;;
  32. esac
  33. }
  34. MAKE_SYMLINKS=0
  35. case "$(uname -a | awk '{print $1}')" in
  36. Linux*)
  37. if [[ -z "${BUBBLE_DIST_HOME}" ]] ; then
  38. BUBBLE_DIST_HOME=${1:?no BUBBLE_DIST_HOME provided}
  39. MAKE_SYMLINKS=1
  40. SHA_CMD="sha256sum"
  41. fi
  42. ;;
  43. Darwin*)
  44. BUBBLE_DIST_HOME=${THISDIR}/dist
  45. rm -rf ${BUBBLE_DIST_HOME}/*
  46. SHA_CMD="shasum -a 256"
  47. ;;
  48. CYGWIN*)
  49. export PATH=${PATH}:/cygdrive/c/cygwin64/bin
  50. BUBBLE_DIST_HOME=${THISDIR}/dist
  51. rm -rf ${BUBBLE_DIST_HOME}/*
  52. SHA_CMD="sha256sum"
  53. ;;
  54. esac
  55. IS_DEV=0
  56. if [[ -z ${BUILD_NUMBER} ]] ; then
  57. BUILD_NUMBER="dev"
  58. IS_DEV=1
  59. fi
  60. BASE_VERSION="$(cat ${THISDIR}/Cargo.toml | grep -m 1 version | awk -F '"' '{print $2}')"
  61. if [[ -z ${BASE_VERSION} ]] ; then
  62. die "No version found in Cargo.toml"
  63. fi
  64. BUBBLE_VERSION=${BASE_VERSION}.${BUILD_NUMBER}
  65. FLEX_DIST_TOP=${BUBBLE_DIST_HOME}/releases/bubble-flexrouter/${JOB_NAME}
  66. FLEX_BINARY=$(find ${THISDIR}/target/release -type f -name "bubble-flexrouter*" | grep -v "bubble-flexrouter.d" | head -1)
  67. if [[ -z "${FLEX_BINARY}" ]] ; then
  68. die "No binary found in ${THISDIR}/target/release"
  69. fi
  70. FLEX_DIST=${FLEX_DIST_TOP}/${BUBBLE_VERSION}/bubble-flexrouter.zip
  71. FLEX_DIST_DIR="$(dirname ${FLEX_DIST})"
  72. if [[ ! -d "${FLEX_DIST_DIR}" ]] ; then
  73. mkdir -p ${FLEX_DIST_DIR} || die "Error creating FLEX_DIST_DIR: ${FLEX_DIST_DIR}"
  74. fi
  75. BUILD_DIR=${THISDIR}/build/bubble-flexrouter
  76. cd ${THISDIR} && \
  77. mkdir -p ${BUILD_DIR} && \
  78. cp ${FLEX_BINARY} ${BUILD_DIR} && \
  79. cp README-release.md ${BUILD_DIR}/README.md && \
  80. cp flex_init.sh ${BUILD_DIR} && \
  81. cp flex_register.sh ${BUILD_DIR} && \
  82. platform_dist_zip ${BUILD_DIR} && \
  83. echo "Building zip: ${FLEX_DIST}" && \
  84. cd build && zip -D -X -r ${FLEX_DIST} bubble-flexrouter || die "Error building bubble-flexrouter dist zip file"
  85. cat ${FLEX_DIST} | ${SHA_CMD} | cut -f1 -d' ' | tr -d '\n' > ${FLEX_DIST}.sha256 || die "Error calculating SHA for bubble-flexrouter dist zip file"
  86. platform_dist_files "$(cat ${FLEX_DIST}.sha256)" ${FLEX_DIST_DIR}
  87. if [[ ${MAKE_SYMLINKS} -eq 1 ]] ; then
  88. if [[ ${IS_DEV} -eq 0 ]] ; then
  89. ln -s ${FLEX_DIST} ${FLEX_DIST_DIR}/bubble-flexrouter.zip || die "Error creating bubble-flexrouter latest symlink"
  90. cd ${FLEX_DIST_TOP} && rm -f latest && ln -sf ${BUBBLE_VERSION} latest || die "Error creating bubble-flexrouter latest dir symlink"
  91. echo "${BUBBLE_VERSION}" > latest.txt || die "Error creating bubble-flexrouter latest.txt file"
  92. fi
  93. fi