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.

42 regels
1.7 KiB

  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. LATEST_BUILD="$(find ${JENKINS_HOME}/jobs/${FLEX_PROJECT}/builds -maxdepth 1 -mindepth 1 -type d | xargs -n 1 basename | sort -nr | head -1)"
  9. if [[ -z "${LATEST_BUILD}" ]] ; then
  10. die "No latest build found"
  11. fi
  12. 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)"
  13. if [[ -z "${LATEST_VERSION}" ]] ; then
  14. die "No latest version found"
  15. fi
  16. 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)"
  17. if [[ -z "${LATEST_ZIP}" ]] ; then
  18. die "No latest zip found"
  19. fi
  20. RELEASE_TOP="${JENKINS_HOME}/public/public/releases/bubble-flexrouter/${FLEX_PROJECT}/"
  21. RELEASE_DIR="${RELEASE_TOP}/${LATEST_VERSION}"
  22. mkdir -p ${RELEASE_DIR} || die "Error creating release dir: ${RELEASE_DIR}"
  23. echo "Created release dir: ${RELEASE_DIR}"
  24. cp ${LATEST_ZIP} ${RELEASE_DIR} || die "Error copying ${LATEST_ZIP} -> ${RELEASE_DIR}"
  25. cp ${LATEST_ZIP}.sha256 ${RELEASE_DIR} || die "Error copying ${LATEST_ZIP}.sha256 -> ${RELEASE_DIR}"
  26. echo "Published release: ${RELEASE_DIR}/$(basename ${LATEST_ZIP})"
  27. echo ${LATEST_VERSION} > ${RELEASE_TOP}/latest.txt
  28. echo "Marked as latest release: ${RELEASE_TOP}/latest.txt == $(cat ${RELEASE_TOP}/latest.txt)"
  29. cd ${RELEASE_TOP} && rm -f latest && ln -s $(basename ${RELEASE_DIR}) latest
  30. echo "Marked as latest release: ${RELEASE_TOP}/latest -> $(basename ${RELEASE_DIR})"