mirror of
https://github.com/VSCodium/vscodium.git
synced 2026-04-18 05:34:41 +10:00
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
32583f3bd7 | ||
|
|
ac4bb3f987 | ||
|
|
3471de4d49 | ||
|
|
45af9e614b | ||
|
|
9f3136fd35 | ||
|
|
07ec36ff69 | ||
|
|
8c04967b7e | ||
|
|
1082261042 | ||
|
|
4c7c82fe06 | ||
|
|
138269d3cf | ||
|
|
661608ed6f | ||
|
|
6d33f26e3b | ||
|
|
cab264b133 |
82
.github/workflows/linux.yml
vendored
82
.github/workflows/linux.yml
vendored
@@ -10,19 +10,27 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
linux:
|
linux:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
continue-on-error: ${{ matrix.probably_fails }}
|
container:
|
||||||
|
image: ${{ matrix.image }}
|
||||||
|
env:
|
||||||
|
OS_NAME: 'linux'
|
||||||
|
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
arch: [x64, arm64]
|
vscode_arch: [x64, arm64, arm]
|
||||||
probably_fails: [false]
|
|
||||||
include:
|
include:
|
||||||
- arch: arm
|
- vscode_arch: x64
|
||||||
probably_fails: true
|
npm_arch: x64
|
||||||
|
image: vscodium/vscodium-linux-build-agent:x64
|
||||||
|
- vscode_arch: arm64
|
||||||
|
npm_arch: arm64
|
||||||
|
image: vscodium/vscodium-linux-build-agent:buster-arm64
|
||||||
|
- vscode_arch: arm
|
||||||
|
npm_arch: armv7l
|
||||||
|
image: vscodium/vscodium-linux-build-agent:buster-armhf
|
||||||
|
|
||||||
env:
|
|
||||||
OS_NAME: 'linux'
|
|
||||||
BUILDARCH: ${{ matrix.arch }}
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
@@ -31,70 +39,28 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
node-version: 12.14.1
|
node-version: 12.14.1
|
||||||
|
|
||||||
|
- name: Install Yarn
|
||||||
|
run: npm install -g yarn
|
||||||
|
|
||||||
- name: Clone VSCode repo
|
- name: Clone VSCode repo
|
||||||
run: |
|
run: ./get_repo.sh
|
||||||
. get_repo.sh
|
|
||||||
echo "::set-env name=LATEST_MS_TAG::$LATEST_MS_TAG"
|
|
||||||
echo "::set-env name=LATEST_MS_COMMIT::$LATEST_MS_COMMIT"
|
|
||||||
|
|
||||||
- name: Check existing VSCodium tags/releases
|
- name: Check existing VSCodium tags/releases
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: ./check_tags.sh
|
||||||
. check_tags.sh
|
|
||||||
echo "::set-env name=SHOULD_BUILD::$SHOULD_BUILD"
|
|
||||||
|
|
||||||
- name: Install build deps
|
|
||||||
run: |
|
|
||||||
triplet=
|
|
||||||
case $BUILDARCH in
|
|
||||||
arm)
|
|
||||||
arch=armhf
|
|
||||||
triplet=arm-linux-gnueabihf
|
|
||||||
;;
|
|
||||||
|
|
||||||
arm64)
|
|
||||||
arch=arm64
|
|
||||||
triplet=aarch64-linux-gnu
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [[ -n "$triplet" ]]; then
|
|
||||||
sudo sed 's/^deb /deb [arch=amd64] '/g -i /etc/apt/sources.list
|
|
||||||
echo "deb [arch=$arch] http://ports.ubuntu.com/ubuntu-ports/ trusty main" | sudo tee -a /etc/apt/sources.list.d/$arch.list >/dev/null
|
|
||||||
sudo dpkg --add-architecture $arch
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install libc6-dev-$arch-cross gcc-$triplet g++-$triplet `apt-cache search x11proto | grep ^x11proto | cut -f 1 -d ' '` xz-utils pkg-config
|
|
||||||
mkdir -p dl
|
|
||||||
pushd dl
|
|
||||||
apt-get download libx11-dev:$arch libx11-6:$arch libxkbfile-dev:$arch libxkbfile1:$arch libxau-dev:$arch libxdmcp-dev:$arch libxcb1-dev:$arch libsecret-1-dev:$arch libsecret-1-0:$arch libpthread-stubs0-dev:$arch libglib2.0-dev:$arch libglib2.0-0:$arch libffi-dev:$arch libffi6:$arch zlib1g:$arch libpcre3-dev:$arch libpcre3:$arch
|
|
||||||
for i in *.deb; do ar x $i; sudo tar -C / -xf data.tar.*; rm -f data.tar.*; done
|
|
||||||
popd
|
|
||||||
echo "::set-env name=CC::/usr/bin/$triplet-gcc"
|
|
||||||
echo "::set-env name=CXX::/usr/bin/$triplet-g++"
|
|
||||||
echo "::set-env name=CC_host::/usr/bin/gcc"
|
|
||||||
echo "::set-env name=CXX_host::/usr/bin/g++"
|
|
||||||
echo "::set-env name=PKG_CONFIG_LIBDIR::/usr/lib/$triplet/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig"
|
|
||||||
export CC=/usr/bin/$triplet-gcc
|
|
||||||
export CXX=/usr/bin/$triplet-g++
|
|
||||||
export CC_host=/usr/bin/gcc
|
|
||||||
export CXX_host=/usr/bin/g++
|
|
||||||
export PKG_CONFIG_LIBDIR=/usr/lib/$triplet/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
|
|
||||||
fi
|
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
npm_config_arch: ${{ matrix.arch }}
|
npm_config_arch: ${{ matrix.npm_arch }}
|
||||||
npm_config_target_arch: ${{ matrix.arch }}
|
|
||||||
run: ./build.sh
|
run: ./build.sh
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
- name: Zip release
|
- name: Zip release
|
||||||
run: |
|
run: |
|
||||||
cd VSCode-linux-${BUILDARCH}
|
cd VSCode-linux-${VSCODE_ARCH}
|
||||||
tar czf ../VSCodium-linux-${BUILDARCH}-${LATEST_MS_TAG}.tar.gz .
|
tar czf ../VSCodium-linux-${VSCODE_ARCH}-${LATEST_MS_TAG}.tar.gz .
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
- name: Generate shasums
|
- name: Generate shasums
|
||||||
|
|||||||
11
build.sh
11
build.sh
@@ -9,7 +9,7 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
|||||||
echo "LATEST_MS_COMMIT: ${LATEST_MS_COMMIT}"
|
echo "LATEST_MS_COMMIT: ${LATEST_MS_COMMIT}"
|
||||||
echo "BUILD_SOURCEVERSION: ${BUILD_SOURCEVERSION}"
|
echo "BUILD_SOURCEVERSION: ${BUILD_SOURCEVERSION}"
|
||||||
|
|
||||||
if [[ "$OS_NAME" != "osx" ]]; then
|
if [[ "$CI_WINDOWS" == "True" ]]; then
|
||||||
export npm_config_arch="$BUILDARCH"
|
export npm_config_arch="$BUILDARCH"
|
||||||
export npm_config_target_arch="$BUILDARCH"
|
export npm_config_target_arch="$BUILDARCH"
|
||||||
fi
|
fi
|
||||||
@@ -36,11 +36,12 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
|||||||
yarn gulp "vscode-win32-${BUILDARCH}-system-setup"
|
yarn gulp "vscode-win32-${BUILDARCH}-system-setup"
|
||||||
yarn gulp "vscode-win32-${BUILDARCH}-user-setup"
|
yarn gulp "vscode-win32-${BUILDARCH}-user-setup"
|
||||||
else # linux
|
else # linux
|
||||||
yarn gulp vscode-linux-${BUILDARCH}-min-ci
|
yarn gulp vscode-linux-${VSCODE_ARCH}-min-ci
|
||||||
|
|
||||||
yarn gulp "vscode-linux-${BUILDARCH}-build-deb"
|
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
|
||||||
if [[ "$BUILDARCH" == "x64" ]]; then
|
|
||||||
yarn gulp "vscode-linux-${BUILDARCH}-build-rpm"
|
if [[ "$VSCODE_ARCH" == "x64" ]]; then
|
||||||
|
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
|
||||||
fi
|
fi
|
||||||
. ../create_appimage.sh
|
. ../create_appimage.sh
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ if [ "$GITHUB_TOKEN" != "" ]; then
|
|||||||
echo "Building on Mac because we have no ZIP"
|
echo "Building on Mac because we have no ZIP"
|
||||||
export SHOULD_BUILD="yes"
|
export SHOULD_BUILD="yes"
|
||||||
fi
|
fi
|
||||||
elif [[ $BUILDARCH == "arm64" ]]; then
|
elif [[ $VSCODE_ARCH == "arm64" ]]; then
|
||||||
HAVE_ARM64_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["arm64.deb"])')
|
HAVE_ARM64_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["arm64.deb"])')
|
||||||
HAVE_ARM64_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "arm64-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
|
HAVE_ARM64_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "arm64-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
|
||||||
if [[ "$HAVE_ARM64_DEB" != "true" ]]; then
|
if [[ "$HAVE_ARM64_DEB" != "true" ]]; then
|
||||||
@@ -29,7 +29,7 @@ if [ "$GITHUB_TOKEN" != "" ]; then
|
|||||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
||||||
echo "Already have all the Linux arm64 builds"
|
echo "Already have all the Linux arm64 builds"
|
||||||
fi
|
fi
|
||||||
elif [[ $BUILDARCH == "arm" ]]; then
|
elif [[ $VSCODE_ARCH == "arm" ]]; then
|
||||||
HAVE_ARM_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["armhf.deb"])')
|
HAVE_ARM_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["armhf.deb"])')
|
||||||
HAVE_ARM_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "arm-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
|
HAVE_ARM_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "arm-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
|
||||||
if [[ "$HAVE_ARM_DEB" != "true" ]]; then
|
if [[ "$HAVE_ARM_DEB" != "true" ]]; then
|
||||||
@@ -69,3 +69,4 @@ if [ "$GITHUB_TOKEN" != "" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "SHOULD_BUILD=$SHOULD_BUILD" >> $GITHUB_ENV
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
if [[ "$BUILDARCH" == "x64" ]]; then
|
if [[ "$VSCODE_ARCH" == "x64" ]]; then
|
||||||
# install a dep needed for this process
|
# install a dep needed for this process
|
||||||
sudo apt-get install desktop-file-utils
|
sudo apt-get install desktop-file-utils
|
||||||
|
|
||||||
|
|||||||
@@ -8,3 +8,9 @@ echo "Got the latest MS tag: ${LATEST_MS_TAG}"
|
|||||||
|
|
||||||
git clone https://github.com/Microsoft/vscode.git --branch $LATEST_MS_TAG --depth 1
|
git clone https://github.com/Microsoft/vscode.git --branch $LATEST_MS_TAG --depth 1
|
||||||
|
|
||||||
|
# for GH actions
|
||||||
|
if [[ "$CI_WINDOWS" != "True" ]]; then
|
||||||
|
echo "LATEST_MS_COMMIT=$LATEST_MS_COMMIT" >> $GITHUB_ENV
|
||||||
|
echo "LATEST_MS_TAG=$LATEST_MS_TAG" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [[ "$OS_NAME" != "osx" ]]; then
|
if [[ "$CI_WINDOWS" == "True" ]]; then
|
||||||
export npm_config_arch="$BUILDARCH"
|
export npm_config_arch="$BUILDARCH"
|
||||||
export npm_config_target_arch="$BUILDARCH"
|
export npm_config_target_arch="$BUILDARCH"
|
||||||
fi
|
fi
|
||||||
@@ -23,16 +23,10 @@ else
|
|||||||
yarn postinstall
|
yarn postinstall
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$BUILDARCH" == *"arm"* ]]; then
|
|
||||||
sed -i -z 's/,\n[^\n]*arm[^\n]*//' node_modules/vscode-sqlite3/binding.gyp
|
|
||||||
sed -i "s/Release\/sqlite'/Release\/sqlite.node'/" node_modules/vscode-sqlite3/lib/sqlite3.js
|
|
||||||
yarn add -D electron-rebuild
|
|
||||||
npx electron-rebuild -f -w vscode-sqlite3
|
|
||||||
fi
|
|
||||||
|
|
||||||
mv product.json product.json.bak
|
mv product.json product.json.bak
|
||||||
|
|
||||||
# set fields in product.json
|
# set fields in product.json
|
||||||
|
checksumFailMoreInfoUrl='setpath(["checksumFailMoreInfoUrl"]; "https://go.microsoft.com/fwlink/?LinkId=828886")'
|
||||||
tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
|
tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
|
||||||
twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
|
twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
|
||||||
requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
|
requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
|
||||||
@@ -62,7 +56,7 @@ urlProtocol='setpath(["urlProtocol"]; "vscodium")'
|
|||||||
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare", "ms-vscode-remote.remote-ssh"])'
|
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare", "ms-vscode-remote.remote-ssh"])'
|
||||||
serverDataFolderName='setpath(["serverDataFolderName"]; ".vscode-server-oss")'
|
serverDataFolderName='setpath(["serverDataFolderName"]; ".vscode-server-oss")'
|
||||||
|
|
||||||
product_json_changes="${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${extensionAllowedBadgeProviders} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${linkProtectionTrustedDomains} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi} | ${serverDataFolderName}"
|
product_json_changes="${checksumFailMoreInfoUrl} | ${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${extensionAllowedBadgeProviders} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${linkProtectionTrustedDomains} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi} | ${serverDataFolderName}"
|
||||||
cat product.json.bak | jq "${product_json_changes}" > product.json
|
cat product.json.bak | jq "${product_json_changes}" > product.json
|
||||||
cat product.json
|
cat product.json
|
||||||
|
|
||||||
|
|||||||
@@ -125,8 +125,8 @@ else # linux
|
|||||||
# update service links to tar.gz file
|
# update service links to tar.gz file
|
||||||
# see https://update.code.visualstudio.com/api/update/linux-x64/stable/VERSION
|
# see https://update.code.visualstudio.com/api/update/linux-x64/stable/VERSION
|
||||||
# as examples
|
# as examples
|
||||||
ASSET_NAME=VSCodium-linux-${BUILDARCH}-${LATEST_MS_TAG}.tar.gz
|
ASSET_NAME=VSCodium-linux-${VSCODE_ARCH}-${LATEST_MS_TAG}.tar.gz
|
||||||
VERSION_PATH="linux/${BUILDARCH}"
|
VERSION_PATH="linux/${VSCODE_ARCH}"
|
||||||
JSON="$(generateJson ${ASSET_NAME})"
|
JSON="$(generateJson ${ASSET_NAME})"
|
||||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
updateLatestVersion "$VERSION_PATH" "$JSON"
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user