Bubble proxy service
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

dist_jenkins.sh 2.3 KiB

4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
4 jaren geleden
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/bash
  2. FLEX_PROJECT=${1:?no project name specified}
  3. JENKINS_HOME="$(cd ~jenkins && pwd)"
  4. function die () {
  5. echo 1>&2 "${1}"
  6. exit 1
  7. }
  8. IS_MACOS=0
  9. case "${FLEX_PROJECT}" in
  10. *macos*)
  11. IS_MACOS=1
  12. ;;
  13. esac
  14. LATEST_BUILD="$(find ${JENKINS_HOME}/jobs/${FLEX_PROJECT}/builds -maxdepth 1 -mindepth 1 -type d | xargs -n 1 basename | sort -nr | head -1)"
  15. if [[ -z "${LATEST_BUILD}" ]] ; then
  16. die "No latest build found"
  17. fi
  18. LATEST_VERSION="$(find ${JENKINS_HOME}/jobs/${FLEX_PROJECT}/builds/${LATEST_BUILD}/archive/dist/releases/bubble-flexrouter/${FLEX_PROJECT} -maxdepth 1 -mindepth 1 -type d | sort -nr | head -1 | xargs -n 1 basename)"
  19. if [[ -z "${LATEST_VERSION}" ]] ; then
  20. die "No latest version found"
  21. fi
  22. LATEST_ZIP="$(find ${JENKINS_HOME}/jobs/${FLEX_PROJECT}/builds/${LATEST_BUILD}/archive/dist/releases/bubble-flexrouter/${FLEX_PROJECT}/${LATEST_VERSION} -maxdepth 1 -mindepth 1 -type f -name "bubble-flexrouter.zip" | head -1)"
  23. if [[ -z "${LATEST_ZIP}" ]] ; then
  24. die "No latest zip found"
  25. fi
  26. if [[ ${IS_MACOS} -eq 1 ]] ; then
  27. LATEST_INSTALL_SH="$(find ${JENKINS_HOME}/jobs/${FLEX_PROJECT}/builds/${LATEST_BUILD}/archive/dist/releases/bubble-flexrouter/${FLEX_PROJECT}/${LATEST_VERSION} -maxdepth 1 -mindepth 1 -type f -name "install.sh" | head -1)"
  28. if [[ -z "${LATEST_INSTALL_SH}" ]] ; then
  29. die "No install.sh found"
  30. fi
  31. fi
  32. RELEASE_TOP="${JENKINS_HOME}/public/public/releases/bubble-flexrouter/${FLEX_PROJECT}/"
  33. RELEASE_DIR="${RELEASE_TOP}/${LATEST_VERSION}"
  34. mkdir -p ${RELEASE_DIR} || die "Error creating release dir: ${RELEASE_DIR}"
  35. echo "Created release dir: ${RELEASE_DIR}"
  36. cp ${LATEST_ZIP} ${RELEASE_DIR} || die "Error copying ${LATEST_ZIP} -> ${RELEASE_DIR}"
  37. cp ${LATEST_ZIP}.sha256 ${RELEASE_DIR} || die "Error copying ${LATEST_ZIP}.sha256 -> ${RELEASE_DIR}"
  38. if [[ ${IS_MACOS} -eq 1 ]] ; then
  39. cp ${LATEST_INSTALL_SH} ${RELEASE_DIR} || die "Error copying ${LATEST_INSTALL_SH} -> ${RELEASE_DIR}"
  40. fi
  41. echo "Published release: ${RELEASE_DIR}/$(basename ${LATEST_ZIP})"
  42. echo ${LATEST_VERSION} > ${RELEASE_TOP}/latest.txt
  43. echo "Marked as latest release: ${RELEASE_TOP}/latest.txt == $(cat ${RELEASE_TOP}/latest.txt)"
  44. cd ${RELEASE_TOP} && rm -f latest && ln -s $(basename ${RELEASE_DIR}) latest
  45. echo "Marked as latest release: ${RELEASE_TOP}/latest -> $(basename ${RELEASE_DIR})"