build_release 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. fi
  25. sed -i \
  26. "/^#boot_version/c\boot_version: \"${BOOT_VERSION}\"" \
  27. user_overrides.yml
  28. sed -i \
  29. "/^#boot_domain/c\boot_domain: ${BOOT_DOMAIN}" \
  30. user_overrides.yml
  31. # Build release
  32. docker build -t localbuild -f ${DOCKER_FILE} .
  33. docker run --rm -i -v $(pwd):/buildout localbuild
  34. # Generate folder outputs
  35. mkdir -p s3out
  36. mkdir -p s3outver
  37. cp -r buildout/* s3out/
  38. cp buildout/version.ipxe s3outver/
  39. mkdir -p githubout
  40. mv buildout/ipxe/* githubout/
  41. cd buildout
  42. rm -Rf ipxe
  43. tar -czf menus.tar.gz *
  44. mv menus.tar.gz ../githubout
  45. cd ..
  46. if [[ "${TYPE}" == "dev" ]]; then
  47. cp githubout/menus.tar.gz s3out/
  48. fi
  49. # Latest style endpoints for RC and Live
  50. if [[ "${TYPE}" == "release" ]] || [[ "${TYPE}" == "rc" ]]; then
  51. rm -Rf buildout/
  52. if [[ "${TYPE}" == "release" ]]; then
  53. sed -i \
  54. -e "/^boot_version/c\boot_version: \"${HARD_RELEASE}\"" \
  55. -e "/^boot_domain/c\boot_domain: ${PROD_URL}" \
  56. user_overrides.yml
  57. docker build -t localbuild -f ${DOCKER_FILE} .
  58. docker run --rm -it -v $(pwd):/buildout localbuild
  59. fi
  60. if [[ "${TYPE}" == "rc" ]]; then
  61. sed -i \
  62. -e "/^boot_version/c\boot_version: \"${HARD_RC}\"" \
  63. -e "/^boot_domain/c\boot_domain: ${STAGING_URL}/rc" \
  64. user_overrides.yml
  65. docker build -t localbuild -f ${DOCKER_FILE} .
  66. docker run --rm -i -v $(pwd):/buildout localbuild
  67. fi
  68. mkdir -p s3out-latest
  69. cp -r buildout/* s3out-latest/
  70. fi