mirror of
https://github.com/balena-io/balena-cli.git
synced 2025-02-11 13:16:12 +00:00
Tests: check shrinkwrap is deduped
Change-type: patch
This commit is contained in:
parent
3691ae148e
commit
648a73fd91
@ -409,3 +409,12 @@ export async function catchUncommitted(): Promise<void> {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function testShrinkwrap(): Promise<void> {
|
||||||
|
if (process.env.DEBUG) {
|
||||||
|
console.error(`[debug] platform=${process.platform}`);
|
||||||
|
}
|
||||||
|
if (process.platform !== 'win32') {
|
||||||
|
await whichSpawn(path.resolve(__dirname, 'test-lock-deduplicated.sh'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -21,6 +21,7 @@ import {
|
|||||||
buildOclifInstaller,
|
buildOclifInstaller,
|
||||||
buildStandaloneZip,
|
buildStandaloneZip,
|
||||||
catchUncommitted,
|
catchUncommitted,
|
||||||
|
testShrinkwrap,
|
||||||
} from './build-bin';
|
} from './build-bin';
|
||||||
import {
|
import {
|
||||||
release,
|
release,
|
||||||
@ -63,6 +64,7 @@ export async function run(args?: string[]) {
|
|||||||
'build:installer': buildOclifInstaller,
|
'build:installer': buildOclifInstaller,
|
||||||
'build:standalone': buildStandaloneZip,
|
'build:standalone': buildStandaloneZip,
|
||||||
'catch-uncommitted': catchUncommitted,
|
'catch-uncommitted': catchUncommitted,
|
||||||
|
'test-shrinkwrap': testShrinkwrap,
|
||||||
fix1359: updateDescriptionOfReleasesAffectedByIssue1359,
|
fix1359: updateDescriptionOfReleasesAffectedByIssue1359,
|
||||||
release,
|
release,
|
||||||
};
|
};
|
||||||
|
17
automation/test-lock-deduplicated.sh
Executable file
17
automation/test-lock-deduplicated.sh
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cp npm-shrinkwrap.json npm-shrinkwrap.json.old
|
||||||
|
npm i
|
||||||
|
npm dedupe
|
||||||
|
npm i
|
||||||
|
|
||||||
|
if ! diff -q npm-shrinkwrap.json npm-shrinkwrap.json.old > /dev/null; then
|
||||||
|
rm npm-shrinkwrap.json.old
|
||||||
|
echo "** npm-shrinkwrap.json was not deduplicated or not fully committed - FAIL **";
|
||||||
|
echo "** Please run 'npm ci', followed by 'npm dedupe' **";
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm npm-shrinkwrap.json.old
|
@ -206,7 +206,7 @@ export async function which(program: string): Promise<string> {
|
|||||||
*/
|
*/
|
||||||
export async function whichSpawn(
|
export async function whichSpawn(
|
||||||
programName: string,
|
programName: string,
|
||||||
args: string[],
|
args?: string[],
|
||||||
): Promise<void> {
|
): Promise<void> {
|
||||||
const program = await which(programName);
|
const program = await which(programName);
|
||||||
let error: Error | undefined;
|
let error: Error | undefined;
|
||||||
|
@ -58,7 +58,8 @@
|
|||||||
"package": "npm run build:fast && npm run build:standalone && npm run build:installer",
|
"package": "npm run build:fast && npm run build:standalone && npm run build:installer",
|
||||||
"release": "ts-node --transpile-only automation/run.ts release",
|
"release": "ts-node --transpile-only automation/run.ts release",
|
||||||
"pretest": "npm run build",
|
"pretest": "npm run build",
|
||||||
"test": "npm run test:source && npm run test:standalone",
|
"test": "npm run test:shrinkwrap && npm run test:source && npm run test:standalone",
|
||||||
|
"test:shrinkwrap": "ts-node --transpile-only automation/run.ts test-shrinkwrap",
|
||||||
"test:source": "cross-env BALENA_CLI_TEST_TYPE=source mocha",
|
"test:source": "cross-env BALENA_CLI_TEST_TYPE=source mocha",
|
||||||
"test:standalone": "npm run build:standalone && npm run test:standalone:fast",
|
"test:standalone": "npm run build:standalone && npm run test:standalone:fast",
|
||||||
"test:standalone:fast": "cross-env BALENA_CLI_TEST_TYPE=standalone mocha",
|
"test:standalone:fast": "cross-env BALENA_CLI_TEST_TYPE=standalone mocha",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user