| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | 
							- #!/usr/bin/env bash
 
- # shellcheck disable=SC2129
 
- set -e
 
- # git workaround
 
- if [[ "${CI_BUILD}" != "no" ]]; then
 
-   git config --global --add safe.directory "/__w/$( echo "${GITHUB_REPOSITORY}" | awk '{print tolower($0)}' )"
 
- fi
 
- if [[ -z "${RELEASE_VERSION}" ]]; then
 
-   if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
 
-     if [[ "${VSCODE_LATEST}" == "yes" ]] || [[ ! -f "insider.json" ]]; then
 
-       UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/insider/0000000000000000000000000000000000000000 )
 
-     else
 
-       MS_COMMIT=$( jq -r '.commit' insider.json )
 
-       MS_TAG=$( jq -r '.tag' insider.json )
 
-     fi
 
-   else
 
-     UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/stable/0000000000000000000000000000000000000000 )
 
-   fi
 
-   if [[ -z "${MS_COMMIT}" ]]; then
 
-     MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
 
-     MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
 
-     if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
 
-       MS_TAG="${MS_TAG/\-insider/}"
 
-     fi
 
-   fi
 
-   date=$( date +%Y%j )
 
-   if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
 
-     RELEASE_VERSION="${MS_TAG}.${date: -5}-insider"
 
-   else
 
-     RELEASE_VERSION="${MS_TAG}.${date: -5}"
 
-   fi
 
- else
 
-   if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
 
-     if [[ "${RELEASE_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.[0-9]+-insider$ ]];
 
-     then
 
-       MS_TAG="${BASH_REMATCH[1]}"
 
-     else
 
-       echo "Error: Bad RELEASE_VERSION: ${RELEASE_VERSION}"
 
-       exit 1
 
-     fi
 
-     if [[ "${MS_TAG}" == "$( jq -r '.tag' insider.json )" ]]; then
 
-       MS_COMMIT=$( jq -r '.commit' insider.json )
 
-     else
 
-       echo "Error: No MS_COMMIT for ${RELEASE_VERSION}"
 
-       exit 1
 
-     fi
 
-   else
 
-     if [[ "${RELEASE_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.[0-9]+$ ]];
 
-     then
 
-       MS_TAG="${BASH_REMATCH[1]}"
 
-     else
 
-       echo "Error: Bad RELEASE_VERSION: ${RELEASE_VERSION}"
 
-       exit 1
 
-     fi
 
-   fi
 
- fi
 
- echo "RELEASE_VERSION=\"${RELEASE_VERSION}\""
 
- mkdir -p vscode
 
- cd vscode || { echo "'vscode' dir not found"; exit 1; }
 
- git init -q
 
- git remote add origin https://github.com/Microsoft/vscode.git
 
- # figure out latest tag by calling MS update API
 
- if [[ -z "${MS_TAG}" ]]; then
 
-   if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
 
-     UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/insider/0000000000000000000000000000000000000000 )
 
-   else
 
-     UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/stable/0000000000000000000000000000000000000000 )
 
-   fi
 
-   MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
 
-   MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
 
- elif [[ -z "${MS_COMMIT}" ]]; then
 
-   REFERENCE=$( git ls-remote --tags | grep -x ".*refs\/tags\/${MS_TAG}" | head -1 )
 
-   if [[ -z "${REFERENCE}" ]]; then
 
-     echo "Error: The following tag can't be found: ${MS_TAG}"
 
-     exit 1
 
-   elif [[ "${REFERENCE}" =~ ^([[:alnum:]]+)[[:space:]]+refs\/tags\/([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
 
-     MS_COMMIT="${BASH_REMATCH[1]}"
 
-     MS_TAG="${BASH_REMATCH[2]}"
 
-   else
 
-     echo "Error: The following reference can't be parsed: ${REFERENCE}"
 
-     exit 1
 
-   fi
 
- fi
 
- echo "MS_TAG=\"${MS_TAG}\""
 
- echo "MS_COMMIT=\"${MS_COMMIT}\""
 
- git fetch --depth 1 origin "${MS_COMMIT}"
 
- git checkout FETCH_HEAD
 
- cd ..
 
- # for GH actions
 
- if [[ "${GITHUB_ENV}" ]]; then
 
-   echo "MS_TAG=${MS_TAG}" >> "${GITHUB_ENV}"
 
-   echo "MS_COMMIT=${MS_COMMIT}" >> "${GITHUB_ENV}"
 
-   echo "RELEASE_VERSION=${RELEASE_VERSION}" >> "${GITHUB_ENV}"
 
- fi
 
- export MS_TAG
 
- export MS_COMMIT
 
- export RELEASE_VERSION
 
 
  |