diff --git a/lib/utils/remote-build.ts b/lib/utils/remote-build.ts index 7a0b6656..8ab0a506 100644 --- a/lib/utils/remote-build.ts +++ b/lib/utils/remote-build.ts @@ -213,6 +213,7 @@ async function cancelBuildIfNecessary(build: RemoteBuild): Promise { async function getRequestStream(build: RemoteBuild): Promise { const path = await import('path'); const visuals = await import('resin-cli-visuals'); + const zlib = await import('zlib'); const tarSpinner = new visuals.Spinner('Packaging the project source...'); tarSpinner.start(); @@ -233,6 +234,14 @@ async function getRequestStream(build: RemoteBuild): Promise { auth: { bearer: build.auth, }, + headers: { + 'Content-Encoding': 'gzip', + }, + body: tarStream.pipe( + zlib.createGzip({ + level: 6, + }), + ), }); const uploadSpinner = new visuals.Spinner( @@ -240,8 +249,6 @@ async function getRequestStream(build: RemoteBuild): Promise { ); uploadSpinner.start(); - tarStream.pipe(post); - const parseStream = post.pipe(JSONStream.parse('*')); parseStream.on('data', () => uploadSpinner.stop()); return parseStream as Stream.Duplex;