1
0

build_release 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. NBXYZ_OVERRIDES=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. NBXYZ_OVERRIDES=default
  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 --build-arg NBXYZ_OVERRIDES=${NBXYZ_OVERRIDES} .
  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 --build-arg NBXYZ_OVERRIDES=${NBXYZ_OVERRIDES} .
  64. docker run --rm -i -v $(pwd):/buildout localbuild
  65. fi
  66. if [[ "${TYPE}" == "rc" ]]; then
  67. sed -i \
  68. -e "/^boot_version/c\boot_version: \"${HARD_RC}\"" \
  69. -e "/^boot_domain/c\boot_domain: ${STAGING_URL}/rc" \
  70. user_overrides.yml
  71. docker build -t localbuild --build-arg NBXYZ_OVERRIDES=${NBXYZ_OVERRIDES} .
  72. docker run --rm -i -v $(pwd):/buildout localbuild
  73. fi
  74. mkdir -p s3out-latest
  75. cp -r buildout/* s3out-latest/
  76. fi