Compare commits

...

168 Commits

Author SHA1 Message Date
Peter Squicciarini
06cc20f63b Merge pull request #233 from stripedpajamas/fix-hash-paths
Fix hash paths
2019-07-26 00:38:34 -07:00
Peter Squicciarini
88503d7855 Fix hash paths 2019-07-25 09:07:08 -07:00
Peter Squicciarini
b44a4f56c4 Merge pull request #227 from stripedpajamas/win32-system-update
Add update support for Win32 system install
2019-07-09 16:26:01 -07:00
Peter Squicciarini
72781d2f52 Add update support for Win32 system install 2019-07-09 15:25:17 -07:00
Peter Squicciarini
492c8c658e Merge pull request #223 from stripedpajamas/no-linux-ia32
Remove Linux 32-bit code paths
2019-07-04 14:25:56 -07:00
Peter Squicciarini
59ef86968e Remove Linux 32-bit code paths 2019-07-04 14:03:18 -07:00
Peter Squicciarini
49489575bb Update README.md
Make it clear that VSCodium build process downloads files
2019-06-30 12:51:58 -07:00
Peter Squicciarini
606674936f Merge pull request #216 from stripedpajamas/links
Add additional urls to product.json
2019-06-29 13:46:56 -07:00
Peter Squicciarini
4a0a474af7 Add additional urls to product.json 2019-06-28 08:39:27 -07:00
Peter Squicciarini
8f8a71d932 Merge pull request #211 from simooooone/codium_renaming_fixes
Updated DOCS.md instructions to reference new binary name
2019-06-26 11:19:56 -07:00
Simone Foschi
5dfd780291 Fixed other typos and one image path in DOCS.md 2019-06-26 18:51:31 +02:00
Peter Squicciarini
2653d09ffa Merge pull request #210 from stripedpajamas/links
Add documentation and introductory videos urls
2019-06-24 10:40:23 -07:00
Simone Foschi
f3b156bfcd fixed typo 2019-06-24 19:37:30 +02:00
Peter Squicciarini
4be6447a1d Add documentation and introductory videos urls 2019-06-23 19:29:33 -07:00
Peter Squicciarini
1245596c1c Merge pull request #203 from tyu1996/master
Changed from 'vscodium' to 'codium' in AppImage config file
2019-06-22 09:54:25 -07:00
Brian
c46aebbbdc Changed from 'vscodium' to 'codium'
Updated as [#203](https://github.com/VSCodium/vscodium/pull/203) requested.
2019-06-19 17:34:48 +08:00
Brian
079e741bcc Update VSCodium-AppImage-Recipe.yml 2019-06-18 13:57:26 +08:00
Peter Squicciarini
8861d9c2d9 Merge pull request #200 from stripedpajamas/fix-windows-commit
Set BUILD_SOURCEVERSION to the MS commit
2019-06-16 08:15:06 -07:00
Peter Squicciarini
d213b48a7f Set BUILD_SOURCEVERSION to the MS commit 2019-06-14 21:45:28 -07:00
Peter Squicciarini
6d24ed1d62 Merge pull request #195 from janniks/patch-1
Fix typo
2019-06-13 20:21:22 -07:00
Peter Squicciarini
99b3268f2b Merge pull request #179 from esclerofilo/master
change icon name to vscodium.png
2019-06-13 20:15:33 -07:00
Jannik
4baaf93eb2 Fix typo 2019-06-12 11:40:13 +02:00
Vicente Reyes
1c13ffb556 fix merge conflicts 2019-06-11 17:31:48 -04:00
Peter Squicciarini
db1afbd17a Merge branch 'master' of https://github.com/vscodium/vscodium 2019-06-10 21:39:30 -07:00
Peter Squicciarini
b5a6849834 Add retry logic to git push 2019-06-10 21:35:15 -07:00
Peter Squicciarini
b97f997a40 Merge pull request #187 from PalinuroSec/patch-1
change vscodium to codium in debian postinst
2019-06-09 14:08:51 -07:00
Lorenzo "Palinuro" Faletra
c2b46ceb35 change vscodium to codium in debian postinst 2019-06-09 14:33:57 +02:00
Peter Squicciarini
b6b51ba510 Merge branch 'master' of https://github.com/vscodium/vscodium 2019-06-06 16:23:50 -07:00
Peter Squicciarini
3f1e9ec9b4 Upgrade to Node 10 2019-06-06 16:22:04 -07:00
Peter Squicciarini
81ef7c6d8f Merge pull request #176 from bittner/feature/rename-binary-to-codium 2019-05-31 09:01:13 -07:00
Peter Squicciarini
02f69839a7 Update README.md
Update Mojave instructions
2019-05-31 08:42:51 -07:00
Peter Bittner
0f6cfd5989 Launch the IDE with codium (instead of vscodium) 2019-05-31 01:30:44 +02:00
Vicente Reyes
f1233fc9b8 change icon name to vscodium.png 2019-05-29 23:26:59 -04:00
Peter Squicciarini
265627feec Merge pull request #175 from stripedpajamas/letterpress
Add codium letterpress svgs
2019-05-29 08:37:28 -07:00
Peter Squicciarini
bea2917180 Add codium letterpress svgs 2019-05-28 17:38:58 -07:00
Peter Squicciarini
4ad9544910 Merge pull request #173 from stripedpajamas/titlebar-icon
Add code-icon.svg files
2019-05-24 11:08:31 -07:00
Peter Squicciarini
963aaf685a Merge pull request #172 from stripedpajamas/appimage-sum
Add sha256 sum for AppImage
2019-05-24 11:07:58 -07:00
Peter Squicciarini
4b97d24b5f Merge pull request #171 from stripedpajamas/extension-badges
Add extensionAllowedBadgeProviders to product.json
2019-05-24 11:07:42 -07:00
Peter Squicciarini
53368f6991 Add code-icon.svg files 2019-05-23 17:11:02 -07:00
Peter Squicciarini
724b1d3d21 Add sha256 sum for AppImage 2019-05-23 15:12:42 -07:00
Peter Squicciarini
9d3751db59 Add extensionAllowedBadgeProviders to product.json 2019-05-23 14:45:57 -07:00
Peter Squicciarini
e4db49f31a Merge pull request #170 from stripedpajamas/more-info
Add more info to more info
2019-05-22 16:05:41 -07:00
Peter Squicciarini
2b1aedba19 Add more info to more info 2019-05-22 09:09:02 -07:00
Peter Squicciarini
a9e74eb2bd Merge pull request #166 from stripedpajamas/update-url
Add updateUrl and releaseNotesUrl to product.json
2019-05-21 09:18:05 -07:00
Peter Squicciarini
fa720f1e0c Add updateUrl and releaseNotesUrl to product.json 2019-05-20 15:01:50 -07:00
Peter Squicciarini
75a79410d3 Merge pull request #164 from stripedpajamas/windows-version-update
Windows version update
2019-05-20 09:55:17 -07:00
Peter Squicciarini
edb1c6ce8b Pull before commit 2019-05-20 09:27:22 -07:00
Peter Squicciarini
f5dc0559c2 Make Windows version paths consistent across archs 2019-05-20 08:56:42 -07:00
Peter Squicciarini
ff70dffab8 Remove unusued argument from function call 2019-05-19 13:16:49 -07:00
Peter Squicciarini
ff2d078db8 Merge pull request #163 from ealap/master
Resize win32 70x70 icon
2019-05-19 13:08:46 -07:00
Peter Squicciarini
1db9cfba3f CRLF endings on Windows and shasum bugfixes 2019-05-18 23:03:46 -07:00
Peter Squicciarini
4860c1bca9 Add shasum of dmg and bugfix update_version.sh 2019-05-18 22:02:47 -07:00
Peter Squicciarini
7147a3a52b Merge branch 'master' of https://github.com/stripedpajamas/vscodium into windows-version-update 2019-05-18 19:49:38 -07:00
Peter Squicciarini
798eb8cb11 Use checksum for Windows builds 2019-05-18 19:15:47 -07:00
Peter Squicciarini
1c6cb799c8 Add execute permissions to create_dmg.sh 2019-05-18 19:00:21 -07:00
Emmanuel Alap
4114f3484b Resize win32 70x70 icon 2019-05-18 11:09:33 +08:00
Peter Squicciarini
d7fe3923fc Refactor update_version to support Windows builds 2019-05-17 19:47:03 -07:00
Randal Stevens
7b1c9aff73 Feature/DMG (#162)
Thanks @RandyStevens 🙏 

Closes #139
2019-05-17 09:17:54 -07:00
Peter Squicciarini
a5b2066f76 Commit version JSON after deploy (#158) 2019-05-16 10:41:32 -07:00
Peter Squicciarini
376c501f95 Merge pull request #155 from stripedpajamas/keymap-url
Add keymap urls to product.json
2019-05-13 15:08:48 -07:00
Peter Squicciarini
ae7942f5e5 Merge pull request #154 from stripedpajamas/product-json-quality
Add quality to product.json
2019-05-13 15:07:44 -07:00
Peter Squicciarini
eebde70091 Add urls for keymap references 2019-05-13 09:09:03 -07:00
Peter Squicciarini
a7e8154e98 Merge pull request #146 from tyu1996/patch-1
Update README.md
2019-05-08 12:07:42 -07:00
Brian
69f1e08df3 Update README.md
Removed AppImage subsection; added `AppImage` on line 96.
2019-05-08 09:08:31 +08:00
Brian
13c905e2d8 Update README.md
Added the "AppImage Option" under "Download/Install".
2019-05-04 17:38:58 +08:00
Peter Squicciarini
3687110918 Add quality to product.json 2019-05-03 17:10:53 -07:00
Peter Squicciarini
c72968db2d Merge pull request #141 from stripedpajamas/add-portable-instructions
Update DOCS.md
2019-04-30 15:34:08 -07:00
Peter Squicciarini
ec6568188f Update DOCS.md 2019-04-30 10:50:57 -07:00
Peter Squicciarini
0608a0e812 Sign mac app (#136) 2019-04-23 17:14:24 -07:00
Peter Squicciarini
69d8ba45eb Merge pull request #135 from cgimenes/master
Updating Arch's package name
2019-04-22 15:08:21 -07:00
Marcelo Gimenes de Oliveira
c904b620f1 Updating Arch's package name 2019-04-22 16:25:53 -03:00
Peter Squicciarini
5e481cb178 Update README.md
Correct table of contents
2019-04-20 19:38:26 -07:00
Peter Squicciarini
39d4b9c134 AppImage support (#108) 2019-04-19 06:30:10 -07:00
Peter Squicciarini
f6363a3665 Merge pull request #133 from stripedpajamas/liveshare
Update extensionAllowedProposedApi prebuild
2019-04-18 09:57:01 -07:00
Peter Squicciarini
4ac72d1b71 Update extensionAllowedProposedApi prebuild 2019-04-18 09:25:31 -07:00
Peter Squicciarini
1fe19328cc Update README.md
Closes #132
2019-04-18 08:53:47 -07:00
Peter Squicciarini
d774292e9f Merge pull request #130 from stripedpajamas/medium-icon-fix
Resize win32 150x150 icon
2019-04-17 16:58:19 -07:00
Peter Squicciarini
7911c1a336 Resize win32 150x150 icon 2019-04-17 15:50:41 -07:00
Peter Squicciarini
273bb0fae2 Merge pull request #127 from stripedpajamas/unique-app-id
Set win32x64UserAppId to a unique GUID
2019-04-16 09:57:12 -07:00
Peter Squicciarini
4f99cbf064 Set win32x64UserAppId to a unique GUID 2019-04-16 09:29:58 -07:00
Peter Squicciarini
3290066771 Merge pull request #126 from VSCodium/stripedpajamas-patch-1
Update README.md
2019-04-15 16:26:00 -07:00
Peter Squicciarini
5b2cfc70d3 Make note about free license in opening statement 2019-04-15 16:00:48 -07:00
Peter Squicciarini
0d98ab9664 Update README.md
Add note about what this project is (a convenience) and is not (a fork). 

Clarify what "free" means, since Visual Studio Code does not cost money.
2019-04-15 12:46:29 -07:00
Peter Squicciarini
84a944e39f Merge pull request #124 from stripedpajamas/disable-crash-reporting
Update logic to disable telemetry and crash reporting settings
2019-04-14 14:36:51 -07:00
Peter Squicciarini
207c9cd04b Update logic to disable telemetry and crash reporting settings 2019-04-14 13:53:09 -07:00
Peter Squicciarini
11db2cfa65 Merge pull request #122 from stripedpajamas/donate
Add donate section
2019-04-14 07:01:14 -07:00
Peter Squicciarini
a12f6d7dce Merge pull request #121 from stripedpajamas/fix-macos-check
Update check for Mac artifact
2019-04-13 21:18:55 -07:00
Peter Squicciarini
70f523fbfe Disable broken arm64 builds 2019-04-13 20:45:55 -07:00
Peter Squicciarini
a47dcab06a Merge pull request #120 from stripedpajamas/sums
Add hash digests to releases
2019-04-13 19:52:20 -07:00
Peter Squicciarini
2f6d19354f Add donate section 2019-04-13 19:51:11 -07:00
Peter Squicciarini
2cdcb23c1a Merge pull request #117 from 7596ff/patch-1
generalize the AUR package instructions
2019-04-12 22:04:42 -07:00
Cassandra McCarthy
e37fe1cc3b generalize the AUR package instructions 2019-04-13 00:53:17 -04:00
Peter Squicciarini
de66a50908 Add condition to sums 2019-04-12 16:47:54 -07:00
Peter Squicciarini
6aa7f0a180 Fix win32 sum filenames 2019-04-12 16:40:41 -07:00
Peter Squicciarini
d6fc93a4b5 Update check for Mac artifact 2019-04-12 16:40:21 -07:00
Peter Squicciarini
f70c614be3 Another bug fix 2019-04-12 16:14:09 -07:00
Peter Squicciarini
2ea06de9f8 Fix bugs 2019-04-12 15:52:13 -07:00
Peter Squicciarini
64e0cd0c7f Merge pull request #116 from joseluisq/master
Add Arch Linux install instructions
2019-04-12 15:12:26 -07:00
Peter Squicciarini
33bc3b2f8b Compute and upload sha256 sums for build artifacts 2019-04-12 15:11:27 -07:00
Jose Quintana
7452656dd9 add Arch Linux install instructions 2019-04-12 23:48:01 +02:00
Peter Squicciarini
6a307fcc6d Merge pull request #113 from rasa/patch-1
Add scoop install to readme
2019-04-12 06:21:11 -07:00
Ross Smith II
79a2dd7d51 Add scoop install to readme 2019-04-11 23:29:28 -07:00
Thomas Andrade
b6c2a40d0b Docs update (#112)
* Add reference to external Gentoo overlay @wolviecb
2019-04-11 16:43:49 -07:00
Peter Squicciarini
ac42eadd68 Update issue templates 2019-04-10 21:02:00 -07:00
Peter Squicciarini
1b9d7adc60 Reword telemetry note 2019-04-10 20:51:44 -07:00
Peter Squicciarini
532959ee9a Update README.md
Closes #97
2019-04-06 20:03:13 -07:00
Peter Squicciarini
f9f92ce008 Build cleanup and Windows ia32 (#103) 2019-04-05 10:13:11 -07:00
Peter Squicciarini
0f3afe4cba Merge pull request #94 from stripedpajamas/win-license
Copy license file to LICENSE.rtf for Windows builds
2019-03-18 19:00:00 -07:00
Peter Squicciarini
562f4d484f Copy license file to LICENSE.rtf for Windows builds 2019-03-18 18:24:43 -07:00
Peter Squicciarini
cf4adbf6f8 Update build.sh
Windows builds were not using the npm gulp script which allows for a bigger heap
2019-03-11 13:37:57 -04:00
Peter Squicciarini
b8a1f7c979 Merge pull request #89 from VSCodium/flatpak
Add note about flatpak
2019-03-07 13:33:03 -05:00
Peter Squicciarini
34953d11f3 Update README
Add note about flatpak
2019-03-07 09:49:16 -05:00
Peter Squicciarini
ab7d14add8 Merge pull request #56 from JL2210/fix-arm64-build
arm64 build cleanup
2019-03-02 07:01:22 -05:00
Peter Squicciarini
4fe1ea6727 Merge branch 'master' into fix-arm64-build 2019-03-01 15:56:01 -05:00
Peter Squicciarini
a61e56c152 Merge pull request #87 from stripedpajamas/update-docs
Add workaround docs for C# extension woes
2019-02-21 10:56:31 -05:00
Peter Squicciarini
a02839b466 Add workaround for C# extension woes 2019-02-20 15:23:26 -05:00
Peter Squicciarini
890377a893 Merge pull request #86 from stripedpajamas/update-docs
Update DOCS.md to include link to workaround for code-settings-sync
2019-02-19 20:39:13 -05:00
Peter Squicciarini
e95b3f0732 Update DOCS.md to include link to workaround for code-settings-sync 2019-02-19 15:59:29 -05:00
Peter Squicciarini
c38cc161c0 Fix linux 32 bit builds (#85)
* Correct Linux 32-bit dependency installation
2019-02-14 19:40:11 -05:00
Peter Squicciarini
4cf7166a48 Merge pull request #81 from stripedpajamas/fix-azure-node
Specify node version 8.x (Azure)
2019-02-09 07:49:01 -05:00
Peter Squicciarini
f5bb3f6007 Specify node version 8.x 2019-02-09 07:40:42 -05:00
Peter Squicciarini
a1596e9820 Merge pull request #79 from stripedpajamas/trigger-azure
Add script to trigger Azure pipelines build
2019-01-24 14:01:19 -05:00
Peter Squicciarini
3ccdd1171d Add script to trigger Azure pipelines build 2019-01-23 17:01:32 -05:00
Peter Squicciarini
4dbc77dbba Merge pull request #78 from VSCodium/chocolatey-readme-update
Add choco installation instructions
2019-01-16 15:16:21 -05:00
Peter Squicciarini
1991d1af61 Add choco installation instructions 2019-01-15 12:55:36 -05:00
Peter Squicciarini
56cce9d14c Merge pull request #77 from stripedpajamas/name-tar-zip
Use VSCodium in name of zip/tar
2019-01-11 08:53:19 -05:00
Peter Squicciarini
cf28585423 Use VSCodium in name of zip/tar 2019-01-10 14:55:28 -05:00
Peter Squicciarini
1b421c701c Merge pull request #70 from stripedpajamas/master
Correct GH token logic for Windows builds
2018-12-22 17:16:29 -05:00
Peter Squicciarini
85da65c0b0 Add null check for GH token 2018-12-22 17:14:08 -05:00
Peter Squicciarini
1633faf377 Recorrect GH token logic 2018-12-22 17:10:55 -05:00
Peter Squicciarini
2564115929 Correct GH token logic 2018-12-22 17:09:36 -05:00
Peter Squicciarini
dd6e08a285 Merge pull request #69 from stripedpajamas/master
Add logging when GH token doesn't exist in Windows build
2018-12-22 17:06:16 -05:00
Peter Squicciarini
b5df7d5af8 Add logging when GH token doesn't exist in Windows build 2018-12-22 17:03:27 -05:00
Peter Squicciarini
8959faeca9 Merge pull request #64 from stripedpajamas/master
Add logo to README
2018-12-11 13:34:54 -05:00
Peter Squicciarini
7391746c6b Add title 2018-12-09 20:05:15 -05:00
Peter Squicciarini
833fcec1e8 Fix badges 2018-12-09 20:04:18 -05:00
Peter Squicciarini
576145f38e Update README.md 2018-12-09 20:03:10 -05:00
Peter Squicciarini
c1dd804250 Add Azure badge 2018-12-03 14:39:06 -05:00
Peter Squicciarini
83cfe077ee Cleanup Windows build process (#62) 2018-12-03 14:16:48 -05:00
Peter Squicciarini
a3129e3f57 Merge pull request #61 from pavanagrawal123/patch-1
Update Readme to show Windows builds are ready
2018-12-03 09:24:10 -05:00
Pavan Agrawal
dfa09d149e Update Readme to show Windows builds are ready 2018-12-02 23:02:24 -06:00
JL2210
8096387e74 Merge branch 'master' of https://github.com/VSCodium/vscodium into fix-arm64-build 2018-11-28 08:15:23 -05:00
Pavan Agrawal
098cab67bd Windows builds with Azure Pipelines (#58) 2018-11-27 09:19:34 -05:00
Peter Squicciarini
dc649ff259 Add gitter badge 2018-11-22 09:08:28 -05:00
Peter Squicciarini
d408fcc060 Use latest yarn (#57) 2018-11-13 11:58:05 -05:00
Peter Squicciarini
0f3bba8d9f Merge pull request #55 from stripedpajamas/fix-big-darwin
Fix big darwin file
2018-11-13 10:08:02 -05:00
JL2210
7b764d5c5b export npm_config_target_arch instead of npm_config_arch on arm64 2018-11-05 10:32:51 -05:00
JL2210
31ad142664 Fix broken package name 2018-11-04 16:26:54 -05:00
JL2210
a4ea6d60a4 Fix arm64 build 2018-11-04 16:05:53 -05:00
Peter Squicciarini
213baf8651 Add -X -y to zip command 2018-10-30 10:54:21 -04:00
Peter Squicciarini
5f035559e5 Merge pull request #53 from stripedpajamas/terminal-support-docs
Add section for vscodium terminal support
2018-10-25 05:36:47 -04:00
Peter Squicciarini
58823c7ad8 Add section for vscodium terminal support 2018-10-24 15:34:23 -04:00
Peter Squicciarini
f4a46d1c7b Merge pull request #52 from stripedpajamas/docs
Separate out more technical docs into DOCS.md
Closes #50
2018-10-24 15:05:03 -04:00
Peter Squicciarini
bfcfedb1e8 Separate out more technical docs into DOCS.md 2018-10-24 10:34:20 -04:00
Joel Wasserman
74d06bf01d Change default telemetry settings to disabled (#46)
Closes #44
2018-10-19 11:38:43 -04:00
Peter Squicciarini
a541390984 Merge pull request #49 from tynx/patch-1
Add jq dependency
2018-10-16 09:45:30 -04:00
tynx
da0eaa5d45 adding missing dependency jq
While using the script I realized that the package jq was missing
2018-10-15 23:49:22 +02:00
Peter Squicciarini
008aacc81e Merge pull request #43 from paulcarroty/patch-1
add info about automatic updates for Linux
2018-10-13 08:59:43 -04:00
Pavlo Rudyi
ed99748de8 add info about automatic updates for Linux 2018-10-13 10:10:51 +00:00
Peter Squicciarini
b40a02dc7f Add code of conduct 2018-10-12 09:22:40 -04:00
Peter Squicciarini
bc41a76bd0 Remove arm64 from build matrix 2018-10-11 14:46:14 -04:00
Peter Squicciarini
c84850f967 Remove ARM readme update 2018-10-11 14:44:11 -04:00
Peter Squicciarini
b407087e57 Add arm64 to supported section in README 2018-10-11 13:26:52 -04:00
Peter Squicciarini
b5b89730a4 Merge pull request #39 from fzerorubigd/master
Do not hard code the repository
Fixes #37
2018-10-11 11:57:38 -04:00
fzerorubigd
225fbb2dea do not hard code the repository
fixes #37
2018-10-11 17:43:47 +02:00
Peter Squicciarini
344541b8fe Add package manager instructions (#38)
Closes #34 
Closes #5 
Closes #1
2018-10-11 11:39:51 -04:00
christophe larsonneur
d3373b16e8 New OSS icon (#25)
Thanks to @jaredreich @Jorgeelalto @clarsonneur 

Closes #4
2018-10-11 09:02:11 -04:00
Victor Javier
c1bdb38d45 arm64 support (#35)
* Add arm64 build support thanks to @435vic
2018-10-10 11:20:56 -04:00
89 changed files with 5240 additions and 103 deletions

38
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,38 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**Please confirm that this problem is VSCodium-specific**
- [ ] This bug doesn't happen if I use Microsoft's Visual Studio Code. It only happens in VSCodium.
**Please confirm that the issue/resolution isn't already documented**
- [ ] I checked [the Docs page](https://github.com/VSCodium/vscodium/blob/master/DOCS.md) and my issue is not mentioned there.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. Mac OS, Ubuntu 16.04, etc]
- Architecture [e.g. x64, ia32, arm64]
- Version [e.g. 1.33.0]
**Additional context**
Add any other context about the problem here.

1
.gitignore vendored
View File

@@ -1 +1,2 @@
vscode
VS*/*

View File

@@ -2,24 +2,28 @@ matrix:
include:
- os: linux
sudo: required
- os: linux
sudo: required
env: BUILDARCH=ia32
env: BUILDARCH=x64
- os: osx
language: node_js
node_js: "8"
node_js: "10"
before_install:
- ./install_deps.sh
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH="$HOME/.yarn/bin:$PATH"
- . install_deps.sh
- . get_repo.sh
- . check_tags.sh
script:
- ./build.sh
- ./trigger-azure.sh
before_deploy:
- ./sign_mac_app.sh
- ./create_zip.sh
- ./create_dmg.sh
- ./sum.sh
deploy:
provider: releases
@@ -29,12 +33,16 @@ deploy:
api_key: $GITHUB_TOKEN
file_glob: true
file:
- ./*.sha256
- ./*.zip
- ./*.tar.gz
- vscode/.build/linux/deb/i386/deb/*.deb
- vscode/.build/linux/rpm/i386/*.rpm
- vscode/.build/linux/deb/amd64/deb/*.deb
- vscode/.build/linux/rpm/x86_64/*.rpm
- ./*.dmg
- ./*.deb
- ./*.rpm
- ./*.AppImage
on:
all_branches: true
condition: $SHOULD_BUILD = yes
after_deploy:
- ./update_version.sh

46
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at vscodium@protonmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

98
DOCS.md Normal file
View File

@@ -0,0 +1,98 @@
# More Info
## Table of Contents
- [Getting all the Telemetry Out](#disable-telemetry)
- [Extensions + Marketplace](#extensions-marketplace)
- [Migrating from Visual Studio Code to VSCodium](#migrating)
- [How do I run VSCodium in portable mode?](#portable)
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
- [How do I open VSCodium from the terminal?](#terminal-support)
- [Gentoo overlay/ebuild](#gentoo-overlay)
## <a id="disable-telemetry"></a>Getting all the Telemetry Out
Even though we do not pass the telemetry build flags (and go out of our way to cripple the baked-in telemetry), Microsoft will still track usage by default.
We do however set the default `telemetry.enableCrashReporter` and `telemetry.enableTelemetry` values to false. You can see those by viewing your VSCodium settings.json and searching for `telemetry`.
The instructions [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting) and [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-crash-reporting) help with explaining and toggling telemetry.
It is also highly recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/supporting/faq#_managing-online-services). The `@tag:usesOnlineServices` filter on the settings page will show that by default:
- Extensions auto check for updates and auto install updates
- Searches within the app are sent to an online service for "natural language processing"
- Updates to the app are fetched in the background
These can all be disabled.
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__
_(For example the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
## <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`.
Visual Studio Code stores its `keybindings.json` and `settings.json` file in the these locations:
- __Windows__: `%APPDATA%\Code\User`
- __macOS__: `$HOME/Library/Application Support/Code/User`
- __Linux__: `$HOME/.config/Code/User`
You can copy these files to the VSCodium user settings folder:
- __Windows__: `%APPDATA%\VSCodium\User`
- __macOS__: `$HOME/Library/Application Support/VSCodium/User`
- __Linux__: `$HOME/.config/VSCodium/User`
To copy your settings manually:
- In Visual Studio Code, go to Settings (Command+, if on a Mac)
- Click the three dots `...` and choose 'Open settings.json'
- Copy the contents of settings.json into the same place in VSCodium
## <a id="portable"></a>How do I run VSCodium in portable mode?
You can follow the [Portable Mode instructions](https://code.visualstudio.com/docs/editor/portable) from the Visual Studio Code website. For Windows and Linux the instructions can be followed as written. For Mac OS, portable mode is enabled by the existence of a specially named folder. For Visual Studio Code that folder name is `code-portable-data`. For VSCodium, that folder name is `vscodium-portable-data`.
So to enable portable mode for VSCodium on Mac OS, follow the instructions outlined in the link above, but create a folder named `vscodium-portable-data` instead of `code-portable-data`.
## <a id="press-and-hold"></a>How do I press and hold a key and have it repeat in VSCodium (Mac)?
This is a common question for Visual Studio Code and the procedure is slightly different in VSCodium because the `defaults` path is different.
```bash
$ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
```
## <a id="terminal-support"></a>How do I open VSCodium from the terminal?
- Go to the command palette (View | Command Palette...)
- Choose `Shell command: Install 'codium' command in PATH`.
![](https://user-images.githubusercontent.com/2707340/60140295-18338a00-9766-11e9-8fda-b525b6f15c13.png)
This allows you to open files or directories in VSCodium directly from your terminal:
```bash
~/in-my-project $ codium . # open this directory
~/in-my-project $ codium file.txt # open this file
```
Feel free to alias this command to something easier to type in your shell profile (e.g. `alias code=codium`).
## <a id="gentoo-overlay"></a>Gentoo ebuild/overlay
There is an external Gentoo overlay with a working ebuild to install VSCodium, provided by [@wolviecb](https://github.com/wolviecb/). The overlay can be found [here](https://github.com/wolviecb/overlay).

114
README.md
View File

@@ -1,32 +1,71 @@
# 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>
**This is not a fork. This is a repository of scripts to automatically build Microsoft's `vscode` repository into freely-licensed binaries with a community-driven default configuration.**
## Table of Contents
- [Download/Install](#download-install)
- [Install with Brew](#install-with-brew)
- [Install with Chocolatey](#install-with-choco)
- [Install with Scoop](#install-with-scoop)
- [Install with Package Manager](#install-with-package-manager)
- [Install on Arch Linux](#install-on-arch-linux)
- [Flatpak Option](#flatpak)
- [Why Does This Exist](#why)
- [Getting all the Telemetry Out](#disable-telemetry)
- [More Info](#more-info)
- [Supported OS](#supported-os)
- [Extensions + Marketplace](#extensions-marketplace)
- [Migrating from Visual Studio Code to VSCodium](#migrating)
## <a id="download-install"></a>Download/Install
:tada: :tada: [Download latest release here](https://github.com/VSCodium/vscodium/releases) :tada: :tada:
#### <a id="install-with-brew"></a>Install with Brew
[More info / helpful tips are here.](https://github.com/VSCodium/vscodium/blob/master/DOCS.md)
#### <a id="install-with-brew"></a>Install with Brew (Mac)
If you are on a Mac and have [Homebrew](https://brew.sh/) installed:
```bash
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._
_Note for Mac OS X Mojave users: if you see "App can't be opened because Apple cannot check it for malicious software" 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 Mojave._
#### <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-scoop"></a>Install with Scoop (Windows)
If you use Windows and have [Scoop](https://scoop.sh) installed:
```bash
scoop bucket add extras
scoop 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.
#### <a id="install-on-arch-linux"></a>Install on Arch Linux
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/), maintained by [@plague-doctor](https://github.com/plague-doctor).
#### <a id="flatpak"></a>Flatpak Option (Linux)
VSCodium is not available as a Flatpak app, but [@amtlib-dot-dll](https://github.com/amtlib-dot-dll) has done significant work to package up the open source build of Visual Studio Code without telemetry, very similarly to VSCodium. That package is available [here](https://flathub.org/apps/details/com.visualstudio.code.oss) and the build repo is [here](https://github.com/flathub/com.visualstudio.code.oss).
## <a id="why"></a>Why Does This Exist
This repository contains a build file to generate FLOSS release binaries of Microsoft's VSCode.
This repository contains build files to generate free release binaries of Microsoft's VSCode. When we speak of "free software", we're talking about freedom, not price.
Microsoft's downloads of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
@@ -34,11 +73,11 @@ Microsoft's downloads of Visual Studio Code are licensed under [this not-FLOSS l
>
> When you clone and build from the vscode repo, none of these endpoints are configured in the default product.json. Therefore, you generate a "clean" build, without the Microsoft customizations, which is by default licensed under the MIT license
This repo exists so that you don't have to download+build from source. The build scripts in this repo clone Microsoft's vscode repo, run the build commands, and upload the resulting binaries to [GitHub releases](https://github.com/VSCodium/vscodium/releases). __These binaries are licensed under the MIT license. Telemetry is enabled by a build flag which we do not pass.__
This repo exists so that you don't have to download+build from source. The build scripts in this repo clone Microsoft's vscode repo, run the build commands, and upload the resulting binaries to [GitHub releases](https://github.com/VSCodium/vscodium/releases). __These binaries are licensed under the MIT license. Telemetry is disabled.__
If you want to build from source yourself, head over to [Microsoft's vscode repo](https://github.com/Microsoft/vscode) and follow their [instructions](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run). This repo exists to make it easier to get the latest version of MIT-licensed VSCode.
Microsoft's build process does download additional files. This was brought up in [Microsoft/vscode#49159](https://github.com/Microsoft/vscode/issues/49159) and [Microsoft/vscode#45978](https://github.com/Microsoft/vscode/issues/45978). These are the packages downloaded during build:
Microsoft's build process (which we are running to build the binaries) does download additional files. This was brought up in [Microsoft/vscode#49159](https://github.com/Microsoft/vscode/issues/49159) and [Microsoft/vscode#45978](https://github.com/Microsoft/vscode/issues/45978). These are the packages downloaded during build:
- Extensions from the Microsoft Marketplace:
- ms-vscode.node-debug2
@@ -47,51 +86,30 @@ Microsoft's build process does download additional files. This was brought up in
- electron
- ffmpeg
## <a id="disable-telemetry"></a>Getting all the Telemetry Out
Even though we do not pass the telemetry build flags (and go out of our way to cripple the baked-in telemetry), Microsoft will still track usage by default. After installing VSCodium, you must manually disable telemetry in your settings file to stop it from sending tracking data to Microsoft.
## <a id="more-info"></a>More Info
The instructions [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting) and [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-crash-reporting) help with disabling telemetry.
### Documentation
For more information on getting all the telemetry disabled and tips for migrating from Visual Studio Code to VSCodium, have a look at this [Docs](https://github.com/VSCodium/vscodium/blob/master/DOCS.md) page.
It is also highly recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/supporting/faq#_managing-online-services). The `@tag:usesOnlineServices` filter on the settings page will show that by default:
- Extensions auto check for updates and auto install updates
- Searches within the app are sent to an online service for "natural language processing"
- Updates to the app are fetched in the background
### Extension Licensing
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
These can all be disabled.
### How are the VSCodium binaries built?
If you would like to see the commands we run to build `vscode` into VSCodium binaries, have a look at the [`.travis.yml` file](https://github.com/VSCodium/vscodium/blob/master/.travis.yml) (for Linux and OS X builds) and the [`win32-build.yml` file](https://github.com/VSCodium/vscodium/blob/master/win32-build.yml) (for Windows builds). These build files call all the other scripts in the repo. If you find something that doesn't make sense, feel free to ask about it [on Gitter](https://gitter.im/VSCodium/Lobby).
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__
_(For example the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
The builds are run every day, but exit early if there isn't a new release from Microsoft. To examine the build logs, go [here for Linux / OS X](https://travis-ci.com/VSCodium/vscodium) and [here for Windows](https://dev.azure.com/vscodium/VSCodium/_build?definitionId=1)
## <a id="supported-os"></a>Supported OS
- [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] OS X (`zip`, `dmg`)
- [x] Linux x64 (`deb`, `rpm`, `AppImage`, `tar.gz`)
- [x] Linux x86 (`deb`, `rpm`, `tar.gz`)
- [x] Windows x64
- [x] Windows x86
The ARM architecture is not currently supported. If you know of a way to do this with Travis or any other free CI/CD platform please put in an issue or a PR.
The ARM architecture is not currently supported but is being worked on.
## <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)
## <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`.
Visual Studio Code stores its `keybindings.json` and `settings.json` file in the these locations:
- __Windows__: `%APPDATA%\Code\User`
- __macOS__: `$HOME/Library/Application Support/Code/User`
- __Linux__: `$HOME/.config/Code/User`
You can copy these files to the VSCodium user settings folder:
- __Windows__: `%APPDATA%\VSCodium\User`
- __macOS__: `$HOME/Library/Application Support/VSCodium/User`
- __Linux__: `$HOME/.config/VSCodium/User`
To copy your settings manually:
- In Visual Studio Code, go to Settings (Command+, if on a Mac)
- Click the three dots `...` and choose 'Open settings.json'
- Copy the contents of settings.json into the same place in VSCodium
## <a id="donate"></a>Donate
If you would like to support the development of VSCodium, feel free to send BTC to `3PgjE95yzBDTrSPxPiqoxSgZFuKPPAix1N`.
## <a id="license"></a>License
MIT

View File

@@ -0,0 +1,35 @@
# Based on
# https://github.com/AppImage/pkg2appimage/blob/master/recipes/VSCode.yml
#
# On a Debian/Ubuntu system:
# wget -c "https://github.com/AppImage/pkg2appimage/raw/master/pkg2appimage"
# bash -ex pkg2appimage VSCodium
app: VSCodium
ingredients:
packages:
- code
- libgconf2-4
dist: trusty
sources:
- deb http://archive.ubuntu.com/ubuntu/ trusty main universe
script:
- pwd
- cp ../.build/linux/deb/amd64/deb/*.deb .
- ls codium_*.deb | cut -d _ -f 2 > VERSION
script:
- sed -i -e 's|/usr/share/codium/||g' usr/share/applications/codium.desktop
- sed -i -e 's|com.visualstudio.code.oss|vscodium|g' usr/share/applications/codium.desktop
- cp usr/share/applications/codium.desktop .
- cp usr/share/pixmaps/vscodium.png vscodium.png
- convert vscodium.png -resize 512x512 usr/share/icons/hicolor/512x512/apps/vscodium.png
- convert vscodium.png -resize 256x256 usr/share/icons/hicolor/256x256/apps/vscodium.png
- convert vscodium.png -resize 128x128 usr/share/icons/hicolor/128x128/apps/vscodium.png
- convert vscodium.png -resize 64x64 usr/share/icons/hicolor/64x64/apps/vscodium.png
- convert vscodium.png -resize 48x48 usr/share/icons/hicolor/48x48/apps/vscodium.png
- convert vscodium.png -resize 32x32 usr/share/icons/hicolor/32x32/apps/vscodium.png
- convert vscodium.png -resize 24x24 usr/share/icons/hicolor/24x24/apps/vscodium.png
- convert vscodium.png -resize 22x22 usr/share/icons/hicolor/22x22/apps/vscodium.png
- ( cd usr/bin/ ; ln -s ../share/codium/codium . )

16
azure-pipelines.yml Normal file
View File

@@ -0,0 +1,16 @@
jobs:
- job: Windows
pool:
vmImage: VS2017-Win2016
variables:
BUILDARCH: x64
steps:
- template: win32-build.yml
- job: Windows32
pool:
vmImage: VS2017-Win2016
variables:
BUILDARCH: ia32
steps:
- template: win32-build.yml

View File

@@ -1,40 +1,74 @@
#!/bin/bash
if [[ "$SHOULD_BUILD" == "yes" ]]; then
cp -rp src/* vscode/
cd vscode
if [[ "$BUILDARCH" == "ia32" ]]; then
export npm_config_arch=ia32
fi
export npm_config_arch="$BUILDARCH"
export npm_config_target_arch="$BUILDARCH"
../update_settings.sh
yarn
mv product.json product.json.bak
cat product.json.bak | jq 'setpath(["extensionsGallery"]; {"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", "itemUrl": "https://marketplace.visualstudio.com/items"}) | setpath(["nameShort"]; "VSCodium") | setpath(["nameLong"]; "VSCodium") | setpath(["applicationName"]; "vscodium") | setpath(["win32MutexName"]; "vscodium") | setpath(["win32DirName"]; "VSCodium") | setpath(["win32NameVersion"]; "VSCodium") | setpath(["win32RegValueName"]; "VSCodium") | setpath(["win32AppUserModelId"]; "Microsoft.VSCodium") | setpath(["win32ShellNameShort"]; "V&SCodium") | setpath(["urlProtocol"]; "vscodium")' > product.json
# set fields in product.json
tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
documentationUrl='setpath(["documentationUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533484#vscode")'
introductoryVideosUrl='setpath(["introductoryVideosUrl"]; "https://go.microsoft.com/fwlink/?linkid=832146")'
extensionAllowedBadgeProviders='setpath(["extensionAllowedBadgeProviders"]; ["api.bintray.com", "api.travis-ci.com", "api.travis-ci.org", "app.fossa.io", "badge.fury.io", "badge.waffle.io", "badgen.net", "badges.frapsoft.com", "badges.gitter.im", "badges.greenkeeper.io", "cdn.travis-ci.com", "cdn.travis-ci.org", "ci.appveyor.com", "circleci.com", "cla.opensource.microsoft.com", "codacy.com", "codeclimate.com", "codecov.io", "coveralls.io", "david-dm.org", "deepscan.io", "dev.azure.com", "flat.badgen.net", "gemnasium.com", "githost.io", "gitlab.com", "godoc.org", "goreportcard.com", "img.shields.io", "isitmaintained.com", "marketplace.visualstudio.com", "nodesecurity.io", "opencollective.com", "snyk.io", "travis-ci.com", "travis-ci.org", "visualstudio.com", "vsmarketplacebadge.apphb.com", "www.bithound.io", "www.versioneye.com"])'
updateUrl='setpath(["updateUrl"]; "https://vscodium.now.sh")'
releaseNotesUrl='setpath(["releaseNotesUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533483#vscode")'
keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.microsoft.com/fwlink/?linkid=832143")'
keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
quality='setpath(["quality"]; "stable")'
extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", "itemUrl": "https://marketplace.visualstudio.com/items"})'
nameShort='setpath(["nameShort"]; "VSCodium")'
nameLong='setpath(["nameLong"]; "VSCodium")'
linuxIconName='setpath(["linuxIconName"]; "vscodium")'
applicationName='setpath(["applicationName"]; "codium")'
win32MutexName='setpath(["win32MutexName"]; "vscodium")'
win32DirName='setpath(["win32DirName"]; "VSCodium")'
win32NameVersion='setpath(["win32NameVersion"]; "VSCodium")'
win32RegValueName='setpath(["win32RegValueName"]; "VSCodium")'
win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
win32ShellNameShort='setpath(["win32ShellNameShort"]; "V&SCodium")'
win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
urlProtocol='setpath(["urlProtocol"]; "vscodium")'
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare"])'
product_json_changes="${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${extensionAllowedBadgeProviders} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi}"
cat product.json.bak | jq "${product_json_changes}" > product.json
cat product.json
../undo_telemetry.sh
export NODE_ENV=production
if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
# microsoft adds their apt repo to sources
# unless the app name is code-oss
# as we are renaming the application to vscodium
# we need to edit a line in the post install template
sed -i "s/code-oss/vscodium/" resources/linux/debian/postinst.template
sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
fi
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
npm run gulp vscode-darwin-min
elif [[ "$BUILDARCH" == "ia32" ]]; then
npm run gulp vscode-linux-ia32-min
npm run gulp vscode-linux-ia32-build-deb
npm run gulp vscode-linux-ia32-build-rpm
unset npm_config_arch
else
npm run gulp vscode-linux-x64-min
npm run gulp vscode-linux-x64-build-deb
npm run gulp vscode-linux-x64-build-rpm
npm install --global create-dmg
npm run gulp -- "vscode-darwin-min"
elif [[ "$CI_WINDOWS" == "True" ]]; then
cp LICENSE.txt LICENSE.rtf # windows build expects rtf license
npm run gulp -- "vscode-win32-${BUILDARCH}-min"
npm run gulp -- "vscode-win32-${BUILDARCH}-inno-updater"
npm run gulp -- "vscode-win32-${BUILDARCH}-system-setup"
npm run gulp -- "vscode-win32-${BUILDARCH}-user-setup"
npm run gulp -- "vscode-win32-${BUILDARCH}-archive"
else # linux
npm run gulp -- "vscode-linux-${BUILDARCH}-min"
npm run gulp -- "vscode-linux-${BUILDARCH}-build-deb"
npm run gulp -- "vscode-linux-${BUILDARCH}-build-rpm"
. ../create_appimage.sh
fi
cd ..
fi
fi

38
check_tags.ps1 Normal file
View File

@@ -0,0 +1,38 @@
echo "tag: $env:LATEST_MS_TAG"
$REPO_URI = [uri]$env:BUILD_REPOSITORY_URI
$USER_REPO = $REPO_URI."LocalPath"
echo $USER_REPO
$GITHUB_RESPONSE = curl.exe -s -H "Authorization: token $env:MAPPED_GITHUB_TOKEN" "https://api.github.com/repos$USER_REPO/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: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 -eq "null" -or !$VSCODIUM_ASSETS) {
echo "Release assets do not exist at all, continuing build"
$SHOULD_BUILD = 'yes'
} else {
$WindowsAssets = ($VSCODIUM_ASSETS | ConvertFrom-Json) | Where-Object { $_.name.Contains('exe') }
$SYSTEM_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('Setup') }
$USER_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('User') }
if (!$SYSTEM_SETUP) {
echo "Building on Windows because we have no system-setup.exe";
$SHOULD_BUILD = 'yes'
}
elseif (!$USER_SETUP) {
echo "Building on Windows because we have no user-setup.exe";
$SHOULD_BUILD = 'yes'
}
else {
echo "Already have all the Windows builds"
}
}
Write-Host "##vso[task.setvariable variable=SHOULD_BUILD]$SHOULD_BUILD"

View File

@@ -1,6 +1,7 @@
#!/bin/bash
GITHUB_RESPONSE=$(curl -s -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/vscodium/vscodium/releases/tags/$LATEST_MS_TAG)
REPOSITORY=${TRAVIS_REPO_SLUG:-"VSCodium/vscodium"}
GITHUB_RESPONSE=$(curl -s -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/$REPOSITORY/releases/tags/$LATEST_MS_TAG)
echo "Github response: ${GITHUB_RESPONSE}"
VSCODIUM_ASSETS=$(echo $GITHUB_RESPONSE | jq '.assets')
echo "VSCodium assets: ${VSCODIUM_ASSETS}"
@@ -9,29 +10,29 @@ echo "VSCodium assets: ${VSCODIUM_ASSETS}"
if [ "$GITHUB_TOKEN" != "" ]; then
if [ "$VSCODIUM_ASSETS" != "null" ]; then
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
HAVE_MAC=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["zip"])')
HAVE_MAC=$(echo $VSCODIUM_ASSETS | jq --arg suffix "darwin-$LATEST_MS_TAG.zip" 'map(.name) | contains([$suffix])')
if [[ "$HAVE_MAC" != "true" ]]; then
echo "Building on Mac because we have no ZIP"
export SHOULD_BUILD="yes"
fi
elif [[ $BUILDARCH == "ia32" ]]; then
HAVE_IA32_RPM=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["i386.rpm"])')
HAVE_IA32_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["i386.deb"])')
HAVE_IA32_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "ia32-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
if [[ "$HAVE_IA32_RPM" != "true" ]]; then
echo "Building on Linux ia32 because we have no RPM"
elif [[ $BUILDARCH == "arm64" ]]; then
# HAVE_ARM64_RPM=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["arm64.rpm"])')
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])')
# if [[ "$HAVE_ARM64_RPM" != "true" ]]; then
# echo "Building on Linux arm64 because we have no RPM"
# export SHOULD_BUILD="yes"
# fi
if [[ "$HAVE_ARM64_DEB" != "true" ]]; then
echo "Building on Linux arm64 because we have no DEB"
export SHOULD_BUILD="yes"
fi
if [[ "$HAVE_IA32_DEB" != "true" ]]; then
echo "Building on Linux ia32 because we have no DEB"
export SHOULD_BUILD="yes"
fi
if [[ "$HAVE_IA32_TAR" != "true" ]]; then
echo "Building on Linux ia32 because we have no TAR"
if [[ "$HAVE_ARM64_TAR" != "true" ]]; then
echo "Building on Linux arm64 because we have no TAR"
export SHOULD_BUILD="yes"
fi
if [[ "$SHOULD_BUILD" != "yes" ]]; then
echo "Already have all the Linux ia32 builds"
echo "Already have all the Linux arm64 builds"
fi
else
HAVE_64_RPM=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["x86_64.rpm"])')

10
create_appimage.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
if [[ "$BUILDARCH" == "x64" ]]; then
# install a dep needed for this process
sudo apt-get install desktop-file-utils
# download pkg2appimage from github
curl -LO "https://github.com/AppImage/pkg2appimage/raw/master/pkg2appimage"
bash -e pkg2appimage ../VSCodium-AppImage-Recipe.yml
fi

8
create_dmg.sh Executable file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
if [[ "$SHOULD_BUILD" == "yes" ]]; then
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cd VSCode-darwin
create-dmg VSCodium.app ..
fi
cd ..
fi

View File

@@ -3,13 +3,13 @@
if [[ "$SHOULD_BUILD" == "yes" ]]; then
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cd VSCode-darwin
zip -r ../VSCode-darwin-${LATEST_MS_TAG}.zip ./*
elif [[ "$BUILDARCH" == "ia32" ]]; then
cd VSCode-linux-ia32
tar czf ../VSCode-linux-ia32-${LATEST_MS_TAG}.tar.gz .
zip -r -X -y ../VSCodium-darwin-${LATEST_MS_TAG}.zip ./*.app
elif [[ "$BUILDARCH" == "arm64" ]]; then
cd VSCode-linux-arm64
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

@@ -8,7 +8,8 @@ else
cd vscode
fi
export LATEST_MS_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
export LATEST_MS_COMMIT=$(git rev-list --tags --max-count=1)
export LATEST_MS_TAG=$(git describe --tags ${LATEST_MS_COMMIT})
echo "Got the latest MS tag: ${LATEST_MS_TAG}"
git checkout $LATEST_MS_TAG
cd ..

View File

@@ -2,15 +2,21 @@
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update
brew install yarn --without-node
brew install jq zip
else
sudo apt-get update
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm
if [[ "$BUILDARCH" == "ia32" ]]; then
sudo dpkg --add-architecture i386
sudo apt-get install -y fakeroot rpm jq
if [[ $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
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
sudo apt-get install libc6-dev-arm64-cross gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
sudo apt-get install libx11-dev:arm64 libxkbfile-dev:arm64
export CC=/usr/bin/aarch64-linux-gnu-gcc
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
fi

23
sign_mac_app.sh Executable file
View File

@@ -0,0 +1,23 @@
#!/bin/bash
# thanks to https://www.jviotti.com/2016/03/16/how-to-code-sign-os-x-electron-apps-in-travis-ci.html
# for the helpful instructions
if [[ "$SHOULD_BUILD" == "yes" ]]; then
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
if [ -d "VSCode-darwin" ]; then # just in case the build failed
cd VSCode-darwin
export CERTIFICATE_P12=VSCodium.p12
echo $CERTIFICATE_OSX_P12 | base64 --decode > $CERTIFICATE_P12
export KEYCHAIN=build.keychain
security create-keychain -p mysecretpassword $KEYCHAIN
security default-keychain -s $KEYCHAIN
security unlock-keychain -p mysecretpassword $KEYCHAIN
security import $CERTIFICATE_P12 -k $KEYCHAIN -P $CERTIFICATE_OSX_PASSWORD -T /usr/bin/codesign
# https://docs.travis-ci.com/user/common-build-problems/
security set-key-partition-list -S apple-tool:,apple: -s -k mysecretpassword $KEYCHAIN
codesign --deep --force --verbose --sign "$CERTIFICATE_OSX_ID" VSCodium.app
fi
fi
fi

Binary file not shown.

Binary file not shown.

BIN
src/resources/darwin/c.icns Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/c.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/cpp.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/css.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/go.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/php.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/sql.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/vue.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/xml.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.5 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.7 KiB

39
sum.sh Executable file
View File

@@ -0,0 +1,39 @@
#!/bin/bash
# shasum blows up in Azure, so using this
# node package which has similar syntax and identical output
if [[ "$CI_WINDOWS" == "True" ]]; then
npm i -g checksum
fi
sum_file () {
if [[ -f "$1" ]]; then
if [[ "$CI_WINDOWS" == "True" ]]; then
checksum -a sha256 "$1" > "$1".sha256
checksum -a sha1 "$1" > "$1".sha1
else
shasum -a 256 "$1" > "$1".sha256
shasum "$1" > "$1".sha1
fi
fi
}
if [[ "$SHOULD_BUILD" == "yes" ]]; then
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
sum_file VSCodium-darwin-*.zip
sum_file VSCodium*.dmg
elif [[ "$CI_WINDOWS" == "True" ]]; then
sum_file VSCodiumSetup-*.exe
sum_file VSCodiumUserSetup-*.exe
sum_file VSCodium-win32-*.zip
else # linux
cp vscode/out/*.AppImage .
cp vscode/.build/linux/deb/amd64/deb/*.deb .
cp vscode/.build/linux/rpm/x86_64/*.rpm .
sum_file *.AppImage
sum_file VSCodium-linux*.tar.gz
sum_file *.deb
sum_file *.rpm
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

49
update_settings.sh Executable file
View File

@@ -0,0 +1,49 @@
DEFAULT_TRUE="'default': true"
DEFAULT_FALSE="'default': false"
TELEMETRY_ENABLE="'telemetry.enableTelemetry':"
TELEMETRY_CRASH_REPORTER="'telemetry.enableCrashReporter':"
replace () {
echo $1
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
sed -i '' -E "$1" $2
else
sed -i -E "$1" $2
fi
}
update_setting () {
local FILENAME="$2"
# check that the file exists
if [ ! -f $FILENAME ]; then
echo "File to update setting in does not exist ${FILENAME}"
return
fi
# go through lines of file, looking for block that contains setting
local SETTING="$1"
local LINE_NUM=0
while read -r line; do
local LINE_NUM=$(( $LINE_NUM + 1 ))
if [[ $line == *"$SETTING"* ]]; then
local IN_SETTING=1
fi
if [[ $line == *"$DEFAULT_TRUE"* && "$IN_SETTING" == "1" ]]; then
local FOUND=1
break
fi
done < $FILENAME
if [[ "$FOUND" != "1" ]]; then
echo "$DEFAULT_TRUE not found for setting $SETTING in file $FILENAME"
return
fi
# construct line-aware replacement string
local DEFAULT_TRUE_TO_FALSE="${LINE_NUM}s/${DEFAULT_TRUE}/${DEFAULT_FALSE}/"
replace "$DEFAULT_TRUE_TO_FALSE" $FILENAME
}
update_setting "$TELEMETRY_ENABLE" src/vs/platform/telemetry/common/telemetryService.ts
update_setting "$TELEMETRY_CRASH_REPORTER" src/vs/workbench/electron-browser/main.contribution.ts

146
update_version.sh Executable file
View File

@@ -0,0 +1,146 @@
#!/bin/bash
if [[ "$SHOULD_BUILD" != "yes" ]]; then
echo "Will not update version JSON because we did not build"
exit
fi
# {
# "url": "https://az764295.vo.msecnd.net/stable/51b0b28134d51361cf996d2f0a1c698247aeabd8/VSCode-darwin-stable.zip",
# "name": "1.33.1",
# "version": "51b0b28134d51361cf996d2f0a1c698247aeabd8",
# "productVersion": "1.33.1",
# "hash": "cb4109f196d23b9d1e8646ce43145c5bb62f55a8",
# "timestamp": 1554971059007,
# "sha256hash": "ac2a1c8772501732cd5ff539a04bb4dc566b58b8528609d2b34bbf970d08cf01"
# }
# `url` is URL_BASE + filename of asset e.g.
# darwin: https://github.com/VSCodium/vscodium/releases/download/${LATEST_MS_TAG}/VSCodium-darwin-${LATEST_MS_TAG}.zip
# `name` is $LATEST_MS_TAG
# `version` is $LATEST_MS_COMMIT
# `productVersion` is $LATEST_MS_TAG
# `hash` in <filename>.sha1
# `timestamp` is $(node -e 'console.log(Date.now())')
# `sha256hash` in <filename>.sha256
URL_BASE=https://github.com/VSCodium/vscodium/releases/download/${LATEST_MS_TAG}
# to make testing on forks easier
if [[ "$CI_WINDOWS" == "True" ]]; then
# BUILD_REPOSITORY_URI = e.g. https://github.com/VSCodium/vscodium
VERSIONS_REPO=$(echo ${BUILD_REPOSITORY_URI} | awk -F"/" '{ print $4 }')/versions
git config --global core.autocrlf true
else
# TRAVIS_REPO_SLUG = e.g. VSCodium/vscodium
VERSIONS_REPO=$(echo ${TRAVIS_REPO_SLUG} | awk -F"/" '{ print $1 }')/versions
fi
# generateJson <assetName>
# e.g. generateJson VSCodium-darwin-1.33.0.zip
generateJson() {
local assetName=$1
# generate parts
local url=${URL_BASE}/${assetName}
local name=$LATEST_MS_TAG
local version=$LATEST_MS_COMMIT
local productVersion=$LATEST_MS_TAG
local timestamp=$(node -e 'console.log(Date.now())')
local sha1hash=$(cat ${assetName}.sha1 | awk '{ print $1 }')
local sha256hash=$(cat ${assetName}.sha256 | awk '{ print $1 }')
# check that nothing is blank (blank indicates something awry with build)
for key in url name version productVersion sha1hash timestamp sha256hash; do
if [[ "${!key}" == "" ]]; then
echo "Missing data for version update; exiting..."
exit 1
fi
done
# generate json
local json=$(jq \
--arg url "${url}" \
--arg name "${name}" \
--arg version "${version}" \
--arg productVersion "${productVersion}" \
--arg hash "${sha1hash}" \
--arg timestamp "${timestamp}" \
--arg sha256hash "${sha256hash}" \
'. | .url=$url | .name=$name | .version=$version | .productVersion=$productVersion | .hash=$hash | .timestamp=$timestamp | .sha256hash=$sha256hash' \
<<<'{}')
echo "$json"
}
updateLatestVersion() {
cd versions
local versionPath=$1
local json=$2
# create/update the latest.json file in the correct location
mkdir -p $versionPath
echo $json > $versionPath/latest.json
cd ..
}
# 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_REPO}.git
cd versions
git config user.email "vscodium-ci@not-real.com"
git config user.name "VSCodium CI"
git remote rm origin
git remote add origin https://${GITHUB_USERNAME}:${GITHUB_TOKEN}@github.com/${VERSIONS_REPO}.git > /dev/null 2>&1
cd ..
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
# zip, sha1, and sha256 files are all at top level dir
ASSET_NAME=VSCodium-darwin-${LATEST_MS_TAG}.zip
VERSION_PATH="darwin"
JSON="$(generateJson ${ASSET_NAME})"
updateLatestVersion "$VERSION_PATH" "$JSON"
elif [[ "$CI_WINDOWS" == "True" ]]; then
# system installer
ASSET_NAME=VSCodiumSetup-${BUILDARCH}-${LATEST_MS_TAG}.exe
VERSION_PATH="win32/${BUILDARCH}/system"
JSON="$(generateJson ${ASSET_NAME})"
updateLatestVersion "$VERSION_PATH" "$JSON"
# user installer
ASSET_NAME=VSCodiumUserSetup-${BUILDARCH}-${LATEST_MS_TAG}.exe
VERSION_PATH="win32/${BUILDARCH}/user"
JSON="$(generateJson ${ASSET_NAME})"
updateLatestVersion "$VERSION_PATH" "$JSON"
# windows archive
ASSET_NAME=VSCodium-win32-${BUILDARCH}-${LATEST_MS_TAG}.zip
VERSION_PATH="win32/${BUILDARCH}/archive"
JSON="$(generateJson ${ASSET_NAME})"
updateLatestVersion "$VERSION_PATH" "$JSON"
else # linux
# update service links to tar.gz file
# see https://update.code.visualstudio.com/api/update/linux-x64/stable/VERSION
# as examples
ASSET_NAME=VSCodium-linux-${BUILDARCH}-${LATEST_MS_TAG}.tar.gz
VERSION_PATH="linux/${BUILDARCH}"
JSON="$(generateJson ${ASSET_NAME})"
updateLatestVersion "$VERSION_PATH" "$JSON"
fi
cd versions
git pull origin master # in case another build just pushed
git add .
dateAndMonth=`date "+%D %T"`
git commit -m "Travis update: $dateAndMonth (Build $TRAVIS_BUILD_NUMBER)"
if ! git push origin master --quiet; then
git pull origin master
git push origin master --quiet
fi
cd ..

69
win32-build.yml Normal file
View File

@@ -0,0 +1,69 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: '10.x'
- script: |
choco install jq
displayName: 'install jq from choco'
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
displayName: 'Install Yarn'
- task: UsePythonVersion@0
displayName: 'Use Python 2.x'
inputs:
versionSpec: 2.x
- task: ShellScript@2
displayName: 'get VSCode sources'
inputs:
scriptPath: get_repo.sh
- powershell: |
$LATEST_MS_COMMIT="$(git -C vscode rev-list --tags --max-count=1)"
$LATEST_MS_TAG="$(git -C vscode describe --tags)"
Write-Host "##vso[task.setvariable variable=LATEST_MS_TAG]$LATEST_MS_TAG"
Write-Host "##vso[task.setvariable variable=LATEST_MS_COMMIT]$LATEST_MS_COMMIT"
Write-Host "##vso[task.setvariable variable=BUILD_SOURCEVERSION]$LATEST_MS_COMMIT"
displayName: 'set env LATEST_MS_TAG, LATEST_MS_COMMIT'
- task: PowerShell@2
inputs:
filePath: 'check_tags.ps1'
env:
MAPPED_GITHUB_TOKEN: $(GITHUB_TOKEN)
- script: |
git -C vscode status
displayName: 'vscode status'
- powershell: |
bash ./build.sh
displayName: 'go build it!'
- bash: |
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-$(BUILDARCH)\\system-setup\\VSCodeSetup.exe VSCodiumSetup-$(BUILDARCH)-${LATEST_MS_TAG}.exe; fi
displayName: 'move the system setup'
- bash: |
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-$(BUILDARCH)\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-$(BUILDARCH)-${LATEST_MS_TAG}.exe; fi
displayName: 'move the user setup'
- bash: |
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-$(BUILDARCH)\\archive\\VSCode-win32-$(BUILDARCH).zip VSCodium-win32-$(BUILDARCH)-${LATEST_MS_TAG}.zip; fi
displayName: 'move the zip folder'
- powershell: |
bash ./sum.sh
condition: eq(variables['SHOULD_BUILD'], 'yes')
displayName: 'compute sums'
- task: CopyFiles@2
inputs:
contents: |
VSCodium*.zip
VSCodiumUserSetup*.exe
VSCodiumSetup*.exe
*.sha256
targetFolder: $(Build.ArtifactStagingDirectory)
condition: eq(variables['SHOULD_BUILD'], 'yes')
displayName: 'copy artifacts to staging directory'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts'
condition: eq(variables['SHOULD_BUILD'], 'yes')
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)
ArtifactName: 'everything'
- bash: ./update_version.sh
displayName: 'update version json'
env:
GITHUB_TOKEN: $(GITHUB_TOKEN)
GITHUB_USERNAME: $(GITHUB_USERNAME)