build_release 1.9 KB

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