Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: port back changes made inside the insider branch #1225

Merged
merged 12 commits into from Aug 30, 2022
8 changes: 7 additions & 1 deletion .github/workflows/insider-linux.yml
Expand Up @@ -2,6 +2,10 @@ name: insider-linux

on:
workflow_dispatch:
inputs:
release_version:
type: string
description: Forced release version
schedule:
- cron: '0 1 * * *'
push:
Expand Down Expand Up @@ -53,6 +57,8 @@ jobs:
run: npm install -g yarn

- name: Clone VSCode repo
env:
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
run: ./get_repo.sh

- name: Check PR or cron
Expand Down Expand Up @@ -95,7 +101,7 @@ jobs:

- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'

Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/insider-macos.yml
Expand Up @@ -2,6 +2,10 @@ name: insider-macos

on:
workflow_dispatch:
inputs:
release_version:
type: string
description: Forced release version
schedule:
- cron: '0 1 * * *'
push:
Expand Down Expand Up @@ -38,6 +42,8 @@ jobs:
node-version: 16

- name: Clone VSCode repo
env:
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
run: . get_repo.sh

- name: Check PR or cron
Expand All @@ -46,7 +52,6 @@ jobs:
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NEW_RELEASE: ${{ github.event.inputs.new_release }}
run: . check_tags.sh
if: env.SHOULD_DEPLOY == 'yes'

Expand Down Expand Up @@ -84,7 +89,7 @@ jobs:

- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'

Expand Down
9 changes: 7 additions & 2 deletions .github/workflows/insider-windows.yml
Expand Up @@ -2,6 +2,10 @@ name: insider-windows

on:
workflow_dispatch:
inputs:
release_version:
type: string
description: Forced release version
schedule:
- cron: '0 1 * * *'
push:
Expand Down Expand Up @@ -48,6 +52,8 @@ jobs:
python-version: '3.x'

- name: Clone VSCode repo
env:
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
run: ./get_repo.sh

- name: Check PR or cron
Expand All @@ -56,7 +62,6 @@ jobs:
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NEW_RELEASE: ${{ github.event.inputs.new_release }}
run: ./check_tags.sh
if: env.SHOULD_DEPLOY == 'yes'

Expand Down Expand Up @@ -92,7 +97,7 @@ jobs:

- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'

Expand Down
10 changes: 5 additions & 5 deletions build/build.sh
Expand Up @@ -44,11 +44,11 @@ else
export VSCODE_ARCH="x64"
fi

echo "OS_NAME: ${OS_NAME}"
echo "SKIP_PACKAGES: ${SKIP_PACKAGES}"
echo "VSCODE_ARCH: ${VSCODE_ARCH}"
echo "VSCODE_LATEST: ${VSCODE_LATEST}"
echo "VSCODE_QUALITY: ${VSCODE_QUALITY}"
echo "OS_NAME=\"${OS_NAME}\""
echo "SKIP_PACKAGES=\"${SKIP_PACKAGES}\""
echo "VSCODE_ARCH=\"${VSCODE_ARCH}\""
echo "VSCODE_LATEST=\"${VSCODE_LATEST}\""
echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\""

rm -rf vscode* VSCode*

Expand Down
10 changes: 5 additions & 5 deletions build/build_docker.sh
Expand Up @@ -40,11 +40,11 @@ else
export VSCODE_ARCH="armhf"
fi

echo "OS_NAME: ${OS_NAME}"
echo "SKIP_PACKAGES: ${SKIP_PACKAGES}"
echo "VSCODE_ARCH: ${VSCODE_ARCH}"
echo "VSCODE_LATEST: ${VSCODE_LATEST}"
echo "VSCODE_QUALITY: ${VSCODE_QUALITY}"
echo "OS_NAME=\"${OS_NAME}\""
echo "SKIP_PACKAGES=\"${SKIP_PACKAGES}\""
echo "VSCODE_ARCH=\"${VSCODE_ARCH}\""
echo "VSCODE_LATEST=\"${VSCODE_LATEST}\""
echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\""

rm -rf vscode* VSCode*

Expand Down
2 changes: 1 addition & 1 deletion build/linux/appimage/build.sh
Expand Up @@ -19,7 +19,7 @@ if [[ "${VSCODE_ARCH}" == "x64" ]]; then
sed -i 's/grep docker/# grep docker/' pkg2appimage.AppDir/usr/share/pkg2appimage/functions.sh

if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
sed -i 's|@@NAME@@|VSCodium - Insiders|g' recipe.yml
sed -i 's|@@NAME@@|VSCodium-Insiders|g' recipe.yml
sed -i 's|@@APPNAME@@|codium-insiders|g' recipe.yml
sed -i 's|@@ICON@@|vscodium-insiders|g' recipe.yml
else
Expand Down
16 changes: 11 additions & 5 deletions build/windows/msi/build.sh
Expand Up @@ -12,11 +12,15 @@ WIN_SDK_FULL_VERSION="10.0.17763.0"
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
PRODUCT_NAME="VSCodium - Insiders"
PRODUCT_SKU="vscodium-insiders"
PRODUCT_UPGRADE_CODE="1C9B7195-5A9A-43B3-B4BD-583E20498467"
ICON_DIR="..\\..\\..\\src\\insider\\resources\\win32"
SETUP_RESOURCES_DIR=".\\resources\\insider"
else
PRODUCT_NAME="VSCodium"
PRODUCT_SKU="vscodium"
PRODUCT_UPGRADE_CODE="965370CD-253C-4720-82FC-2E6B02A53808"
ICON_DIR="..\\..\\..\\src\\stable\\resources\\win32"
SETUP_RESOURCES_DIR=".\\resources\\stable"
fi

PRODUCT_ID=$( powershell.exe -command "[guid]::NewGuid().ToString().ToUpper()" )
Expand All @@ -26,15 +30,14 @@ CULTURE="en-us"
LANGIDS="1033"

SETUP_RELEASE_DIR=".\\releasedir"
SETUP_RESOURCES_DIR=".\\resources"
BINARY_DIR="..\\..\\..\\VSCode-win32-${VSCODE_ARCH}"
LICENSE_DIR="..\\..\\..\\vscode"
PROGRAM_FILES_86=$( env | sed -n 's/^ProgramFiles(x86)=//p' )

if [[ -z "${1}" ]]; then
OUTPUT_BASE_FILENAME="${PRODUCT_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}"
OUTPUT_BASE_FILENAME="VSCodium-${VSCODE_ARCH}-${RELEASE_VERSION}"
else
OUTPUT_BASE_FILENAME="${PRODUCT_NAME}-${VSCODE_ARCH}-${1}-${RELEASE_VERSION}"
OUTPUT_BASE_FILENAME="VSCodium-${VSCODE_ARCH}-${1}-${RELEASE_VERSION}"
fi

if [[ "${VSCODE_ARCH}" == "ia32" ]]; then
Expand All @@ -43,7 +46,10 @@ else
export PLATFORM="${VSCODE_ARCH}"
fi

sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g" .\\i18n\\*.wsl
sed -i "s|@@PRODUCT_UPGRADE_CODE@@|${PRODUCT_UPGRADE_CODE}|g" .\\includes\\vscodium-variables.wxi
sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g" .\\vscodium.xsl

find i18n -name '*.wxl' -exec sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g" {} \;

BuildSetupTranslationTransform() {
local CULTURE=${1}
Expand All @@ -53,7 +59,7 @@ BuildSetupTranslationTransform() {

echo "Building setup translation for culture \"${CULTURE}\" with LangID \"${LANGID}\"..."

"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -reusecab -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" -loc "i18n\\${PRODUCT_SKU}.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -reusecab -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" -loc "i18n\\vscodium.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69

cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\WiLangId.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" Product "${LANGID}"

Expand Down
4 changes: 2 additions & 2 deletions build/windows/msi/includes/vscodium-variables.wxi
Expand Up @@ -22,6 +22,6 @@
<?define ProductManufacturerLong="$(var.AppName)" ?>

<!-- Static settings, DO NOT TOUCH or upgrades will break! -->
<?define ProductUpgradeCode="{965370CD-253C-4720-82FC-2E6B02A53808}" ?>
<?define ProductUpgradeCode="{@@PRODUCT_UPGRADE_CODE@@}" ?>
<?define RTMProductVersion="0.0.1" ?>
</Include>
</Include>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion build/windows/msi/vscodium.wxs
Expand Up @@ -1110,7 +1110,7 @@
<Feature Id="FeatureFileTypeAssociations" Title="!(loc.FeatureFileTypeAssociationsTitle)" Description="!(loc.FeatureFileTypeAssociationsDescription)" Level="2" Absent="allow" AllowAdvertise="no" InstallDefault="followParent">
<ComponentRef Id="AddFileTypeAssociationVSCodiumSourceFile" />
<ComponentRef Id="AddFileTypeAssociationApplicationsVSCodium" />

<Feature Id="FeatureFileTypeAssocASCX" Title=".ascx" Description="ASCX" Level="2" Absent="allow" AllowAdvertise="no" InstallDefault="followParent">
<ComponentRef Id="AddFileTypeAssociationASCX" />
</Feature>
Expand Down
8 changes: 4 additions & 4 deletions build/windows/msi/vscodium.xsl
@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wi="http://schemas.microsoft.com/wix/2006/wi">

<xsl:strip-space elements="*"/>

<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>

<xsl:key name="vId1ToReplace" match="wi:Component[wi:File[contains(@Source,'VSCodium.exe')]]" use="@Id"/>
<xsl:key name="vId1ToReplace" match="wi:Component[wi:File[contains(@Source,'@@PRODUCT_NAME@@.exe')]]" use="@Id"/>
<xsl:template match="node()[key('vId1ToReplace', @Id)]">
<xsl:copy>
<xsl:attribute name="Id">VSCODIUM.EXE</xsl:attribute>
<xsl:copy-of select="@*[name()!='Id']"/>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="wi:Component/wi:File[contains(@Source,'VSCodium.exe')]">
<xsl:template match="wi:Component/wi:File[contains(@Source,'@@PRODUCT_NAME@@.exe')]">
<xsl:copy>
<xsl:attribute name="Id">VSCODIUM.EXE</xsl:attribute>
<xsl:copy-of select="@*[name()!='Id']"/>
Expand Down
32 changes: 25 additions & 7 deletions get_repo.sh
Expand Up @@ -32,16 +32,33 @@ if [[ -z "${RELEASE_VERSION}" ]]; then
export RELEASE_VERSION="${MS_TAG}.${date: -5}"
fi
else
if [[ "${RELEASE_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.[0-9]+$ ]];
then
MS_TAG="${BASH_REMATCH[1]}"
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 "Bad RELEASE_VERSION: ${RELEASE_VERSION}"
exit 1
fi

if [[ "${MS_TAG}" == "$(jq -r '.tag' insider.json)" ]]; then
export MS_COMMIT=$(jq -r '.commit' insider.json)
else
echo "No MS_COMMIT for ${RELEASE_VERSION}"
exit 1
fi
else
echo "Bad RELEASE_VERSION: ${RELEASE_VERSION}"
exit 1
if [[ "${RELEASE_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.[0-9]+$ ]];
then
MS_TAG="${BASH_REMATCH[1]}"
else
echo "Bad RELEASE_VERSION: ${RELEASE_VERSION}"
exit 1
fi
fi
fi

echo "Release version: ${RELEASE_VERSION}"
echo "RELEASE_VERSION=\"${RELEASE_VERSION}\""

mkdir -p vscode
cd vscode || { echo "'vscode' dir not found"; exit 1; }
Expand Down Expand Up @@ -73,7 +90,8 @@ elif [[ -z "${MS_COMMIT}" ]]; then
fi
fi

echo "Got the MS tag: ${MS_TAG} version: ${MS_COMMIT}"
echo "MS_TAG=\"${MS_TAG}\""
echo "MS_COMMIT=\"${MS_COMMIT}\""

git fetch --depth 1 origin "${MS_COMMIT}"
git checkout FETCH_HEAD
Expand Down
12 changes: 6 additions & 6 deletions icons/build_icons.sh
Expand Up @@ -146,13 +146,13 @@ build_win32() {
convert -size 138x140 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp"
composite -size 116x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp"
fi
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp" ]; then
convert -size 493x58 xc:white "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp"
composite -geometry +438+6 \( "icons/${QUALITY}/codium_only.svg" -resize 50x50 \) "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp" "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp"
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp" ]; then
convert -size 493x58 xc:white "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp"
composite -geometry +438+6 \( "icons/${QUALITY}/codium_only.svg" -resize 50x50 \) "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp" "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp"
fi
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp" ]; then
convert -size 493x312 xc:white "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp"
composite -geometry +22+152 \( "icons/${QUALITY}/codium_only.svg" -resize 120x90 \) "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp" "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp"
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp" ]; then
convert -size 493x312 xc:white "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp"
composite -geometry +22+152 \( "icons/${QUALITY}/codium_only.svg" -resize 120x90 \) "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp" "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp"
fi
}

Expand Down
2 changes: 1 addition & 1 deletion prepare_artifacts.sh
Expand Up @@ -148,7 +148,7 @@ else
echo "Moving AppImage"
mv build/linux/appimage/out/*.AppImage* artifacts/

rename '_-_' '-' artifacts/*.AppImage
find artifacts -name '*.AppImage*' -exec bash -c 'mv $0 ${0/_-_/-}' {} \;
fi

VSCODE_PLATFORM="linux"
Expand Down
8 changes: 4 additions & 4 deletions release.sh
Expand Up @@ -18,9 +18,9 @@ fi

npm install -g github-release-cli

if [[ $( gh release view "${RELEASE_VERSION}" 2>&1 ) =~ "release not found" ]]; then
if [[ $( gh release view --repo "${OWNER}/${REPOSITORY}" "${RELEASE_VERSION}" 2>&1 ) =~ "release not found" ]]; then
echo "Creating release '${RELEASE_VERSION}'"
gh release create --repo "${REPOSITORY}" "${RELEASE_VERSION}"
gh release create --repo "${OWNER}/${REPOSITORY}" "${RELEASE_VERSION}"
fi

cd artifacts
Expand All @@ -31,7 +31,7 @@ for FILE in *
do
if [[ -f "${FILE}" ]] && [[ "${FILE}" != *.sha1 ]] && [[ "${FILE}" != *.sha256 ]]; then
echo "::group::Uploading '${FILE}' at $( date "+%T" )"
gh release upload --repo "${REPOSITORY}" "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
gh release upload --repo "${OWNER}/${REPOSITORY}" "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"

EXIT_STATUS=$?
echo "exit: ${EXIT_STATUS}"
Expand All @@ -44,7 +44,7 @@ do
sleep $(( 15 * (i + 1)))

echo "RE-Uploading '${FILE}' at $( date "+%T" )"
gh release upload --repo "${REPOSITORY}" "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
gh release upload --repo "${OWNER}/${REPOSITORY}" "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"

EXIT_STATUS=$?
echo "exit: ${EXIT_STATUS}"
Expand Down