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:
24
scripts/vstar.sh
Executable file
24
scripts/vstar.sh
Executable 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 .
|
@ -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,
|
||||
|
Reference in New Issue
Block a user