Merge branch 'master' into fix-arm64-build

This commit is contained in:
Peter Squicciarini 2019-03-01 15:56:01 -05:00 committed by GitHub
commit 4fe1ea6727
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 69 additions and 33 deletions

View file

@ -16,12 +16,13 @@ node_js: "8"
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH="$HOME/.yarn/bin:$PATH"
- ./install_deps.sh
- . install_deps.sh
- . get_repo.sh
- . check_tags.sh
script:
- ./build.sh
- ./trigger-azure.sh
before_deploy:
- ./create_zip.sh

View file

@ -28,6 +28,13 @@ _(For example the C# extension `ms-vscode.csharp` sends tracking data to Microso
## <a id="extensions-marketplace"></a>Extensions + Marketplace
Until something more open comes around, we use the Microsoft Marketplace/Extensions in the `product.json` file. Those links are licensed under MIT as per [the comments on this issue.](https://github.com/Microsoft/vscode/issues/31168#issuecomment-317319063)
If you use the [code-settings-sync](https://github.com/shanalikhan/code-settings-sync) extension, you may have [an issue](https://github.com/VSCodium/vscodium/issues/72) installing extensions (via the plugin). Refer to [this workaround](https://github.com/shanalikhan/code-settings-sync/issues/668#issuecomment-462065341) to get it working properly.
### Proprietary Debugging Tools
The debugger provided with Microsoft's [C# extension](https://github.com/OmniSharp/omnisharp-vscode) as well as the (Windows) debugger provided with their [C++ extension](https://github.com/Microsoft/vscode-cpptools) are very restrictively licensed to only work with the offical Visual Studio Code build. See [this comment in the C# extension repo](https://github.com/OmniSharp/omnisharp-vscode/issues/2491#issuecomment-418811364) and [this comment in the C++ extension repo](https://github.com/Microsoft/vscode-cpptools/issues/21#issuecomment-248349017).
A workaround exists to get debugging working in C# projects, by using Samsung's opensource [netcoredbg](https://github.com/Samsung/netcoredbg) package. See [this comment](https://github.com/VSCodium/vscodium/issues/82#issue-409806641) for instructions on how to set that up.
## <a id="migrating"></a>Migrating from Visual Studio Code to VSCodium
VSCodium (and a freshly cloned copy of vscode built from source) stores its extension files in `~/.vscode-oss`. So if you currently have Visual Studio Code installed, your extensions won't automatically populate. You can reinstall your extensions from the Marketplace in VSCodium, or copy the `extensions` from `~/.vscode/extensions` to `~/.vscode-oss/extensions`.

View file

@ -1,15 +1,24 @@
# VSCodium
<div id="vscodium-logo" align="center">
<br />
<img src="./src/resources/linux/code.png" alt="VSCodium Logo" width="200"/>
<h1>VSCodium</h1>
<h3>Free/Libre Open Source Software Binaries of VSCode</h3>
</div>
### Free/Libre Open Source Software Binaries of VSCode
<div id="badges" align="center">
[![current release](https://img.shields.io/github/release/vscodium/vscodium.svg)](https://github.com/vscodium/vscodium/releases)
[![windows_build_status](https://dev.azure.com/vscodium/VSCodium/_apis/build/status/VSCodium.vscodium?branchName=master)](https://dev.azure.com/vscodium/VSCodium/_build?definitionId=1)
[![build status](https://travis-ci.com/VSCodium/vscodium.svg?branch=master)](https://travis-ci.com/VSCodium/vscodium)
[![current release](https://img.shields.io/github/release/vscodium/vscodium.svg)](https://github.com/vscodium/vscodium/releases)
[![license](https://img.shields.io/github/license/VSCodium/vscodium.svg)](https://github.com/VSCodium/vscodium/blob/master/LICENSE)
[![Gitter](https://img.shields.io/gitter/room/vscodium/vscodium.svg)](https://gitter.im/VSCodium/Lobby)
</div>
## Table of Contents
- [Download/Install](#download-install)
- [Install with Brew](#install-with-brew)
- [Install with Chocolatey](#install-with-choco)
- [Install with Package Manager](#install-with-package-manager)
- [Why Does This Exist](#why)
- [More Info](#more-info)
@ -26,6 +35,12 @@ brew cask install vscodium
_Note: if you see "App cant be opened because it is from an unidentified developer" when opening VSCodium the first time, you can right-click the application and choose Open. This should only be required the first time opening on a Mac._
#### <a id="install-with-choco"></a>Install with Chocolatey (Windows)
If you use Windows and have [Chocolatey](https://chocolatey.org) installed (thanks to [@Thilas](https://github.com/Thilas)):
```bash
choco install vscodium
```
#### <a id="install-with-package-manager"></a>Install with Package Manager (Linux)
You can always install using the downloads (deb, rpm, tar) on the [releases page](https://github.com/VSCodium/vscodium/releases), but you can also install using your favorite package manager and get automatic updates. [@paulcarroty](https://github.com/paulcarroty) has set up a repository with instructions [here](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo). Any issues installing VSCodium using your package manager should be directed to that repository's issue tracker.
@ -58,8 +73,7 @@ For more information on getting all the telemetry disabled and tips for migratin
- [x] OSX x64 (zipped app file)
- [x] Linux x64 (`.deb`, `.rpm`, and `.tar.gz` files)
- [x] Linux x86 (`.deb`, `.rpm`, and `.tar.gz` files)
- [ ] Windows
- The plan is to build the Windows executable with [AppVeyor](https://appveyor.com). PRs are welcome :blue_heart:
- [X] Windows
The ARM architecture is not currently supported but is actively being worked on.

View file

@ -1,12 +1,10 @@
# Node.js with Grunt
# Build a Node.js project using the Grunt task runner.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
pool:
vmImage: 'vs2017-win2016'
steps:
- task: NodeTool@0
inputs:
versionSpec: '8.x'
- script: |
choco install jq
displayName: 'install jq from choco'
@ -20,10 +18,6 @@ steps:
displayName: 'get VSCode sources'
inputs:
scriptPath: get_repo.sh
#args: '' # Optional
#disableAutoCwd: false # Optional
#cwd: '' # Optional
#failOnStandardError: false
- powershell: |
$LATEST_MS_TAG="$(git -C vscode describe --tags)"
Write-Host "##vso[task.setvariable variable=LATEST_MS_TAG]$LATEST_MS_TAG"
@ -32,7 +26,7 @@ steps:
inputs:
filePath: 'check_tags.ps1'
env:
GITHUB_TOKEN: $(GITHUB_TOKEN)
MAPPED_GITHUB_TOKEN: $(GITHUB_TOKEN)
- script: |
git -C vscode status
displayName: 'vscode status'
@ -40,26 +34,29 @@ steps:
bash ./build.sh
displayName: 'go build it!'
- bash: |
mv vscode\\.build\\win32-x64\\system-setup\\VSCodeSetup.exe VSCodiumSetup-x64-${LATEST_MS_TAG}.exe
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\system-setup\\VSCodeSetup.exe VSCodiumSetup-x64-${LATEST_MS_TAG}.exe; fi
displayName: 'move the system setup'
- bash: |
mv vscode\\.build\\win32-x64\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-x64-${LATEST_MS_TAG}.exe
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-x64-${LATEST_MS_TAG}.exe; fi
displayName: 'move the user setup'
- bash: |
mv vscode\\.build\\win32-x64\\archive\\VSCode-win32-x64.zip VSCodium-win32-x64-${LATEST_MS_TAG}.zip
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\archive\\VSCode-win32-x64.zip VSCodium-win32-x64-${LATEST_MS_TAG}.zip; fi
displayName: 'move the zip folder'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts: system-setup'
condition: eq(variables['SHOULD_BUILD'], 'yes')
inputs:
PathtoPublish: 'VSCodiumSetup-x64-$(LATEST_MS_TAG).exe'
ArtifactName: 'system_setup'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts: user-setup'
condition: eq(variables['SHOULD_BUILD'], 'yes')
inputs:
PathtoPublish: 'VSCodiumUserSetup-x64-$(LATEST_MS_TAG).exe'
ArtifactName: 'user_setup'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts: archive'
condition: eq(variables['SHOULD_BUILD'], 'yes')
inputs:
PathtoPublish: 'VSCodium-win32-x64-$(LATEST_MS_TAG).zip'
ArtifactName: 'archive'

View file

@ -1,14 +1,16 @@
echo "token: $env:GITHUB_TOKEN"
echo "tag: $env:LATEST_MS_TAG"
$GITHUB_RESPONSE = curl.exe -s -H "Authorization: token $env:GITHUB_TOKEN" "https://api.github.com/repos/vscodium/vscodium/releases/tags/$env:LATEST_MS_TAG"
$GITHUB_RESPONSE = curl.exe -s -H "Authorization: token $env:MAPPED_GITHUB_TOKEN" "https://api.github.com/repos/vscodium/vscodium/releases/tags/$env:LATEST_MS_TAG"
echo "Github response: ${GITHUB_RESPONSE}"
$VSCODIUM_ASSETS= $GITHUB_RESPONSE | jq '.assets'
echo "VSCodium assets: ${VSCODIUM_ASSETS}"
# if we just don't have the github token, get out fast
if (!$env:GITHUB_TOKEN) {
if (!$env:MAPPED_GITHUB_TOKEN -or $env:MAPPED_GITHUB_TOKEN -like "*GITHUB_TOKEN*") {
echo "This build does not have the GH token"
echo $env:MAPPED_GITHUB_TOKEN
return
}
if (!$VSCODIUM_ASSETS) {
echo "Release assets do not exist at all, continuing build"
$SHOULD_BUILD = 'yes'

View file

@ -3,16 +3,16 @@
if [[ "$SHOULD_BUILD" == "yes" ]]; then
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cd VSCode-darwin
zip -r -X -y ../VSCode-darwin-${LATEST_MS_TAG}.zip ./*
zip -r -X -y ../VSCodium-darwin-${LATEST_MS_TAG}.zip ./*
elif [[ "$BUILDARCH" == "ia32" ]]; then
cd VSCode-linux-ia32
tar czf ../VSCode-linux-ia32-${LATEST_MS_TAG}.tar.gz .
tar czf ../VSCodium-linux-ia32-${LATEST_MS_TAG}.tar.gz .
elif [[ "$BUILDARCH" == "arm64" ]]; then
cd VSCode-linux-arm64
tar czf ../VSCode-linux-arm64-${LATEST_MS_TAG}.tar.gz .
tar czf ../VSCodium-linux-arm64-${LATEST_MS_TAG}.tar.gz .
else
cd VSCode-linux-x64
tar czf ../VSCode-linux-x64-${LATEST_MS_TAG}.tar.gz .
tar czf ../VSCodium-linux-x64-${LATEST_MS_TAG}.tar.gz .
fi
cd ..

View file

@ -5,16 +5,22 @@ if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew install jq zip
else
sudo apt-get update
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm jq
sudo apt-get install -y fakeroot rpm jq
if [[ "$BUILDARCH" == "ia32" ]]; then
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6-dev-i386 gcc-multilib g++-multilib
sudo apt-get install libx11-dev:i386 libxkbfile-dev:i386
export CC="/usr/bin/gcc -m32"
export CXX="/usr/bin/g++ -m32"
export CC_host=/usr/bin/gcc
export CXX_host=/usr/bin/g++
sudo apt-get install -y gcc-multilib g++-multilib
sudo apt-get install -y \
libgirepository-1.0-1:i386 \
gir1.2-glib-2.0:i386 \
libglib2.0-dev:i386 \
gir1.2-secret-1:i386 \
libx11-dev:i386 \
libxkbfile-dev:i386 \
libsecret-1-dev:i386
export CFLAGS=-m32
export CXXFLAGS=-m32
export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig
elif [[ $BUILDARCH == "arm64" ]]; then
echo "deb http://ports.ubuntu.com/ubuntu-ports/ trusty main" | sudo tee -a /etc/apt/sources.list.d/arm64.list >/dev/null
sudo dpkg --add-architecture arm64
@ -25,5 +31,7 @@ else
export CXX=/usr/bin/aarch64-linux-gnu-g++
export CC_host=/usr/bin/gcc
export CXX_host=/usr/bin/g++
else
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm jq
fi
fi

7
trigger-azure.sh Executable file
View file

@ -0,0 +1,7 @@
if [ "$AZURE_TOKEN" != "" ]; then
if [[ "$SHOULD_BUILD" == "yes" ]]; then
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
curl -X POST -H "Content-Type: application/json" -H "Authorization: Basic $AZURE_TOKEN" -d '{"definition":{"id":1}}' https://dev.azure.com/VSCodium/vscodium/_apis/build/builds?api-version=5.0-preview.5
fi
fi
fi