package_reh.sh 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #!/usr/bin/env bash
  2. # shellcheck disable=SC1091
  3. set -ex
  4. if [[ "${CI_BUILD}" == "no" ]]; then
  5. exit 1
  6. fi
  7. # include common functions
  8. . ./utils.sh
  9. mkdir -p assets
  10. tar -xzf ./vscode.tar.gz
  11. cd vscode || { echo "'vscode' dir not found"; exit 1; }
  12. export VSCODE_PLATFORM='alpine'
  13. export VSCODE_SKIP_NODE_VERSION_CHECK=1
  14. VSCODE_HOST_MOUNT="$( pwd )"
  15. VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:alpine-${VSCODE_ARCH}"
  16. export VSCODE_HOST_MOUNT VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME
  17. if [[ -d "../patches/alpine/reh/" ]]; then
  18. for file in "../patches/alpine/reh/"*.patch; do
  19. if [[ -f "${file}" ]]; then
  20. apply_patch "${file}"
  21. fi
  22. done
  23. fi
  24. for i in {1..5}; do # try 5 times
  25. npm ci && break
  26. if [[ $i == 3 ]]; then
  27. echo "Npm install failed too many times" >&2
  28. exit 1
  29. fi
  30. echo "Npm install failed $i, trying again..."
  31. done
  32. node build/azure-pipelines/distro/mixin-npm
  33. if [[ "${VSCODE_ARCH}" == "x64" ]]; then
  34. PA_NAME="linux-alpine"
  35. else
  36. PA_NAME="alpine-arm64"
  37. fi
  38. if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
  39. echo "Building REH"
  40. npm run gulp minify-vscode-reh
  41. npm run gulp "vscode-reh-${PA_NAME}-min-ci"
  42. pushd "../vscode-reh-${PA_NAME}"
  43. echo "Archiving REH"
  44. tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
  45. popd
  46. fi
  47. if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
  48. echo "Building REH-web"
  49. npm run gulp minify-vscode-reh-web
  50. npm run gulp "vscode-reh-web-${PA_NAME}-min-ci"
  51. pushd "../vscode-reh-web-${PA_NAME}"
  52. echo "Archiving REH-web"
  53. tar czf "../assets/${APP_NAME_LC}-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
  54. popd
  55. fi
  56. cd ..
  57. npm install -g checksum
  58. sum_file() {
  59. if [[ -f "${1}" ]]; then
  60. echo "Calculating checksum for ${1}"
  61. checksum -a sha256 "${1}" > "${1}".sha256
  62. checksum "${1}" > "${1}".sha1
  63. fi
  64. }
  65. cd assets
  66. for FILE in *; do
  67. if [[ -f "${FILE}" ]]; then
  68. sum_file "${FILE}"
  69. fi
  70. done
  71. cd ..