feat: add Github Enterprise support (#1926)

This commit is contained in:
Lex 2024-06-11 12:30:12 -05:00 committed by GitHub
parent 8c9acad540
commit 0c31a54dea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 22 additions and 9 deletions

View file

@ -3,17 +3,22 @@
set -e
if [[ -z "${GITHUB_TOKEN}" ]]; then
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
echo "Will not build because no GITHUB_TOKEN defined"
exit 0
else
GITHUB_TOKEN="${GH_TOKEN:-${GITHUB_TOKEN:-${GH_ENTERPRISE_TOKEN:-${GITHUB_ENTERPRISE_TOKEN}}}}"
fi
# Support for GitHub Enterprise
GH_HOST="${GH_HOST:-github.com}"
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
if [[ "${SHOULD_DEPLOY}" == "no" ]]; then
ASSETS="null"
else
GITHUB_RESPONSE=$( curl -s -H "Authorization: token ${GITHUB_TOKEN}" "https://api.github.com/repos/${ASSETS_REPOSITORY}/releases/latest" )
GITHUB_RESPONSE=$( curl -s -H "Authorization: token ${GITHUB_TOKEN}" "https://api.${GH_HOST}/repos/${ASSETS_REPOSITORY}/releases/latest" )
LATEST_VERSION=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.tag_name' )
RECHECK_ASSETS="${SHOULD_BUILD}"

View file

@ -2,7 +2,7 @@
set -e
if [[ -z "${GITHUB_TOKEN}" ]]; then
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
echo "Will not release because no GITHUB_TOKEN defined"
exit
fi

View file

@ -7,10 +7,13 @@ export SHOULD_BUILD="no"
export SHOULD_DEPLOY_TO_RELEASE="no"
export SHOULD_DEPLOY_TO_STORE="no"
# Support for GitHub Enterprise
GH_HOST="${GH_HOST:-github.com}"
if [[ "${GENERATE_ASSETS}" == "true" ]]; then
export SHOULD_BUILD="yes"
else
wget --quiet "https://api.github.com/repos/${ASSETS_REPOSITORY}/releases" -O gh_latest.json
wget --quiet "https://api.${GH_HOST}/repos/${ASSETS_REPOSITORY}/releases" -O gh_latest.json
SNAP_URL=$( jq -r 'map(select(.tag_name == "'"${RELEASE_VERSION}"'"))|first.assets[].browser_download_url|select(endswith("'"_${ARCHITECTURE}.snap"'"))' gh_latest.json )
if [[ -z "${SNAP_URL}" ]]; then

View file

@ -7,7 +7,7 @@ if [[ "${SHOULD_BUILD}" != "yes" ]]; then
exit 0
fi
if [[ -z "${GITHUB_TOKEN}" ]]; then
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
echo "Will not update ${VSCODE_QUALITY}.json because no GITHUB_TOKEN defined"
exit 0
fi

View file

@ -8,11 +8,16 @@ if [[ "${SHOULD_BUILD}" != "yes" && "${FORCE_UPDATE}" != "true" ]]; then
exit 0
fi
if [[ -z "${GITHUB_TOKEN}" ]]; then
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
echo "Will not update version JSON because no GITHUB_TOKEN defined"
exit 0
else
GITHUB_TOKEN="${GH_TOKEN:-${GITHUB_TOKEN:-${GH_ENTERPRISE_TOKEN:-${GITHUB_ENTERPRISE_TOKEN}}}}"
fi
# Support for GitHub Enterprise
GH_HOST="${GH_HOST:-github.com}"
if [[ "${FORCE_UPDATE}" == "true" ]]; then
. version.sh
fi
@ -47,7 +52,7 @@ fi
# `sha256hash` in <filename>.sha256
REPOSITORY_NAME="${VERSIONS_REPOSITORY/*\//}"
URL_BASE="https://github.com/${ASSETS_REPOSITORY}/releases/download/${RELEASE_VERSION}"
URL_BASE="https://${GH_HOST}/${ASSETS_REPOSITORY}/releases/download/${RELEASE_VERSION}"
generateJson() {
local url name version productVersion sha1hash sha256hash timestamp
@ -115,12 +120,12 @@ updateLatestVersion() {
# init versions repo for later commiting + pushing the json file to it
# thank you https://www.vinaygopinath.me/blog/tech/commit-to-master-branch-on-github-using-travis-ci/
git clone "https://github.com/${VERSIONS_REPOSITORY}.git"
git clone "https://${GH_HOST}/${VERSIONS_REPOSITORY}.git"
cd "${REPOSITORY_NAME}" || { echo "'${REPOSITORY_NAME}' dir not found"; exit 1; }
git config user.email "$( echo "${GITHUB_USERNAME}" | awk '{print tolower($0)}' )-ci@not-real.com"
git config user.name "${GITHUB_USERNAME} CI"
git remote rm origin
git remote add origin "https://${GITHUB_USERNAME}:${GITHUB_TOKEN}@github.com/${VERSIONS_REPOSITORY}.git" &> /dev/null
git remote add origin "https://${GITHUB_USERNAME}:${GITHUB_TOKEN}@${GH_HOST}/${VERSIONS_REPOSITORY}.git" &> /dev/null
cd ..
if [[ "${OS_NAME}" == "osx" ]]; then