Commit graph

80 commits

Author SHA1 Message Date
Daniel Imms 99875872f0 Fix hooks dir 2018-02-01 21:15:23 -08:00
Daniel Imms 79786dcdf2 Add a test post refresh hook 2018-02-01 18:23:17 -08:00
Daniel Imms 9609e49398 Add revision to snapcraft version
Version doesn't contain semantic meaning, this will allow us to identify
the build though
2018-02-01 14:15:20 -08:00
Daniel Imms 17e5119738 Add snapcraft version to snap task 2018-02-01 09:52:10 -08:00
Erich Gamma 5e41d2aafb enable checkJS 2018-02-01 14:39:12 +01:00
Daniel Imms c1ebba8f2e Fix snap filename 2018-01-31 15:44:11 -08:00
Daniel Imms eb90618d2a Don't generate an apt Packages file
We never used this in production.

Related: Microsoft/vscode-update-server#13
2017-11-09 11:59:34 -08:00
Daniel Imms 081a57ca96 Remove epoch from snap package 2017-10-02 13:34:07 -07:00
Daniel Imms ff6f0e462a Add ia32 and arm snap builds 2017-09-28 09:44:48 -04:00
Daniel Imms d2b2b4d7ea Add support for building x64 snap package 2017-09-26 14:18:00 -04:00
Joao Moreno d8df161717 remove linux build todo 2017-05-12 09:34:45 +02:00
Joao Moreno 38bce9930a 👷 remove buffers from build streams 2017-03-31 10:30:29 +02:00
Joao Moreno 277dc8bdb9 👷 split linux tfs build 2017-03-31 10:22:13 +02:00
Joao Moreno 0fb99b704c 💚 hopefully fix the linux tfs build 2017-03-29 10:47:51 +02:00
Daniel Imms 85aad8238a Copy rpm to location expected by distro 2017-02-21 10:11:02 -08:00
Daniel Imms 06434144c4 Remove rpm repo creation code 2017-02-19 12:12:28 -08:00
Adrian Perez de Castro 1e300d1f7e
Add an AppData XML data file to Linux builds
The AppData files provide descriptive data about an application, and is
typically used in application managers to display additional information to
the user. Having an AppData file is especially important for some graphical
application installers: without one, an application manager may not event
show an entry for the application. This happens for example in GNOME Software.

For the sake of completeness, this commit not only adds the AppData file to
the Flatpak build, but also to the Linux .deb and .rpm packages.
2016-12-18 20:57:25 +02:00
Adrian Perez de Castro 464cffc766
Flatpak: Set the subject used for repository commits
When storing the output of a Flatpak build to a commit into an OSTree
repository (by setting the $FLATPAK_REPO environment variable), it is
good to have a descriptive subject in the commit log message.
2016-12-16 04:52:45 +02:00
Adrian Perez de Castro 86f5213f39
Flatpak: Allow specifying the path to a destination repository
This makes the Flatpak builds honor the $FLATPAK_REPO environment variable.
When it is defined, it will be used as the path to an OSTree repository where
the Flatpak application bundle will be committed to. This allows to place
multiple builds in the same repository (along other applications, even), which
can be published. For more details abuit using repositories for publishing,
check:

   http://flatpak.org/developer.html#Distributing_Applications

Note that setting $FLATPAK_REPO disables building a standalone .flatpak bundle
file.
2016-12-16 04:52:44 +02:00
Adrian Perez de Castro deb4e410c7
Support signing Flatpak builds with GPG
This honors the following environment variables:

- $GPG_KEY_ID: When set, it can be the identifier, full fingerprint, or
  email address of a GnuPG key which will be used to sign Flatpak builds.

- $GPG_HOMEDIR: Path to an alternative home directory to be used by GnuPG,
  instead of the default ~/.gnupg directory of the current user. This can
  be used to point GnuPG to a different keychain.
2016-12-16 04:52:44 +02:00
Daniel Imms 588efa9e68 Remove gulp-image-resize dep unless we build flatpak 2016-12-14 10:23:39 -08:00
Daniel Imms f087eea3bd Merge pull request #16169 from aperezdc/flatpak
Support building Flatpak application bundles
2016-12-14 10:06:55 -08:00
Adrian Perez de Castro 9383c9aa68
Support building Flatpak bundles
This adds support for building Flatpak application bundles, which should be
runnable on any Linux distribution with Flatpak support. See the page at
http://flatpak.org/getting.html

New Gulp tasks are added to prepare a directory with the needed files
(vscode-linux-${arch}-prepare-flatpak), assembling the Flatpak bundles
(vscode-linux-${arch}-flatpak), and for cleaning the build directories
(clean-vscode-linux-${arch}-flatpak). This mimics how the Debian and RPM
package creation works. Hence, building an application bundle is done with:

  $ gulp vscode-linux-x64-flatpak
  [...]
  $ ls *.flatpak
  com.visualstudio.code.oss-x86_64.flatpak

Installing and running the application is achieved with:

  $ flatpak --user install --bundle com.visualstudio.code.oss-x86_64.flatpak
  $ flatpak run com.visualstudio.code.oss

(Removing "--user" would install the application system-wide. Also note that
the "org.freedesktop.Platform" runtime needs to be installeed, check the
Flatpak website for instructions.)

The "flatpak-bundler" development dependency provides an asynchronous API to
invoke "flatpak-builder". The "gulp-image-resize" module is used to
incorporate scaling of the application icon to multiple sizes, and uses
ImageMagick (or GraphicsMagick) under the hood, which is commonly available on
most GNU/Linux distributions.

Instead of building the Electron dependencies ourselves, this uses the
io.atom.electron.BaseApp bundle as base application.

Instead of building the Electron dependencies, this reuses the
"io.atom.electron.BaseApp" bundle as base application. The contents of the
base application are imported at build time, and then Electron and the
prepared files added on top. The prebuilt base application will be fetched
automatically using the URL specified in the "baseFlatpakref" attribute of the
manifest, and it is kindly hosted at Amazon S3 by Endless Computers
(https://endlessm.com). The sources for the base application can be found at:

  https://github.com/endlessm/electron-flatpak-base-app/
2016-12-14 16:46:32 +02:00
Daniel Imms b69e40dd8a Use license in product.json for rpm
Fixes #17133
2016-12-13 21:10:29 -08:00
Daniel Imms 9f4d4978e1 Improve rpm dependencies
Fixes #17142
2016-12-13 19:58:38 -08:00
Ted Piotrowski 98c19028ce Fix gulp methods for targeting arm systems 2016-09-22 15:36:05 -04:00
Paul Oppenheim bccbc219cc vscode-linux-*-build-deb - permission bits match expected
fixes #11557
2016-09-05 19:40:33 -07:00
Joao Moreno 6a6cbbdb91 drop gulp-symdest 2016-09-05 12:38:29 +02:00
Joe Foster 007c2cab0d Adding gulp methods for targeting arm systems 2016-08-24 23:55:26 +01:00
Joao Moreno 9b3f9d7648 extract vscode linux build scripts 2016-07-20 11:00:50 +02:00