check_version.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env bash
  2. # shellcheck disable=SC2129
  3. set -e
  4. export SHOULD_BUILD="no"
  5. export SHOULD_DEPLOY_TO_RELEASE="no"
  6. export SHOULD_DEPLOY_TO_STORE="no"
  7. # Support for GitHub Enterprise
  8. GH_HOST="${GH_HOST:-github.com}"
  9. if [[ "${GENERATE_ASSETS}" == "true" ]]; then
  10. export SHOULD_BUILD="yes"
  11. else
  12. wget --quiet "https://api.${GH_HOST}/repos/${ASSETS_REPOSITORY}/releases" -O gh_latest.json
  13. SNAP_URL=$( jq -r 'map(select(.tag_name == "'"${RELEASE_VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${ARCHITECTURE}.snap"'"))' gh_latest.json )
  14. if [[ -z "${SNAP_URL}" ]]; then
  15. export SHOULD_BUILD="yes"
  16. export SHOULD_DEPLOY_TO_RELEASE="yes"
  17. fi
  18. if [[ "${VSCODE_QUALITY}" == "stable" ]]; then
  19. CHANNEL="${SNAPCRAFT_STORE_CHANNEL:-stable}"
  20. sudo snap install --channel stable --classic snapcraft
  21. echo "Architecture: ${ARCHITECTURE}"
  22. SNAP_VERSION=$( snapcraft list-revisions "${SNAP_NAME}" | grep -F "${CHANNEL}*" | grep "${ARCHITECTURE}" | tr -s ' ' | cut -d ' ' -f 4 )
  23. echo "Snap version: ${SNAP_VERSION}"
  24. if [[ -n "${SNAP_VERSION}" && "${SNAP_VERSION}" != "${RELEASE_VERSION}" ]]; then
  25. export SHOULD_BUILD="yes"
  26. export SHOULD_DEPLOY_TO_STORE="yes"
  27. snap version
  28. snap info "${SNAP_NAME}" || true
  29. fi
  30. fi
  31. fi
  32. if [[ "${GITHUB_ENV}" ]]; then
  33. echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
  34. echo "SHOULD_DEPLOY_TO_RELEASE=${SHOULD_DEPLOY_TO_RELEASE}" >> "${GITHUB_ENV}"
  35. echo "SHOULD_DEPLOY_TO_STORE=${SHOULD_DEPLOY_TO_STORE}" >> "${GITHUB_ENV}"
  36. fi