build_release 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/bin/bash
  2. set -e
  3. TYPE=$1
  4. HARD_RELEASE="2.x"
  5. HARD_RC="2.x-RC"
  6. DEV_URL="dev.boot.netboot.xyz"
  7. STAGING_URL="staging.boot.netboot.xyz"
  8. PROD_URL="boot.netboot.xyz"
  9. DOCKER_FILE="Dockerfile-build.production"
  10. # Set boot domain
  11. if [[ "${TYPE}" == "dev" ]]; then
  12. BOOT_DOMAIN="s3.amazonaws.com/${DEV_URL}/${GITHUB_SHA}"
  13. BOOT_VERSION="${GITHUB_SHA}"
  14. elif [[ "${TYPE}" == "pr" ]]; then
  15. BOOT_DOMAIN="test.com"
  16. BOOT_VERSION="test"
  17. DOCKER_FILE="Dockerfile-build"
  18. elif [[ "${TYPE}" == "rc" ]]; then
  19. BOOT_VERSION=$(cat version.txt)-RC
  20. BOOT_DOMAIN="${STAGING_URL}/${BOOT_VERSION}"
  21. elif [[ "${TYPE}" == "release" ]]; then
  22. BOOT_VERSION=$(cat version.txt)
  23. BOOT_DOMAIN="${PROD_URL}/${BOOT_VERSION}"
  24. elif [[ "${TYPE}" == "rolling" ]]; then
  25. HARD_RELEASE="2.x"
  26. PROD_URL="boot.netboot.xyz"
  27. fi
  28. # build release files
  29. if ! [[ "${TYPE}" == "rolling" ]]; then
  30. sed -i \
  31. "/^#boot_version/c\boot_version: \"${BOOT_VERSION}\"" \
  32. user_overrides.yml
  33. sed -i \
  34. "/^#boot_domain/c\boot_domain: ${BOOT_DOMAIN}" \
  35. user_overrides.yml
  36. # Build release
  37. docker build -t localbuild -f ${DOCKER_FILE} .
  38. docker run --rm -i -v $(pwd):/buildout localbuild
  39. # Generate folder outputs
  40. mkdir -p s3out
  41. mkdir -p s3outver
  42. cp -r buildout/* s3out/
  43. cp buildout/version.ipxe s3outver/
  44. mkdir -p githubout
  45. mv buildout/ipxe/* githubout/
  46. cd buildout
  47. rm -Rf ipxe
  48. tar -czf menus.tar.gz *
  49. mv menus.tar.gz ../githubout
  50. cd ..
  51. if [[ "${TYPE}" == "dev" ]]; then
  52. cp githubout/menus.tar.gz s3out/
  53. fi
  54. fi
  55. # Latest style endpoints for RC and Live
  56. if [[ "${TYPE}" == "release" ]] || [[ "${TYPE}" == "rolling" ]] || [[ "${TYPE}" == "rc" ]]; then
  57. rm -Rf buildout/
  58. if [[ "${TYPE}" == "release" ]] || [[ "${TYPE}" == "rolling" ]]; then
  59. sed -i \
  60. -e "/^boot_version/c\boot_version: \"${HARD_RELEASE}\"" \
  61. -e "/^boot_domain/c\boot_domain: ${PROD_URL}" \
  62. user_overrides.yml
  63. docker build -t localbuild -f ${DOCKER_FILE} .
  64. docker run --rm -i -v $(pwd):/buildout localbuild
  65. fi
  66. echo "debug, end rolling.."
  67. if [[ "${TYPE}" == "rc" ]]; then
  68. sed -i \
  69. -e "/^boot_version/c\boot_version: \"${HARD_RC}\"" \
  70. -e "/^boot_domain/c\boot_domain: ${STAGING_URL}/rc" \
  71. user_overrides.yml
  72. docker build -t localbuild -f ${DOCKER_FILE} .
  73. docker run --rm -i -v $(pwd):/buildout localbuild
  74. fi
  75. echo "creating s3out-latest"
  76. mkdir -p s3out-latest
  77. echo "copy files"
  78. cp -r buildout/* s3out-latest/
  79. ls -la
  80. pwd
  81. fi