You've already forked tribes-supertest
51b40e5dea
Add npm run alias:{tribes,sender,kobold,all} to run minimal coverage
groups of scenarios sequentially, failing fast on the first failure.
Scenarios in a group share one SUPERTEST_RUN_ID so artifacts land
together; all is the deduplicated union of the named groups.
tribes omits single-node-plugin-rollout-rollback (its coverage is a
subset of the cluster rollout scenarios); its rollback executor-status
check is folded into cluster-plugin-rollout-sync-split-brain via a shared
assertRollbackExecutorAccepted helper.
Extract the duplicated scenario plumbing into src/scenarios/shared.ts:
init-primary preamble, rollout start, cluster control convergence,
supertest plugin schema/state helpers, and sleep/shellQuote/errorToMessage.
54 lines
2.1 KiB
JSON
54 lines
2.1 KiB
JSON
{
|
|
"name": "tribes-supertest",
|
|
"version": "0.1.0",
|
|
"description": "Tribes integration scenarios",
|
|
"private": true,
|
|
"keywords": [
|
|
"tribes"
|
|
],
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://git.teralink.net/tribes/tribes-supertest.git"
|
|
},
|
|
"license": "BSD-2-Clause",
|
|
"author": "Steffen Beyer",
|
|
"type": "module",
|
|
"main": "./dist/index.js",
|
|
"types": "./dist/index.d.ts",
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"scripts": {
|
|
"format": "prettier --write .",
|
|
"format:check": "prettier --check .",
|
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
"build": "tsc -p tsconfig.build.json",
|
|
"check": "npm run typecheck",
|
|
"precommit": "npm run format:check && npm run typecheck && npm test && npm run build",
|
|
"preflight:substitutes": "node --import tsx scripts/check-substitutes.ts",
|
|
"test": "node --import tsx --test",
|
|
"scenario": "node --import tsx src/index.ts",
|
|
"scenario:list": "npm run scenario -- list",
|
|
"alias:tribes": "npm run scenario -- group tribes",
|
|
"alias:sender": "npm run scenario -- group sender",
|
|
"alias:kobold": "npm run scenario -- group kobold",
|
|
"alias:all": "npm run scenario -- group all",
|
|
"scenario:single-node-init": "npm run scenario -- single-node-init",
|
|
"scenario:manual-node-init": "npm run scenario -- manual-node-init",
|
|
"scenario:single-node-plugin-rollout-rollback": "npm run scenario -- single-node-plugin-rollout-rollback",
|
|
"scenario:single-node-sender": "npm run scenario -- single-node-sender",
|
|
"scenario:cluster-sender-fanout-reboot": "npm run scenario -- cluster-sender-fanout-reboot",
|
|
"scenario:cluster-kobold-public-private": "npm run scenario -- cluster-kobold-public-private",
|
|
"scenario:cluster-plugin-integrated-rollout": "npm run scenario -- cluster-plugin-integrated-rollout",
|
|
"scenario:cluster-plugin-rollout-sync-split-brain": "npm run scenario -- cluster-plugin-rollout-sync-split-brain",
|
|
"scenario:cluster-lifecycle": "npm run scenario -- cluster-lifecycle"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.19.1",
|
|
"prettier": "^3.7.4",
|
|
"tsx": "^4.21.0",
|
|
"typescript": "^5.9.3"
|
|
},
|
|
"packageManager": "npm@11.6.2"
|
|
}
|