bulletin-deploy 0.7.16 → 0.7.17-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/environments.json +25 -0
- package/bin/bulletin-deploy +50 -1
- package/dist/bug-report.js +4 -4
- package/dist/{chunk-XE56RZQZ.js → chunk-2K2FAWCW.js} +13 -1
- package/dist/{chunk-DESQCUVX.js → chunk-62Y7KCOV.js} +2 -2
- package/dist/{chunk-AHSZ5WRE.js → chunk-7FAJK65N.js} +5 -4
- package/dist/chunk-EQPIYO7J.js +9 -0
- package/dist/{chunk-6IT7FRTA.js → chunk-ROD5OK32.js} +1 -1
- package/dist/{chunk-GMVRWMK5.js → chunk-SEOC622U.js} +2 -2
- package/dist/{chunk-KTVELHHZ.js → chunk-THJ4U4MZ.js} +11 -7
- package/dist/{chunk-5XLGTLSI.js → chunk-TISYCYOM.js} +1 -1
- package/dist/chunk-probe.js +3 -3
- package/dist/deploy.d.ts +2 -0
- package/dist/deploy.js +7 -7
- package/dist/dotns.js +3 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +11 -7
- package/dist/memory-report.js +2 -2
- package/dist/merkle.js +7 -7
- package/dist/mirror.d.ts +11 -0
- package/dist/mirror.js +7 -0
- package/dist/run-state.js +1 -1
- package/dist/telemetry.d.ts +2 -1
- package/dist/telemetry.js +4 -2
- package/dist/version-check.d.ts +2 -1
- package/dist/version-check.js +5 -3
- package/package.json +2 -2
package/assets/environments.json
CHANGED
|
@@ -27,6 +27,15 @@
|
|
|
27
27
|
"ipfs": "https://paseo-bulletin-review-ipfs.polkadot.io",
|
|
28
28
|
"uptimeUrl": "https://stats.uptimerobot.com/bckl1cu0AO"
|
|
29
29
|
},
|
|
30
|
+
{
|
|
31
|
+
"id": "paseo-next-v2",
|
|
32
|
+
"name": "Paseo Next v2",
|
|
33
|
+
"network": "testnet",
|
|
34
|
+
"description": "Next iteration of the Paseo Next testnet",
|
|
35
|
+
"backend": "https://identity-backend-next.parity-testnet.parity.io",
|
|
36
|
+
"ipfs": "https://paseo-bulletin-next-ipfs.polkadot.io",
|
|
37
|
+
"docsUrl": "https://sre.teleport.parity.io/environments/paseo-next/"
|
|
38
|
+
},
|
|
30
39
|
{
|
|
31
40
|
"id": "polkadot",
|
|
32
41
|
"name": "Polkadot",
|
|
@@ -56,6 +65,10 @@
|
|
|
56
65
|
"wss": "wss://paseo-rpc.n.dwellir.com",
|
|
57
66
|
"uptimeUrl": "https://stats.uptimerobot.com/UrEXbl6Xyt"
|
|
58
67
|
},
|
|
68
|
+
"paseo-next-v2": {
|
|
69
|
+
"wss": "wss://paseo-rpc.n.dwellir.com",
|
|
70
|
+
"uptimeUrl": "https://stats.uptimerobot.com/UrEXbl6Xyt"
|
|
71
|
+
},
|
|
59
72
|
"polkadot": {
|
|
60
73
|
"wss": [
|
|
61
74
|
"wss://polkadot-rpc.n.dwellir.com",
|
|
@@ -92,6 +105,10 @@
|
|
|
92
105
|
"parachainId": 1000,
|
|
93
106
|
"uptimeUrl": "https://stats.uptimerobot.com/UrEXbl6Xyt"
|
|
94
107
|
},
|
|
108
|
+
"paseo-next-v2": {
|
|
109
|
+
"wss": "wss://paseo-asset-hub-next-rpc.polkadot.io",
|
|
110
|
+
"parachainId": 1500
|
|
111
|
+
},
|
|
95
112
|
"polkadot": {
|
|
96
113
|
"wss": [
|
|
97
114
|
"wss://asset-hub-polkadot-rpc.n.dwellir.com",
|
|
@@ -193,6 +210,10 @@
|
|
|
193
210
|
"parachainId": 5167,
|
|
194
211
|
"uptimeUrl": "https://stats.uptimerobot.com/bckl1cu0AO"
|
|
195
212
|
},
|
|
213
|
+
"paseo-next-v2": {
|
|
214
|
+
"wss": "wss://paseo-people-next-system-rpc.polkadot.io",
|
|
215
|
+
"parachainId": 1502
|
|
216
|
+
},
|
|
196
217
|
"polkadot": {
|
|
197
218
|
"wss": [
|
|
198
219
|
"wss://people-polkadot-rpc.n.dwellir.com",
|
|
@@ -230,6 +251,10 @@
|
|
|
230
251
|
"wss": "wss://paseo-bulletin-review-rpc.polkadot.io",
|
|
231
252
|
"parachainId": 5168,
|
|
232
253
|
"uptimeUrl": "https://stats.uptimerobot.com/bckl1cu0AO"
|
|
254
|
+
},
|
|
255
|
+
"paseo-next-v2": {
|
|
256
|
+
"wss": "wss://paseo-bulletin-next-rpc.polkadot.io",
|
|
257
|
+
"parachainId": 1501
|
|
233
258
|
}
|
|
234
259
|
}
|
|
235
260
|
}
|
package/bin/bulletin-deploy
CHANGED
|
@@ -2,16 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
import { deploy, DEFAULT_BULLETIN_RPC, DEFAULT_POOL_SIZE, NonRetryableError, EXIT_CODE_NO_RETRY, isConnectionError } from "../dist/deploy.js";
|
|
4
4
|
import { VERSION, setDeployAttribute, captureWarning, closeTelemetry, setRunStateActive, markRelaunchOomHintShown } from "../dist/telemetry.js";
|
|
5
|
-
import { handleFailedDeploy, preReleaseWarning } from "../dist/version-check.js";
|
|
5
|
+
import { handleFailedDeploy, preReleaseWarning, checkNodeVersion } from "../dist/version-check.js";
|
|
6
6
|
import { setDeployContext, installLogCapture, buildCliFlagsSummary } from "../dist/bug-report.js";
|
|
7
7
|
import { loadRunState, writeRunState, shouldSkipStaleWarning, shouldShowOomHint, probablyOomRssMb } from "../dist/run-state.js";
|
|
8
8
|
import { loadEnvironments, listEnvironments, formatEnvironmentTable, DEFAULT_ENV_ID, DEFAULT_ENVIRONMENTS_URL } from "../dist/environments.js";
|
|
9
|
+
import { shouldMirrorToPaseoNextV2 } from "../dist/mirror.js";
|
|
9
10
|
import * as fs from "fs";
|
|
10
11
|
|
|
11
12
|
// Install early so anything printed during flag parsing / preflight is
|
|
12
13
|
// available to the bug-report log tail.
|
|
13
14
|
installLogCapture();
|
|
14
15
|
|
|
16
|
+
// Preflight: fail fast on unsupported Node.js versions.
|
|
17
|
+
{
|
|
18
|
+
const pkgPath = new URL("../package.json", import.meta.url);
|
|
19
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
20
|
+
const nodeErr = checkNodeVersion(pkg.engines?.node ?? ">=22", process.version);
|
|
21
|
+
if (nodeErr) { console.error(`Error: ${nodeErr}`); process.exit(1); }
|
|
22
|
+
}
|
|
23
|
+
|
|
15
24
|
const args = process.argv.slice(2);
|
|
16
25
|
|
|
17
26
|
const flags = {};
|
|
@@ -35,6 +44,8 @@ for (let i = 0; i < args.length; i++) {
|
|
|
35
44
|
else if (args[i] === "--allow-large-deploy") { flags.allowLargeDeploy = true; }
|
|
36
45
|
else if (args[i] === "--reproducible") { flags.reproducibleSource = "commit"; }
|
|
37
46
|
else if (args[i].startsWith("--reproducible=")) { flags.reproducibleSource = args[i].slice("--reproducible=".length); }
|
|
47
|
+
else if (args[i] === "--skip-automated-deployment-to-paseo-next-v2") { flags.skipMirrorToPaseoNextV2 = true; }
|
|
48
|
+
else if (args[i] === "--fail-on-mirror-error") { flags.failOnMirrorError = true; }
|
|
38
49
|
else if (args[i] === "--version" || args[i] === "-V") { flags.version = true; }
|
|
39
50
|
else if (args[i] === "--help" || args[i] === "-h") { flags.help = true; }
|
|
40
51
|
else { positional.push(args[i]); }
|
|
@@ -103,6 +114,11 @@ Options:
|
|
|
103
114
|
--description "..." Optional. Sets the "description" text record (≤100 chars recommended).
|
|
104
115
|
--gh-pages-mirror After deploy, push the CAR to the current repo's gh-pages branch
|
|
105
116
|
at bulletin/<domain>.dot.car (opt-in; also set GH_PAGES_MIRROR=1)
|
|
117
|
+
--skip-automated-deployment-to-paseo-next-v2
|
|
118
|
+
Suppress the automatic mirror deploy to paseo-next-v2.
|
|
119
|
+
--fail-on-mirror-error
|
|
120
|
+
Exit non-zero if the automated mirror deploy to paseo-next-v2 fails.
|
|
121
|
+
Default: non-fatal (warning logged, exit 0).
|
|
106
122
|
--version Show version
|
|
107
123
|
--help Show this help`);
|
|
108
124
|
process.exit(0);
|
|
@@ -284,6 +300,39 @@ try {
|
|
|
284
300
|
|
|
285
301
|
console.log(`CID: ${result.cid}`);
|
|
286
302
|
console.log(`Domain: ${result.domainName}`);
|
|
303
|
+
|
|
304
|
+
// Automated mirror deploy to paseo-next-v2.
|
|
305
|
+
// Runs after the primary succeeds unless the target is already paseo-next-v2
|
|
306
|
+
// or --skip-automated-deployment-to-paseo-next-v2 is set.
|
|
307
|
+
if (shouldMirrorToPaseoNextV2(flags, DEFAULT_ENV_ID)) {
|
|
308
|
+
console.log("\nRunning automated mirror deploy to paseo-next-v2…");
|
|
309
|
+
try {
|
|
310
|
+
await deploy(buildDir, domain, {
|
|
311
|
+
mnemonic: flags.mnemonic,
|
|
312
|
+
derivationPath: flags.derivationPath,
|
|
313
|
+
poolSize: flags.poolSize,
|
|
314
|
+
password: flags.password,
|
|
315
|
+
jsMerkle: flags.jsMerkle,
|
|
316
|
+
inputCar: flags.inputCar,
|
|
317
|
+
tag: flags.tag,
|
|
318
|
+
name: flags.name,
|
|
319
|
+
description: flags.description,
|
|
320
|
+
allowLargeDeploy: flags.allowLargeDeploy,
|
|
321
|
+
reproducibleSource: flags.reproducibleSource,
|
|
322
|
+
env: "paseo-next-v2",
|
|
323
|
+
automatedMirror: true,
|
|
324
|
+
});
|
|
325
|
+
} catch (mirrorError) {
|
|
326
|
+
const mirrorMsg = mirrorError?.message ?? String(mirrorError);
|
|
327
|
+
if (flags.failOnMirrorError) {
|
|
328
|
+
try { writeRunState({ status: "failed", endedAt: Date.now() }); } catch {}
|
|
329
|
+
console.error(`Automated mirror deploy to paseo-next-v2 failed:`, mirrorMsg);
|
|
330
|
+
process.exit(1);
|
|
331
|
+
}
|
|
332
|
+
console.error(`Warning: automated mirror deploy to paseo-next-v2 failed: ${mirrorMsg}`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
|
|
287
336
|
if (!flags.help && !flags.version) {
|
|
288
337
|
try { writeRunState({ status: "succeeded", endedAt: Date.now() }); } catch {}
|
|
289
338
|
}
|
package/dist/bug-report.js
CHANGED
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
offerBugReport,
|
|
10
10
|
scrubSecrets,
|
|
11
11
|
setDeployContext
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-SEOC622U.js";
|
|
13
|
+
import "./chunk-2K2FAWCW.js";
|
|
14
|
+
import "./chunk-THJ4U4MZ.js";
|
|
15
|
+
import "./chunk-62Y7KCOV.js";
|
|
16
16
|
import "./chunk-QGM4M3NI.js";
|
|
17
17
|
export {
|
|
18
18
|
buildCliFlagsSummary,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VERSION
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-THJ4U4MZ.js";
|
|
4
4
|
|
|
5
5
|
// src/version-check.ts
|
|
6
6
|
import { execSync, execFileSync } from "child_process";
|
|
@@ -8,6 +8,17 @@ import { createInterface } from "readline";
|
|
|
8
8
|
var REGISTRY_URL = "https://registry.npmjs.org/bulletin-deploy/latest";
|
|
9
9
|
var KILL_SWITCH_URL = "https://raw.githubusercontent.com/paritytech/triangle-deploy/main/min-version.json";
|
|
10
10
|
var FETCH_TIMEOUT = 3e3;
|
|
11
|
+
function checkNodeVersion(enginesNode, currentVersion) {
|
|
12
|
+
const match = enginesNode.match(/(\d+)/);
|
|
13
|
+
if (!match) return null;
|
|
14
|
+
const required = parseInt(match[1], 10);
|
|
15
|
+
const actual = parseInt(currentVersion.replace(/^v/, "").split(".")[0], 10);
|
|
16
|
+
if (actual < required) {
|
|
17
|
+
return `bulletin-deploy requires Node.js ${enginesNode} (running ${currentVersion}).
|
|
18
|
+
Download a supported version at https://nodejs.org/`;
|
|
19
|
+
}
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
11
22
|
function compareSemver(a, b) {
|
|
12
23
|
const [coreA, preA] = a.split("-", 2);
|
|
13
24
|
const [coreB, preB] = b.split("-", 2);
|
|
@@ -179,6 +190,7 @@ async function handleFailedDeploy(error) {
|
|
|
179
190
|
}
|
|
180
191
|
|
|
181
192
|
export {
|
|
193
|
+
checkNodeVersion,
|
|
182
194
|
compareSemver,
|
|
183
195
|
isPreReleaseVersion,
|
|
184
196
|
preReleaseWarning,
|
|
@@ -6,7 +6,7 @@ import * as path from "path";
|
|
|
6
6
|
// package.json
|
|
7
7
|
var package_default = {
|
|
8
8
|
name: "bulletin-deploy",
|
|
9
|
-
version: "0.7.
|
|
9
|
+
version: "0.7.17-rc.1",
|
|
10
10
|
private: false,
|
|
11
11
|
repository: {
|
|
12
12
|
type: "git",
|
|
@@ -37,7 +37,7 @@ var package_default = {
|
|
|
37
37
|
],
|
|
38
38
|
scripts: {
|
|
39
39
|
prebuild: "node scripts/refresh-environments.mjs",
|
|
40
|
-
build: "tsup src/index.ts src/deploy.ts src/dotns.ts src/pool.ts src/telemetry.ts src/memory-report.ts src/merkle.ts src/gh-pages-mirror.ts src/version-check.ts src/bug-report.ts src/run-state.ts src/environments.ts src/errors.ts src/manifest.ts src/chunk-probe.ts src/manifest-embed.ts src/manifest-fetch.ts src/manifest-roundtrip.ts src/incremental-stats.ts src/chunker.ts --format esm --dts --clean --target node22",
|
|
40
|
+
build: "tsup src/index.ts src/deploy.ts src/dotns.ts src/pool.ts src/telemetry.ts src/memory-report.ts src/merkle.ts src/gh-pages-mirror.ts src/version-check.ts src/bug-report.ts src/run-state.ts src/environments.ts src/errors.ts src/manifest.ts src/chunk-probe.ts src/manifest-embed.ts src/manifest-fetch.ts src/manifest-roundtrip.ts src/incremental-stats.ts src/chunker.ts src/mirror.ts --format esm --dts --clean --target node22",
|
|
41
41
|
"refresh-environments": "node scripts/refresh-environments.mjs",
|
|
42
42
|
prepare: "npm run build",
|
|
43
43
|
test: "npm run build && node --test test/test.js test/cli-help.test.js test/helpers/e2e-helpers.test.js test/environments.test.js",
|
|
@@ -18,10 +18,10 @@ import {
|
|
|
18
18
|
} from "./chunk-S7EM5VMW.js";
|
|
19
19
|
import {
|
|
20
20
|
setDeployContext
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-SEOC622U.js";
|
|
22
22
|
import {
|
|
23
23
|
probeChunks
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-TISYCYOM.js";
|
|
25
25
|
import {
|
|
26
26
|
packSection
|
|
27
27
|
} from "./chunk-C2TS5MER.js";
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
parseDomainName,
|
|
33
33
|
popStatusName,
|
|
34
34
|
verifyNonceAdvanced
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-ROD5OK32.js";
|
|
36
36
|
import {
|
|
37
37
|
derivePoolAccounts,
|
|
38
38
|
detectTestnet,
|
|
@@ -54,7 +54,7 @@ import {
|
|
|
54
54
|
truncateAddress,
|
|
55
55
|
withDeploySpan,
|
|
56
56
|
withSpan
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-THJ4U4MZ.js";
|
|
58
58
|
import {
|
|
59
59
|
DEFAULT_ENV_ID,
|
|
60
60
|
loadEnvironments,
|
|
@@ -1196,6 +1196,7 @@ async function deploy(content, domainName = null, options = {}) {
|
|
|
1196
1196
|
setDeploySentryTag("deploy.tag", deployTag);
|
|
1197
1197
|
}
|
|
1198
1198
|
setDeployAttribute("deploy.env", envId);
|
|
1199
|
+
if (options.automatedMirror) setDeployAttribute("deploy.automated_mirror", "true");
|
|
1199
1200
|
if (envNetwork) setDeployAttribute("deploy.network", envNetwork);
|
|
1200
1201
|
if (envSource) setDeployAttribute("deploy.environments_source", envSource);
|
|
1201
1202
|
let cid;
|
|
@@ -2,11 +2,11 @@ import {
|
|
|
2
2
|
classifyErrorArea,
|
|
3
3
|
isInteractive,
|
|
4
4
|
promptYesNo
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-2K2FAWCW.js";
|
|
6
6
|
import {
|
|
7
7
|
VERSION,
|
|
8
8
|
getCurrentSentryTraceId
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-THJ4U4MZ.js";
|
|
10
10
|
|
|
11
11
|
// src/bug-report.ts
|
|
12
12
|
import { execSync, execFileSync } from "child_process";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
package_default,
|
|
3
3
|
writeRunState
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-62Y7KCOV.js";
|
|
5
5
|
|
|
6
6
|
// src/memory-report.ts
|
|
7
7
|
import * as fs2 from "fs";
|
|
@@ -223,7 +223,9 @@ function getDeployAttributes(domain) {
|
|
|
223
223
|
// denominator for "% of deploys hitting the floor" and "% recovered via
|
|
224
224
|
// testnet auto-top-up" metrics. Flipped by gateOnFeeBalance.
|
|
225
225
|
"deploy.dotns.signer_below_floor": "false",
|
|
226
|
-
"deploy.dotns.toppedup": "false"
|
|
226
|
+
"deploy.dotns.toppedup": "false",
|
|
227
|
+
// Flipped to "true" by deploy() when options.automatedMirror is set.
|
|
228
|
+
"deploy.automated_mirror": "false"
|
|
227
229
|
};
|
|
228
230
|
if (hostApp) attrs["deploy.host_app"] = hostApp;
|
|
229
231
|
const hostAppVersion = process.env.BULLETIN_DEPLOY_HOST_APP_VERSION;
|
|
@@ -430,9 +432,11 @@ function setDeployReportContext(patch) {
|
|
|
430
432
|
reportContext = { ...reportContext, ...patch };
|
|
431
433
|
}
|
|
432
434
|
function setDeployAttribute(key, value) {
|
|
433
|
-
if (!
|
|
434
|
-
|
|
435
|
-
|
|
435
|
+
if (!deployRootSpan) return;
|
|
436
|
+
deployRootSpan.setAttribute(key, value);
|
|
437
|
+
}
|
|
438
|
+
function __setDeployRootSpanForTest(span) {
|
|
439
|
+
deployRootSpan = span;
|
|
436
440
|
}
|
|
437
441
|
function getCurrentSentryTraceId() {
|
|
438
442
|
if (!Sentry) return void 0;
|
|
@@ -449,8 +453,7 @@ function captureWarning(message, context) {
|
|
|
449
453
|
try {
|
|
450
454
|
Sentry.addBreadcrumb({ level: "warning", message, data: context });
|
|
451
455
|
Sentry.captureMessage(message, { level: "warning", extra: context });
|
|
452
|
-
|
|
453
|
-
if (root) root.setAttribute("deploy.sad", "true");
|
|
456
|
+
if (deployRootSpan) deployRootSpan.setAttribute("deploy.sad", "true");
|
|
454
457
|
const reason = classifySadReason(message);
|
|
455
458
|
const priority = SAD_REASON_PRIORITY[reason] ?? 0;
|
|
456
459
|
if (priority >= currentSadReasonPriority) {
|
|
@@ -611,6 +614,7 @@ export {
|
|
|
611
614
|
withDeploySpan,
|
|
612
615
|
setDeployReportContext,
|
|
613
616
|
setDeployAttribute,
|
|
617
|
+
__setDeployRootSpanForTest,
|
|
614
618
|
getCurrentSentryTraceId,
|
|
615
619
|
setDeploySentryTag,
|
|
616
620
|
captureWarning,
|
package/dist/chunk-probe.js
CHANGED
|
@@ -5,9 +5,9 @@ import {
|
|
|
5
5
|
_decodeStorageValue,
|
|
6
6
|
_resetProbeSession,
|
|
7
7
|
probeChunks
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-TISYCYOM.js";
|
|
9
|
+
import "./chunk-THJ4U4MZ.js";
|
|
10
|
+
import "./chunk-62Y7KCOV.js";
|
|
11
11
|
import "./chunk-QGM4M3NI.js";
|
|
12
12
|
export {
|
|
13
13
|
ChainProbeCrossValidationError,
|
package/dist/deploy.d.ts
CHANGED
|
@@ -199,6 +199,8 @@ interface DeployOptions {
|
|
|
199
199
|
bulletinEndpoints?: string[];
|
|
200
200
|
/** Pre-resolved asset-hub endpoints. Same escape-hatch semantics. */
|
|
201
201
|
assetHubEndpoints?: string[];
|
|
202
|
+
/** When true, marks this as an automated mirror deploy in telemetry. */
|
|
203
|
+
automatedMirror?: boolean;
|
|
202
204
|
}
|
|
203
205
|
declare function resolveDotnsConnectOptions(options: Pick<DeployOptions, "mnemonic" | "derivationPath" | "signer" | "signerAddress">, assetHubEndpoints?: string[]): {
|
|
204
206
|
signer?: PolkadotSigner;
|
package/dist/deploy.js
CHANGED
|
@@ -32,19 +32,19 @@ import {
|
|
|
32
32
|
storeDirectory,
|
|
33
33
|
storeDirectoryV2,
|
|
34
34
|
storeFile
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-7FAJK65N.js";
|
|
36
36
|
import "./chunk-MJTQOXBC.js";
|
|
37
37
|
import "./chunk-KOSF5FDO.js";
|
|
38
38
|
import "./chunk-5MRZ3V4A.js";
|
|
39
39
|
import "./chunk-S7EM5VMW.js";
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-SEOC622U.js";
|
|
41
|
+
import "./chunk-2K2FAWCW.js";
|
|
42
|
+
import "./chunk-TISYCYOM.js";
|
|
43
43
|
import "./chunk-C2TS5MER.js";
|
|
44
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-ROD5OK32.js";
|
|
45
45
|
import "./chunk-VOEFHED3.js";
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-THJ4U4MZ.js";
|
|
47
|
+
import "./chunk-62Y7KCOV.js";
|
|
48
48
|
import "./chunk-X3F7WHSF.js";
|
|
49
49
|
import {
|
|
50
50
|
EXIT_CODE_NO_RETRY,
|
package/dist/dotns.js
CHANGED
|
@@ -37,10 +37,10 @@ import {
|
|
|
37
37
|
stripTrailingDigits,
|
|
38
38
|
validateDomainLabel,
|
|
39
39
|
verifyNonceAdvanced
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-ROD5OK32.js";
|
|
41
41
|
import "./chunk-VOEFHED3.js";
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-THJ4U4MZ.js";
|
|
43
|
+
import "./chunk-62Y7KCOV.js";
|
|
44
44
|
import "./chunk-QGM4M3NI.js";
|
|
45
45
|
export {
|
|
46
46
|
CONNECTION_TIMEOUT_MS,
|
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export { finaliseEmbeddedManifest, writeEmbeddedManifestPlaceholder } from './ma
|
|
|
8
8
|
export { FetchOptions, FetchOutcome, fetchPreviousManifest } from './manifest-fetch.js';
|
|
9
9
|
export { ComputeStatsInput, IncrementalStats, computeStats, renderSummary, telemetryAttributes } from './incremental-stats.js';
|
|
10
10
|
export { RunState, RunStatus, VERSION, loadRunState, probablyOomRssMb, resolveStateDir, shouldShowOomHint, shouldSkipStaleWarning, stateFilePath, writeRunState } from './run-state.js';
|
|
11
|
+
export { shouldMirrorToPaseoNextV2 } from './mirror.js';
|
|
11
12
|
import 'multiformats/cid';
|
|
12
13
|
import 'polkadot-api';
|
|
13
14
|
import './errors.js';
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
shouldMirrorToPaseoNextV2
|
|
3
|
+
} from "./chunk-EQPIYO7J.js";
|
|
1
4
|
import {
|
|
2
5
|
deploy,
|
|
3
6
|
merkleizeJS,
|
|
4
7
|
merkleizeWithStableOrder
|
|
5
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-7FAJK65N.js";
|
|
6
9
|
import {
|
|
7
10
|
computeStats,
|
|
8
11
|
renderSummary,
|
|
@@ -24,16 +27,16 @@ import {
|
|
|
24
27
|
isVolatilePath,
|
|
25
28
|
parseManifest
|
|
26
29
|
} from "./chunk-S7EM5VMW.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-SEOC622U.js";
|
|
31
|
+
import "./chunk-2K2FAWCW.js";
|
|
29
32
|
import {
|
|
30
33
|
probeChunks
|
|
31
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-TISYCYOM.js";
|
|
32
35
|
import "./chunk-C2TS5MER.js";
|
|
33
36
|
import {
|
|
34
37
|
DotNS,
|
|
35
38
|
parseDomainName
|
|
36
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-ROD5OK32.js";
|
|
37
40
|
import {
|
|
38
41
|
bootstrapPool,
|
|
39
42
|
derivePoolAccounts,
|
|
@@ -41,7 +44,7 @@ import {
|
|
|
41
44
|
fetchPoolAuthorizations,
|
|
42
45
|
selectAccount
|
|
43
46
|
} from "./chunk-VOEFHED3.js";
|
|
44
|
-
import "./chunk-
|
|
47
|
+
import "./chunk-THJ4U4MZ.js";
|
|
45
48
|
import {
|
|
46
49
|
VERSION,
|
|
47
50
|
loadRunState,
|
|
@@ -51,7 +54,7 @@ import {
|
|
|
51
54
|
shouldSkipStaleWarning,
|
|
52
55
|
stateFilePath,
|
|
53
56
|
writeRunState
|
|
54
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-62Y7KCOV.js";
|
|
55
58
|
import "./chunk-X3F7WHSF.js";
|
|
56
59
|
import "./chunk-ZOC4GITL.js";
|
|
57
60
|
import "./chunk-HOTQDYHD.js";
|
|
@@ -83,6 +86,7 @@ export {
|
|
|
83
86
|
renderSummary,
|
|
84
87
|
resolveStateDir,
|
|
85
88
|
selectAccount,
|
|
89
|
+
shouldMirrorToPaseoNextV2,
|
|
86
90
|
shouldShowOomHint,
|
|
87
91
|
shouldSkipStaleWarning,
|
|
88
92
|
stateFilePath,
|
package/dist/memory-report.js
CHANGED
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
maybeWriteMemoryReport,
|
|
6
6
|
safeHeap,
|
|
7
7
|
sampleFromBytes
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-THJ4U4MZ.js";
|
|
9
|
+
import "./chunk-62Y7KCOV.js";
|
|
10
10
|
import "./chunk-QGM4M3NI.js";
|
|
11
11
|
export {
|
|
12
12
|
DEFAULT_THRESHOLD_MB,
|
package/dist/merkle.js
CHANGED
|
@@ -5,19 +5,19 @@ import {
|
|
|
5
5
|
merkleizeJSBackend,
|
|
6
6
|
merkleizeKuboBackend,
|
|
7
7
|
merkleizeWithStableOrder
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-7FAJK65N.js";
|
|
9
9
|
import "./chunk-MJTQOXBC.js";
|
|
10
10
|
import "./chunk-KOSF5FDO.js";
|
|
11
11
|
import "./chunk-5MRZ3V4A.js";
|
|
12
12
|
import "./chunk-S7EM5VMW.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-SEOC622U.js";
|
|
14
|
+
import "./chunk-2K2FAWCW.js";
|
|
15
|
+
import "./chunk-TISYCYOM.js";
|
|
16
16
|
import "./chunk-C2TS5MER.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-ROD5OK32.js";
|
|
18
18
|
import "./chunk-VOEFHED3.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-THJ4U4MZ.js";
|
|
20
|
+
import "./chunk-62Y7KCOV.js";
|
|
21
21
|
import "./chunk-X3F7WHSF.js";
|
|
22
22
|
import "./chunk-ZOC4GITL.js";
|
|
23
23
|
import "./chunk-HOTQDYHD.js";
|
package/dist/mirror.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns true if the deploy should be automatically mirrored to paseo-next-v2.
|
|
3
|
+
* Mirror is suppressed when the effective target env IS paseo-next-v2, or when
|
|
4
|
+
* the caller has set skipMirrorToPaseoNextV2.
|
|
5
|
+
*/
|
|
6
|
+
declare function shouldMirrorToPaseoNextV2(flags: {
|
|
7
|
+
env?: string;
|
|
8
|
+
skipMirrorToPaseoNextV2?: boolean;
|
|
9
|
+
}, defaultEnvId: string): boolean;
|
|
10
|
+
|
|
11
|
+
export { shouldMirrorToPaseoNextV2 };
|
package/dist/mirror.js
ADDED
package/dist/run-state.js
CHANGED
package/dist/telemetry.d.ts
CHANGED
|
@@ -34,9 +34,10 @@ declare function setDeployReportContext(patch: Partial<DeployContextForReport> &
|
|
|
34
34
|
outputDir?: string;
|
|
35
35
|
}): void;
|
|
36
36
|
declare function setDeployAttribute(key: string, value: string | number | boolean): void;
|
|
37
|
+
declare function __setDeployRootSpanForTest(span: any | null): void;
|
|
37
38
|
declare function getCurrentSentryTraceId(): string | undefined;
|
|
38
39
|
declare function setDeploySentryTag(key: string, value: string): void;
|
|
39
40
|
declare function captureWarning(message: string, context?: Record<string, unknown>): void;
|
|
40
41
|
declare function flush(): Promise<void>;
|
|
41
42
|
|
|
42
|
-
export { type DeployErrorCategory, type InternalContextSignals, VERSION, captureWarning, classifyDeployError, classifySadReason, closeTelemetry, computeDeployOutcome, flush, getCurrentSentryTraceId, getDeployAttributes, initTelemetry, isExpectedError, isInternalContext, isInternalContextFromSignals, markRelaunchOomHintShown, resolveRepo, resolveRunner, resolveRunnerType, sampleMemory, sanitizeBranch, sanitizeRepo, scrubPaths, setDeployAttribute, setDeployReportContext, setDeploySentryTag, setRunStateActive, truncateAddress, withDeploySpan, withSpan };
|
|
43
|
+
export { type DeployErrorCategory, type InternalContextSignals, VERSION, __setDeployRootSpanForTest, captureWarning, classifyDeployError, classifySadReason, closeTelemetry, computeDeployOutcome, flush, getCurrentSentryTraceId, getDeployAttributes, initTelemetry, isExpectedError, isInternalContext, isInternalContextFromSignals, markRelaunchOomHintShown, resolveRepo, resolveRunner, resolveRunnerType, sampleMemory, sanitizeBranch, sanitizeRepo, scrubPaths, setDeployAttribute, setDeployReportContext, setDeploySentryTag, setRunStateActive, truncateAddress, withDeploySpan, withSpan };
|
package/dist/telemetry.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VERSION,
|
|
3
|
+
__setDeployRootSpanForTest,
|
|
3
4
|
captureWarning,
|
|
4
5
|
classifyDeployError,
|
|
5
6
|
classifySadReason,
|
|
@@ -27,11 +28,12 @@ import {
|
|
|
27
28
|
truncateAddress,
|
|
28
29
|
withDeploySpan,
|
|
29
30
|
withSpan
|
|
30
|
-
} from "./chunk-
|
|
31
|
-
import "./chunk-
|
|
31
|
+
} from "./chunk-THJ4U4MZ.js";
|
|
32
|
+
import "./chunk-62Y7KCOV.js";
|
|
32
33
|
import "./chunk-QGM4M3NI.js";
|
|
33
34
|
export {
|
|
34
35
|
VERSION,
|
|
36
|
+
__setDeployRootSpanForTest,
|
|
35
37
|
captureWarning,
|
|
36
38
|
classifyDeployError,
|
|
37
39
|
classifySadReason,
|
package/dist/version-check.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ interface VersionInfo {
|
|
|
6
6
|
minimumFromKillSwitch: string | null;
|
|
7
7
|
killSwitchMessage: string | null;
|
|
8
8
|
}
|
|
9
|
+
declare function checkNodeVersion(enginesNode: string, currentVersion: string): string | null;
|
|
9
10
|
declare function compareSemver(a: string, b: string): number;
|
|
10
11
|
declare function isPreReleaseVersion(version: string): boolean;
|
|
11
12
|
declare function preReleaseWarning(version: string): string | null;
|
|
@@ -32,4 +33,4 @@ type VersionVerdict = {
|
|
|
32
33
|
declare function assessVersion(currentVersion: string, info: VersionInfo, internal: boolean): VersionVerdict;
|
|
33
34
|
declare function handleFailedDeploy(error: Error): Promise<void>;
|
|
34
35
|
|
|
35
|
-
export { type VersionVerdict, assessVersion, classifyErrorArea, compareSemver, handleFailedDeploy, isInteractive, isInternalUser, isPreReleaseVersion, preReleaseWarning, promptYesNo };
|
|
36
|
+
export { type VersionVerdict, assessVersion, checkNodeVersion, classifyErrorArea, compareSemver, handleFailedDeploy, isInteractive, isInternalUser, isPreReleaseVersion, preReleaseWarning, promptYesNo };
|
package/dist/version-check.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
assessVersion,
|
|
3
|
+
checkNodeVersion,
|
|
3
4
|
classifyErrorArea,
|
|
4
5
|
compareSemver,
|
|
5
6
|
handleFailedDeploy,
|
|
@@ -8,12 +9,13 @@ import {
|
|
|
8
9
|
isPreReleaseVersion,
|
|
9
10
|
preReleaseWarning,
|
|
10
11
|
promptYesNo
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-2K2FAWCW.js";
|
|
13
|
+
import "./chunk-THJ4U4MZ.js";
|
|
14
|
+
import "./chunk-62Y7KCOV.js";
|
|
14
15
|
import "./chunk-QGM4M3NI.js";
|
|
15
16
|
export {
|
|
16
17
|
assessVersion,
|
|
18
|
+
checkNodeVersion,
|
|
17
19
|
classifyErrorArea,
|
|
18
20
|
compareSemver,
|
|
19
21
|
handleFailedDeploy,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bulletin-deploy",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.17-rc.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
],
|
|
32
32
|
"scripts": {
|
|
33
33
|
"prebuild": "node scripts/refresh-environments.mjs",
|
|
34
|
-
"build": "tsup src/index.ts src/deploy.ts src/dotns.ts src/pool.ts src/telemetry.ts src/memory-report.ts src/merkle.ts src/gh-pages-mirror.ts src/version-check.ts src/bug-report.ts src/run-state.ts src/environments.ts src/errors.ts src/manifest.ts src/chunk-probe.ts src/manifest-embed.ts src/manifest-fetch.ts src/manifest-roundtrip.ts src/incremental-stats.ts src/chunker.ts --format esm --dts --clean --target node22",
|
|
34
|
+
"build": "tsup src/index.ts src/deploy.ts src/dotns.ts src/pool.ts src/telemetry.ts src/memory-report.ts src/merkle.ts src/gh-pages-mirror.ts src/version-check.ts src/bug-report.ts src/run-state.ts src/environments.ts src/errors.ts src/manifest.ts src/chunk-probe.ts src/manifest-embed.ts src/manifest-fetch.ts src/manifest-roundtrip.ts src/incremental-stats.ts src/chunker.ts src/mirror.ts --format esm --dts --clean --target node22",
|
|
35
35
|
"refresh-environments": "node scripts/refresh-environments.mjs",
|
|
36
36
|
"prepare": "npm run build",
|
|
37
37
|
"test": "npm run build && node --test test/test.js test/cli-help.test.js test/helpers/e2e-helpers.test.js test/environments.test.js",
|