Bug 1957705 - Switch newtab and messaging system node tests to use toolchains for node modules. r=releng-reviewers,jcristau
This avoids the tests running npm ci on every run. Differential Revision: https://phabricator.services.mozilla.com/D244071
This commit is contained in:
@@ -37,6 +37,14 @@ path:package.json
|
|||||||
path:package-lock.json
|
path:package-lock.json
|
||||||
path:tools/lint/
|
path:tools/lint/
|
||||||
|
|
||||||
|
# for other node toolchain packaging
|
||||||
|
path:browser/extensions/newtab/package.json
|
||||||
|
path:browser/extensions/newtab/package-lock.json
|
||||||
|
path:browser/components/aboutwelcome/package.json
|
||||||
|
path:browser/components/aboutwelcome/package-lock.json
|
||||||
|
path:browser/components/asrouter/package.json
|
||||||
|
path:browser/components/asrouter/package-lock.json
|
||||||
|
|
||||||
# for new-style try pushes
|
# for new-style try pushes
|
||||||
path:try_task_config.json
|
path:try_task_config.json
|
||||||
|
|
||||||
|
|||||||
@@ -33,14 +33,14 @@ newtab-unit-tests:
|
|||||||
- target.tar.xz
|
- target.tar.xz
|
||||||
toolchain:
|
toolchain:
|
||||||
- linux64-node
|
- linux64-node
|
||||||
|
- node-modules
|
||||||
|
- newtab-node-modules
|
||||||
run:
|
run:
|
||||||
command: >
|
command: >
|
||||||
cd /builds/worker/checkouts/gecko &&
|
cd /builds/worker/checkouts/gecko &&
|
||||||
rm -rf node_modules &&
|
cp -r $MOZ_FETCHES_DIR/node_modules node_modules &&
|
||||||
npm ci &&
|
|
||||||
cd /builds/worker/checkouts/gecko/browser/extensions/newtab &&
|
cd /builds/worker/checkouts/gecko/browser/extensions/newtab &&
|
||||||
rm -rf node_modules &&
|
cp -r $MOZ_FETCHES_DIR/newtab/node_modules node_modules &&
|
||||||
npm ci &&
|
|
||||||
FIREFOX_BIN=$MOZ_FETCHES_DIR/firefox/firefox node bin/try-runner.js
|
FIREFOX_BIN=$MOZ_FETCHES_DIR/firefox/firefox node bin/try-runner.js
|
||||||
when:
|
when:
|
||||||
files-changed:
|
files-changed:
|
||||||
@@ -66,14 +66,14 @@ newtab-unit-tests-ccov:
|
|||||||
- target.tar.xz
|
- target.tar.xz
|
||||||
toolchain:
|
toolchain:
|
||||||
- linux64-node
|
- linux64-node
|
||||||
|
- node-modules
|
||||||
|
- newtab-node-modules
|
||||||
run:
|
run:
|
||||||
command: >
|
command: >
|
||||||
cd /builds/worker/checkouts/gecko &&
|
cd /builds/worker/checkouts/gecko &&
|
||||||
rm -rf node_modules &&
|
cp -r $MOZ_FETCHES_DIR/node_modules node_modules &&
|
||||||
npm ci &&
|
|
||||||
cd /builds/worker/checkouts/gecko/browser/extensions/newtab &&
|
cd /builds/worker/checkouts/gecko/browser/extensions/newtab &&
|
||||||
rm -rf node_modules &&
|
cp -r $MOZ_FETCHES_DIR/newtab/node_modules node_modules &&
|
||||||
npm ci &&
|
|
||||||
FIREFOX_BIN=$MOZ_FETCHES_DIR/firefox/firefox node bin/try-runner.js
|
FIREFOX_BIN=$MOZ_FETCHES_DIR/firefox/firefox node bin/try-runner.js
|
||||||
# This should only run on mozilla-central, as the bot will only parse mozilla-central
|
# This should only run on mozilla-central, as the bot will only parse mozilla-central
|
||||||
# coverage anyways.
|
# coverage anyways.
|
||||||
@@ -94,17 +94,19 @@ messagingsystem-unit-tests:
|
|||||||
linux1804-64/opt: build-linux64/opt
|
linux1804-64/opt: build-linux64/opt
|
||||||
default:
|
default:
|
||||||
linux1804-64/opt: build-linux64-shippable/opt
|
linux1804-64/opt: build-linux64-shippable/opt
|
||||||
|
fetches:
|
||||||
|
toolchain:
|
||||||
|
- node-modules
|
||||||
|
- aboutwelcome-node-modules
|
||||||
|
- asrouter-node-modules
|
||||||
run:
|
run:
|
||||||
command: >
|
command: >
|
||||||
cd /builds/worker/checkouts/gecko &&
|
cd /builds/worker/checkouts/gecko &&
|
||||||
rm -rf node_modules &&
|
cp -r $MOZ_FETCHES_DIR/node_modules node_modules &&
|
||||||
npm ci &&
|
|
||||||
cd /builds/worker/checkouts/gecko/browser/components/aboutwelcome &&
|
cd /builds/worker/checkouts/gecko/browser/components/aboutwelcome &&
|
||||||
rm -rf node_modules &&
|
cp -r $MOZ_FETCHES_DIR/aboutwelcome/node_modules node_modules &&
|
||||||
npm ci &&
|
|
||||||
cd /builds/worker/checkouts/gecko/browser/components/asrouter &&
|
cd /builds/worker/checkouts/gecko/browser/components/asrouter &&
|
||||||
rm -rf node_modules &&
|
cp -r $MOZ_FETCHES_DIR/asrouter/node_modules node_modules &&
|
||||||
npm ci &&
|
|
||||||
node bin/try-runner.js
|
node bin/try-runner.js
|
||||||
when:
|
when:
|
||||||
files-changed:
|
files-changed:
|
||||||
@@ -126,17 +128,19 @@ messagingsystem-unit-tests-ccov:
|
|||||||
linux1804-64/opt: build-linux64/opt
|
linux1804-64/opt: build-linux64/opt
|
||||||
default:
|
default:
|
||||||
linux1804-64/opt: build-linux64-shippable/opt
|
linux1804-64/opt: build-linux64-shippable/opt
|
||||||
|
fetches:
|
||||||
|
toolchain:
|
||||||
|
- node-modules
|
||||||
|
- aboutwelcome-node-modules
|
||||||
|
- asrouter-node-modules
|
||||||
run:
|
run:
|
||||||
command: >
|
command: >
|
||||||
cd /builds/worker/checkouts/gecko &&
|
cd /builds/worker/checkouts/gecko &&
|
||||||
rm -rf node_modules &&
|
cp -r $MOZ_FETCHES_DIR/node_modules node_modules &&
|
||||||
npm ci &&
|
|
||||||
cd /builds/worker/checkouts/gecko/browser/components/aboutwelcome &&
|
cd /builds/worker/checkouts/gecko/browser/components/aboutwelcome &&
|
||||||
rm -rf node_modules &&
|
cp -r $MOZ_FETCHES_DIR/aboutwelcome/node_modules node_modules &&
|
||||||
npm ci &&
|
|
||||||
cd /builds/worker/checkouts/gecko/browser/components/asrouter &&
|
cd /builds/worker/checkouts/gecko/browser/components/asrouter &&
|
||||||
rm -rf node_modules &&
|
cp -r $MOZ_FETCHES_DIR/asrouter/node_modules node_modules &&
|
||||||
npm ci &&
|
|
||||||
node bin/try-runner.js
|
node bin/try-runner.js
|
||||||
# This should only run on mozilla-central, as the bot will only parse mozilla-central
|
# This should only run on mozilla-central, as the bot will only parse mozilla-central
|
||||||
# coverage anyways.
|
# coverage anyways.
|
||||||
|
|||||||
@@ -407,6 +407,38 @@ browsertime:
|
|||||||
toolchain:
|
toolchain:
|
||||||
- linux64-node
|
- linux64-node
|
||||||
|
|
||||||
|
aboutwelcome-node-modules:
|
||||||
|
description: "npm install aboutwelcome node_modules"
|
||||||
|
treeherder:
|
||||||
|
symbol: TL(aboutwelcome-node)
|
||||||
|
run:
|
||||||
|
script: generic-node-modules.sh
|
||||||
|
arguments: ['aboutwelcome', 'browser/components/aboutwelcome/']
|
||||||
|
sparse-profile: null
|
||||||
|
resources:
|
||||||
|
- 'browser/components/aboutwelcome/package.json'
|
||||||
|
- 'browser/components/aboutwelcome/package-lock.json'
|
||||||
|
toolchain-artifact: public/build/aboutwelcome-node-modules.tar.zst
|
||||||
|
fetches:
|
||||||
|
toolchain:
|
||||||
|
- linux64-node
|
||||||
|
|
||||||
|
asrouter-node-modules:
|
||||||
|
description: "npm install asrouter node_modules"
|
||||||
|
treeherder:
|
||||||
|
symbol: TL(asrouter-node)
|
||||||
|
run:
|
||||||
|
script: generic-node-modules.sh
|
||||||
|
arguments: ['asrouter', 'browser/components/asrouter/']
|
||||||
|
sparse-profile: null
|
||||||
|
resources:
|
||||||
|
- 'browser/components/asrouter/package.json'
|
||||||
|
- 'browser/components/asrouter/package-lock.json'
|
||||||
|
toolchain-artifact: public/build/asrouter-node-modules.tar.zst
|
||||||
|
fetches:
|
||||||
|
toolchain:
|
||||||
|
- linux64-node
|
||||||
|
|
||||||
eslint-plugin-mozilla:
|
eslint-plugin-mozilla:
|
||||||
description: "npm install eslint-plugin-mozilla node_modules"
|
description: "npm install eslint-plugin-mozilla node_modules"
|
||||||
treeherder:
|
treeherder:
|
||||||
@@ -422,6 +454,23 @@ eslint-plugin-mozilla:
|
|||||||
toolchain:
|
toolchain:
|
||||||
- linux64-node
|
- linux64-node
|
||||||
|
|
||||||
|
|
||||||
|
newtab-node-modules:
|
||||||
|
description: "npm install newtab node_modules"
|
||||||
|
treeherder:
|
||||||
|
symbol: TL(newtab-node)
|
||||||
|
run:
|
||||||
|
script: generic-node-modules.sh
|
||||||
|
arguments: ['newtab', 'browser/extensions/newtab/']
|
||||||
|
sparse-profile: null
|
||||||
|
resources:
|
||||||
|
- 'browser/extensions/newtab/package.json'
|
||||||
|
- 'browser/extensions/newtab/package-lock.json'
|
||||||
|
toolchain-artifact: public/build/newtab-node-modules.tar.zst
|
||||||
|
fetches:
|
||||||
|
toolchain:
|
||||||
|
- linux64-node
|
||||||
|
|
||||||
node-modules:
|
node-modules:
|
||||||
description: "npm install top-level node_modules"
|
description: "npm install top-level node_modules"
|
||||||
treeherder:
|
treeherder:
|
||||||
|
|||||||
20
taskcluster/scripts/misc/generic-node-modules.sh
Executable file
20
taskcluster/scripts/misc/generic-node-modules.sh
Executable file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash -vex
|
||||||
|
|
||||||
|
set -x -e
|
||||||
|
|
||||||
|
echo "running as" $(id)
|
||||||
|
|
||||||
|
set -v
|
||||||
|
|
||||||
|
cd $GECKO_PATH
|
||||||
|
|
||||||
|
export PATH=$PATH:$MOZ_FETCHES_DIR/node/bin
|
||||||
|
|
||||||
|
rm -rf $2/node_modules
|
||||||
|
npm ci --prefix $2
|
||||||
|
|
||||||
|
# We have $2/{node_modules,...} and want $1/{node_modules}.
|
||||||
|
mkdir -p /builds/worker/artifacts
|
||||||
|
cd $2
|
||||||
|
cd ..
|
||||||
|
tar caf /builds/worker/artifacts/$1-node-modules.tar.zst $1/node_modules
|
||||||
Reference in New Issue
Block a user