#!/usr/bin/env bash # shellcheck disable=SC1091 set -ex if [[ "${CI_BUILD}" == "no" ]]; then exit 1 fi tar -xzf ./vscode.tar.gz cd vscode || { echo "'vscode' dir not found"; exit 1; } export VSCODE_PLATFORM='alpine' export VSCODE_SKIP_NODE_VERSION_CHECK=1 VSCODE_HOST_MOUNT="$( pwd )" VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:alpine-${VSCODE_ARCH}" export VSCODE_HOST_MOUNT VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME if [[ -d "../patches/alpine/reh/" ]]; then for file in "../patches/alpine/reh/"*.patch; do if [[ -f "${file}" ]]; then echo applying patch: "${file}"; if ! git apply --ignore-whitespace "${file}"; then echo failed to apply patch "${file}" >&2 exit 1 fi fi done fi for i in {1..5}; do # try 5 times npm ci && break if [[ $i == 3 ]]; then echo "Npm install failed too many times" >&2 exit 1 fi echo "Npm install failed $i, trying again..." done node build/azure-pipelines/distro/mixin-npm yarn gulp minify-vscode-reh if [[ "${VSCODE_ARCH}" == "x64" ]]; then PA_NAME="linux-alpine" else PA_NAME="alpine-arm64" fi yarn gulp "vscode-reh-${PA_NAME}-min-ci" cd .. APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )" mkdir -p assets echo "Building and moving REH" cd "vscode-reh-${PA_NAME}" tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" . cd .. npm install -g checksum sum_file() { if [[ -f "${1}" ]]; then echo "Calculating checksum for ${1}" checksum -a sha256 "${1}" > "${1}".sha256 checksum "${1}" > "${1}".sha1 fi } cd assets for FILE in *; do if [[ -f "${FILE}" ]]; then sum_file "${FILE}" fi done cd ..