Archived
1
0

Improve CI caching (#416)

* Adjust linux distro to ubuntu 14.04

* Cache lib directory for speedy builds

* Fix path linking for default extensions

* Update reset

* Reset to head

* Improve caching

* Still run yarn in CI

* Update yarn before install

* Increase cache timeout

* Install vscode from vstar

* Undo data-dir changes to CLI, add back clean, remove unused CI func

* Remove additional flags added

* Remove unused dependency

* Reset vscode install dir so patching always works
This commit is contained in:
Kyle Carberry
2019-04-03 14:24:00 -05:00
committed by Asher
parent 2683b7c734
commit dcf409aecb
7 changed files with 145 additions and 84 deletions

24
scripts/vstar.sh Executable file
View File

@ -0,0 +1,24 @@
#!/bin/bash
set -euxo pipefail
# Builds a tarfile containing vscode sourcefiles neccessary for CI.
# Done outside the CI and uploaded to object storage to reduce CI time.
branch=1.32.0
dir=/tmp/vstar
outfile=/tmp/vstar-$branch.tar.gz
rm -rf $dir
mkdir -p $dir
cd $dir
git clone https://github.com/microsoft/vscode --branch $branch --single-branch --depth=1
cd vscode
yarn
npx gulp vscode-linux-x64 --max-old-space-size=32384
rm -rf extensions build out* test
cd ..
mv *-x64/resources/app/extensions ./extensions
rm -rf *-x64
tar -czvf $outfile .

View File

@ -3,6 +3,7 @@ const os = require("os");
const environment = process.env.NODE_ENV || "development";
const HappyPack = require("happypack");
const webpack = require("webpack");
const TerserPlugin = require("terser-webpack-plugin");
const root = path.join(__dirname, "..");
@ -107,6 +108,11 @@ module.exports = (options = {}) => ({
id: "ts",
threads: Math.max(os.cpus().length - 1, 1),
loaders: [{
path: "cache-loader",
query: {
cacheDirectory: path.join(__dirname, "..", ".cache"),
},
}, {
path: "ts-loader",
query: {
happyPackMode: true,
@ -121,6 +127,14 @@ module.exports = (options = {}) => ({
"process.env.VERSION": `"${process.env.VERSION || ""}"`,
}),
],
optimization: {
minimizer: [
new TerserPlugin({
cache: path.join(__dirname, "..", ".cache", "terser"),
parallel: true,
}),
],
},
stats: {
all: false, // Fallback for options not defined.
errors: true,