@wavehouse/chtypes 0.3.0 → 0.3.2
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/CHANGELOG.md +28 -0
- package/README.md +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +7 -2
- package/dist/cli.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +1 -1
- package/dist/fetch.d.ts +87 -5
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +253 -52
- package/dist/fetch.js.map +1 -1
- package/dist/library.d.ts +5 -3
- package/dist/library.d.ts.map +1 -1
- package/dist/library.js +5 -3
- package/dist/library.js.map +1 -1
- package/dist/paths.d.ts +7 -3
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +9 -4
- package/dist/paths.js.map +1 -1
- package/dist/registry.d.ts +5 -5
- package/dist/registry.js +5 -5
- package/dist/results.d.ts +5 -2
- package/dist/results.d.ts.map +1 -1
- package/dist/results.js +3 -2
- package/dist/results.js.map +1 -1
- package/package.json +1 -1
package/dist/fetch.js
CHANGED
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
*
|
|
10
10
|
* 0. `SHA256SUMS.sig` — ed25519 over the exact bytes of `SHA256SUMS`, with a
|
|
11
11
|
* trusted key. Failure stops everything; nothing is downloaded around it.
|
|
12
|
-
* 1. `index.json` names the asset for the line/platform and its sha256
|
|
12
|
+
* 1. `index.json` names the asset for the line/platform and its sha256 — only
|
|
13
|
+
* ever a row at this binding's own `ABI_REVISION` (docs/guides/fetch.md §2).
|
|
13
14
|
* 2. `SHA256SUMS` — now known-authentic — must list the same file with the
|
|
14
15
|
* same sha256; a disagreement is a broken release, reported, not repaired.
|
|
15
16
|
* 3. The tarball is hashed BEFORE it is unpacked.
|
|
@@ -33,7 +34,7 @@ import { Readable, Transform } from 'node:stream';
|
|
|
33
34
|
import { pipeline } from 'node:stream/promises';
|
|
34
35
|
import { setTimeout as sleep } from 'node:timers/promises';
|
|
35
36
|
import { fileURLToPath } from 'node:url';
|
|
36
|
-
import { ArtifactCorruptError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, ChtypesError, SourceUnreachableError, } from './errors.js';
|
|
37
|
+
import { ABI_REVISION, ArtifactCorruptError, ArtifactPinnedError, ArtifactUnpublishedError, ArtifactUntrustedError, ChtypesError, SourceUnreachableError, } from './errors.js';
|
|
37
38
|
import { fetchDestination, hostPlatform, isPlatformKey } from './paths.js';
|
|
38
39
|
import { extractTarGz } from './tar.js';
|
|
39
40
|
// ------------------------------------------------------------- constants
|
|
@@ -335,30 +336,49 @@ async function loadReleaseOnce(source, options, emit) {
|
|
|
335
336
|
}
|
|
336
337
|
return release;
|
|
337
338
|
}
|
|
338
|
-
/**
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
339
|
+
/**
|
|
340
|
+
* How many times {@link loadRelease} (and {@link installGoldens}'s own retry)
|
|
341
|
+
* reads an HTTP release before giving up, and the BASE delay (ms) before the
|
|
342
|
+
* first retry — each later retry doubles it, so the default 5 attempts sleep
|
|
343
|
+
* 4+8+16+32 = 60s (~70s wall with network time). That is chosen to outlast
|
|
344
|
+
* the artifacts host's edge cache (observed `Cache-Control: max-age=60` on
|
|
345
|
+
* the mutable release objects, so a stale pairing of any of them can persist
|
|
346
|
+
* up to 60s), while a genuine few-second mid-publish window still clears on
|
|
347
|
+
* the second attempt.
|
|
348
|
+
*
|
|
349
|
+
* A mutable object, not two `const`s: an ES module's imported bindings are
|
|
350
|
+
* read-only, so a plain exported `let` could not be reassigned from outside,
|
|
351
|
+
* and the fetch test suite needs to shrink `delayMs` to near zero. Not
|
|
352
|
+
* re-exported from `index.ts` — internal to this module and its test suite.
|
|
353
|
+
*/
|
|
354
|
+
export const RELEASE_RETRY = { attempts: 5, delayMs: 4_000 };
|
|
342
355
|
/**
|
|
343
356
|
* {@link loadReleaseOnce}, retried through a publish window.
|
|
344
357
|
*
|
|
345
358
|
* A publish into the rolling release is three objects — `SHA256SUMS`,
|
|
346
359
|
* `SHA256SUMS.sig`, `index.json` — and object storage cannot swap them
|
|
347
|
-
* atomically.
|
|
348
|
-
*
|
|
349
|
-
*
|
|
360
|
+
* atomically. The edge cache in front of the artifacts host widens the unsafe
|
|
361
|
+
* window from "between two uploads" to "as long as any one object can still be
|
|
362
|
+
* served stale from cache", which measures the same as its `Cache-Control`
|
|
363
|
+
* max-age.
|
|
350
364
|
*
|
|
351
|
-
*
|
|
352
|
-
* an index that disagrees with the sums
|
|
353
|
-
*
|
|
354
|
-
*
|
|
355
|
-
*
|
|
365
|
+
* Three symptoms of reading inside that window are retried: a signature under
|
|
366
|
+
* no trusted key, an index that disagrees with the sums, and (in
|
|
367
|
+
* {@link installGoldens}) a release-level file whose hash disagrees with its
|
|
368
|
+
* own SHA256SUMS row, or that the sums list but the source does not yet serve.
|
|
369
|
+
* Every retry re-reads the WHOLE set from scratch — never one freshly
|
|
370
|
+
* re-fetched object checked against another attempt's stale one. Nothing else
|
|
371
|
+
* is retried, and neither are these three once the attempts run out: the same
|
|
372
|
+
* error surfaces, with the same code, as it did before. A tarball whose hash
|
|
373
|
+
* is wrong is never retried; that is the release lying about a byte, not a
|
|
374
|
+
* half-finished upload.
|
|
356
375
|
*
|
|
357
376
|
* Only an HTTP source can be mid-publish, so a `file://` or directory source is
|
|
358
377
|
* read exactly once and refuses on the first look.
|
|
359
378
|
*/
|
|
360
379
|
async function loadRelease(source, options, emit) {
|
|
361
|
-
const attempts = source instanceof HttpSource ?
|
|
380
|
+
const attempts = source instanceof HttpSource ? RELEASE_RETRY.attempts : 1;
|
|
381
|
+
let delayMs = RELEASE_RETRY.delayMs;
|
|
362
382
|
for (let attempt = 1;; attempt++) {
|
|
363
383
|
try {
|
|
364
384
|
return await loadReleaseOnce(source, options, emit);
|
|
@@ -370,9 +390,10 @@ async function loadRelease(source, options, emit) {
|
|
|
370
390
|
emit({
|
|
371
391
|
type: 'status',
|
|
372
392
|
message: `${String(err)} (attempt ${attempt}/${attempts}) — this is what a release being ` +
|
|
373
|
-
`published looks like from outside; retrying in ${
|
|
393
|
+
`published looks like from outside; retrying in ${delayMs / 1000}s`,
|
|
374
394
|
});
|
|
375
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
395
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
396
|
+
delayMs *= 2;
|
|
376
397
|
}
|
|
377
398
|
}
|
|
378
399
|
}
|
|
@@ -431,8 +452,106 @@ function indexArtifact(row, i) {
|
|
|
431
452
|
library_sha256: str('library_sha256').toLowerCase(),
|
|
432
453
|
build: buildOf(r['build'], file),
|
|
433
454
|
core_commit: typeof r['core_commit'] === 'string' ? r['core_commit'] : '',
|
|
455
|
+
...revisionOf(r['abi_revision']),
|
|
434
456
|
};
|
|
435
457
|
}
|
|
458
|
+
/**
|
|
459
|
+
* A row's `abi_revision` when it is an integer; otherwise the row is read as
|
|
460
|
+
* declaring none — the field is left out, and never matches — rather than
|
|
461
|
+
* failing the whole listing.
|
|
462
|
+
*/
|
|
463
|
+
function revisionOf(field) {
|
|
464
|
+
return typeof field === 'number' && Number.isSafeInteger(field) ? { abi_revision: field } : {};
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* TEST-ONLY. When `override` is set, the ABI revision fetch selects release rows
|
|
468
|
+
* at, in place of `ABI_REVISION` (docs/guides/fetch.md §2). The fetch-fixture
|
|
469
|
+
* suite sets it to the revision its fixture release carries — derived from that
|
|
470
|
+
* release's own `index.json` — so a binding whose own revision has moved ahead
|
|
471
|
+
* of the fixtures still exercises the whole chain. It changes WHICH rows are
|
|
472
|
+
* eligible and nothing else: the default registry directory stays
|
|
473
|
+
* `abi<ABI_REVISION>/`, and the loader still refuses an artifact of another
|
|
474
|
+
* revision.
|
|
475
|
+
*
|
|
476
|
+
* A mutable object for the same reason as {@link RELEASE_RETRY}: an imported
|
|
477
|
+
* binding is read-only. Not re-exported from `index.ts` — internal to this
|
|
478
|
+
* module and its test suite, never part of the public contract.
|
|
479
|
+
*/
|
|
480
|
+
export const FETCH_ABI_REVISION = { override: null };
|
|
481
|
+
/** The one ABI revision whose rows fetch may install: this binding's own. */
|
|
482
|
+
function fetchAbiRevision() {
|
|
483
|
+
return FETCH_ABI_REVISION.override ?? ABI_REVISION;
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* What the release DOES have for `noun`, for an unpublished message: the ABI
|
|
487
|
+
* revision(s) its rows carry, or that it has none at any revision.
|
|
488
|
+
*/
|
|
489
|
+
/**
|
|
490
|
+
* Rows that carry no `abi_revision`, named with the reason: the artifact
|
|
491
|
+
* producer records the field from the revision that introduced it onward. Every
|
|
492
|
+
* unpublished message, `ensureAll` warning and `list` note says this in these
|
|
493
|
+
* words rather than that the release serves "none".
|
|
494
|
+
*/
|
|
495
|
+
const BUILT_BEFORE = '(built before revisions were recorded)';
|
|
496
|
+
const NO_RECORDED_REVISION = `rows that record no ABI revision ${BUILT_BEFORE}`;
|
|
497
|
+
function served(rows, noun) {
|
|
498
|
+
if (rows.length === 0)
|
|
499
|
+
return `the release does not have ${noun} at any ABI revision`;
|
|
500
|
+
const revs = declaredRevisions(rows);
|
|
501
|
+
if (revs.length === 0)
|
|
502
|
+
return `the release has ${noun} only in ${NO_RECORDED_REVISION}`;
|
|
503
|
+
let said = revs.length === 1 ? `ABI revision ${revs[0]}` : `ABI revisions ${revs.join(', ')}`;
|
|
504
|
+
if (rows.some((a) => a.abi_revision === undefined))
|
|
505
|
+
said += ` and in ${NO_RECORDED_REVISION}`;
|
|
506
|
+
return `the release has ${noun} only at ${said}`;
|
|
507
|
+
}
|
|
508
|
+
/** The distinct revisions rows declare, ascending. */
|
|
509
|
+
function declaredRevisions(rows) {
|
|
510
|
+
return [...new Set(rows.flatMap((a) => (a.abi_revision === undefined ? [] : [a.abi_revision])))].sort((a, b) => a - b);
|
|
511
|
+
}
|
|
512
|
+
/**
|
|
513
|
+
* One message per line the release has for `platform` only at another ABI
|
|
514
|
+
* revision, or only in rows that record none — the lines `ensureAll` installs
|
|
515
|
+
* nothing for — oldest line first. Exported for the test suite only; not
|
|
516
|
+
* re-exported from `index.ts`.
|
|
517
|
+
*/
|
|
518
|
+
export function skippedLines(index, platform) {
|
|
519
|
+
const [os, arch] = platform.split('-');
|
|
520
|
+
const rev = fetchAbiRevision();
|
|
521
|
+
const byLine = new Map();
|
|
522
|
+
for (const a of index.artifacts) {
|
|
523
|
+
if (a.os !== os || a.arch !== arch)
|
|
524
|
+
continue;
|
|
525
|
+
byLine.set(a.clickhouse_minor, [...(byLine.get(a.clickhouse_minor) ?? []), a]);
|
|
526
|
+
}
|
|
527
|
+
return [...byLine.entries()]
|
|
528
|
+
.filter(([, rows]) => !rows.some((a) => a.abi_revision === rev))
|
|
529
|
+
.sort(([a], [b]) => compareVersions(a, b))
|
|
530
|
+
.map(([line, rows]) => `ClickHouse line ${line} on ${platform} is not installed: ${served(rows, `that line for ${platform}`)}, ` +
|
|
531
|
+
`and this SDK speaks ABI revision ${rev}`);
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* `list`'s one line naming the platform's rows at another ABI revision, which it
|
|
535
|
+
* does not show (docs/guides/fetch.md §6); `undefined` when none were hidden.
|
|
536
|
+
* Rows that carry no `abi_revision` are named for what they are — built before
|
|
537
|
+
* revisions were recorded — never as a revision called "none". Exported for the
|
|
538
|
+
* test suite only; not re-exported from `index.ts`.
|
|
539
|
+
*/
|
|
540
|
+
export function notShown(index, platform) {
|
|
541
|
+
const [os, arch] = platform.split('-');
|
|
542
|
+
const rev = fetchAbiRevision();
|
|
543
|
+
const hidden = index.artifacts.filter((a) => a.os === os && a.arch === arch && a.abi_revision !== rev);
|
|
544
|
+
if (hidden.length === 0)
|
|
545
|
+
return undefined;
|
|
546
|
+
const undeclared = hidden.filter((a) => a.abi_revision === undefined).length;
|
|
547
|
+
const declared = hidden.length - undeclared;
|
|
548
|
+
const parts = [];
|
|
549
|
+
if (declared > 0)
|
|
550
|
+
parts.push(`${declared} row(s) at ABI revision(s) ${declaredRevisions(hidden).join(', ')}`);
|
|
551
|
+
if (undeclared > 0)
|
|
552
|
+
parts.push(`${undeclared} row(s) that record no ABI revision ${BUILT_BEFORE}`);
|
|
553
|
+
return `${parts.join(' and ')} not shown; this SDK speaks ${rev}`;
|
|
554
|
+
}
|
|
436
555
|
/**
|
|
437
556
|
* The wrapper build number: the row's own `build` when it has one, else the
|
|
438
557
|
* `-b<N>` suffix of the file name, else 0 — an old row, published before builds
|
|
@@ -458,23 +577,32 @@ function minorOfVersion(version) {
|
|
|
458
577
|
const parts = version.split('.');
|
|
459
578
|
return parts.length < 2 ? version : `${parts[0]}.${parts[1]}`;
|
|
460
579
|
}
|
|
461
|
-
/**
|
|
580
|
+
/**
|
|
581
|
+
* The one row for a request, or `CHTYPES_ARTIFACT_UNPUBLISHED` naming what the
|
|
582
|
+
* release does have. Only rows at this binding's ABI revision are considered,
|
|
583
|
+
* FIRST (docs/guides/fetch.md §2): nothing at that revision is unpublished, never
|
|
584
|
+
* another revision's row.
|
|
585
|
+
*/
|
|
462
586
|
export function selectArtifact(index, platform, req) {
|
|
463
|
-
const
|
|
464
|
-
|
|
587
|
+
const all = forPlatform(index, platform);
|
|
588
|
+
const rev = fetchAbiRevision();
|
|
589
|
+
const have = all.filter((a) => a.abi_revision === rev).map((a) => a.clickhouse_version).join(', ') || 'nothing';
|
|
590
|
+
let anyRevision;
|
|
465
591
|
if (req.exact !== null) {
|
|
466
592
|
const typedChannel = CHANNEL.test(req.exact);
|
|
467
|
-
|
|
468
|
-
if (hit.length === 0) {
|
|
469
|
-
throw new ArtifactUnpublishedError(`chtypes: you asked for exactly ClickHouse ${req.exact} on ${platform} and this release does not publish it ` +
|
|
470
|
-
`(it has: ${rows.map((a) => a.clickhouse_version).join(', ')}). Ask for the line (${req.line}) to take what was published.`);
|
|
471
|
-
}
|
|
593
|
+
anyRevision = all.filter((a) => a.clickhouse_version === req.exact || (!typedChannel && a.clickhouse_version.replace(CHANNEL, '') === req.bare));
|
|
472
594
|
}
|
|
473
595
|
else {
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
596
|
+
anyRevision = all.filter((a) => a.clickhouse_minor === req.line);
|
|
597
|
+
}
|
|
598
|
+
const hit = anyRevision.filter((a) => a.abi_revision === rev);
|
|
599
|
+
if (hit.length === 0) {
|
|
600
|
+
throw new ArtifactUnpublishedError(req.exact !== null
|
|
601
|
+
? `chtypes: you asked for exactly ClickHouse ${req.exact} on ${platform} at ABI revision ${rev} (this SDK's) and this ` +
|
|
602
|
+
`release does not publish it at that revision: ${served(anyRevision, `that patch for ${platform}`)}` +
|
|
603
|
+
`; at ABI revision ${rev} the release has: ${have}. Ask for the line (${req.line}) to take what was published.`
|
|
604
|
+
: `chtypes: no artifact for ClickHouse line ${req.line} on ${platform} at ABI revision ${rev} (this SDK's): ` +
|
|
605
|
+
`${served(anyRevision, `that line for ${platform}`)}; at ABI revision ${rev} the release has: ${have}`);
|
|
478
606
|
}
|
|
479
607
|
// A line can carry more than one row: two patches, or the same patch built
|
|
480
608
|
// twice (a release keeps the two highest builds per version). Take the newest
|
|
@@ -493,10 +621,21 @@ function newerRow(a, b) {
|
|
|
493
621
|
const byVersion = compareVersions(a.clickhouse_version, b.clickhouse_version);
|
|
494
622
|
return byVersion !== 0 ? byVersion > 0 : a.build > b.build;
|
|
495
623
|
}
|
|
496
|
-
/**
|
|
624
|
+
/**
|
|
625
|
+
* Every line the release publishes for the platform at this binding's ABI
|
|
626
|
+
* revision, newest patch (then highest build) per line, oldest line first.
|
|
627
|
+
* Nothing at that revision is `CHTYPES_ARTIFACT_UNPUBLISHED`, naming the
|
|
628
|
+
* revision(s) the release does serve (docs/guides/fetch.md §2).
|
|
629
|
+
*/
|
|
497
630
|
export function selectAll(index, platform) {
|
|
631
|
+
const all = forPlatform(index, platform);
|
|
632
|
+
const rev = fetchAbiRevision();
|
|
633
|
+
const rows = all.filter((a) => a.abi_revision === rev);
|
|
634
|
+
if (rows.length === 0) {
|
|
635
|
+
throw new ArtifactUnpublishedError(`chtypes: the release has nothing for ${platform} at ABI revision ${rev} (this SDK's): ${served(all, `rows for ${platform}`)}`);
|
|
636
|
+
}
|
|
498
637
|
const best = new Map();
|
|
499
|
-
for (const a of
|
|
638
|
+
for (const a of rows) {
|
|
500
639
|
const cur = best.get(a.clickhouse_minor);
|
|
501
640
|
if (cur === undefined || newerRow(a, cur))
|
|
502
641
|
best.set(a.clickhouse_minor, a);
|
|
@@ -544,7 +683,12 @@ export async function ensure(spelling, options = {}) {
|
|
|
544
683
|
inFlight.set(key, p);
|
|
545
684
|
return p;
|
|
546
685
|
}
|
|
547
|
-
/**
|
|
686
|
+
/**
|
|
687
|
+
* `fetch --all`: every line the release publishes for the platform at this
|
|
688
|
+
* binding's ABI revision, each through `ensure`'s chain. A line it has only at
|
|
689
|
+
* another revision is not installed and is named in one loud stderr line; the
|
|
690
|
+
* rest go on.
|
|
691
|
+
*/
|
|
548
692
|
export async function ensureAll(options = {}) {
|
|
549
693
|
const platform = resolvePlatform(options.platform);
|
|
550
694
|
const dest = fetchDestination(options.dest, platform);
|
|
@@ -556,10 +700,15 @@ export async function ensureAll(options = {}) {
|
|
|
556
700
|
emit({ type: 'status', message: `every published ClickHouse line, ${platform} -> ${dest}` });
|
|
557
701
|
emit({ type: 'status', message: `source ${source.description}` });
|
|
558
702
|
const release = await loadRelease(source, options, emit);
|
|
703
|
+
const rows = selectAll(release.index, platform);
|
|
704
|
+
// A line the release has only at another ABI revision is not installed —
|
|
705
|
+
// and never silently: one loud line per such line, then the rest go on.
|
|
706
|
+
for (const message of skippedLines(release.index, platform))
|
|
707
|
+
warn(`chtypes: WARNING: ${message}`);
|
|
559
708
|
const out = [];
|
|
560
|
-
for (const art of
|
|
709
|
+
for (const art of rows)
|
|
561
710
|
out.push(await installOne(release, art, ctx));
|
|
562
|
-
await installGoldens(release, ctx);
|
|
711
|
+
await installGoldens(release, ctx, options);
|
|
563
712
|
return out;
|
|
564
713
|
}
|
|
565
714
|
/**
|
|
@@ -570,27 +719,78 @@ export async function ensureAll(options = {}) {
|
|
|
570
719
|
*/
|
|
571
720
|
const GOLDENS_ASSET = 'sdk-goldens.json';
|
|
572
721
|
/**
|
|
573
|
-
*
|
|
574
|
-
*
|
|
575
|
-
*
|
|
576
|
-
*
|
|
577
|
-
*
|
|
578
|
-
*
|
|
722
|
+
* One look at the served golden set against an already-verified `sums` map.
|
|
723
|
+
* Resolves `null` when the release simply does not list it (not an error).
|
|
724
|
+
* Throws `ArtifactCorruptError`/`SourceUnreachableError` for the new window
|
|
725
|
+
* symptom — a hash mismatch, or the sums listing it while the source does not
|
|
726
|
+
* (yet) serve it — matching the codes {@link loadRelease}'s own retry
|
|
727
|
+
* recognizes, so {@link installGoldens} can reuse the same retryable check.
|
|
579
728
|
*/
|
|
580
|
-
async function
|
|
581
|
-
const want =
|
|
582
|
-
if (want === undefined)
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
}
|
|
586
|
-
const blob = await release.source.get(GOLDENS_ASSET);
|
|
729
|
+
async function readGoldensOnce(source, sums) {
|
|
730
|
+
const want = sums.get(GOLDENS_ASSET);
|
|
731
|
+
if (want === undefined)
|
|
732
|
+
return null;
|
|
733
|
+
const blob = await source.get(GOLDENS_ASSET);
|
|
587
734
|
if (blob === null) {
|
|
588
|
-
|
|
589
|
-
return;
|
|
735
|
+
throw new ArtifactCorruptError(`chtypes: SHA256SUMS lists ${GOLDENS_ASSET} but ${source.description} does not serve it — the release disagrees with itself; not installing it`);
|
|
590
736
|
}
|
|
591
737
|
const got = createHash('sha256').update(blob).digest('hex');
|
|
592
738
|
if (got !== want) {
|
|
593
|
-
|
|
739
|
+
throw new ArtifactCorruptError(`chtypes: ${GOLDENS_ASSET} hashes to ${got} but the signed SHA256SUMS says ${want} — not installing it`);
|
|
740
|
+
}
|
|
741
|
+
return blob;
|
|
742
|
+
}
|
|
743
|
+
/**
|
|
744
|
+
* Install the served golden set, if this release publishes one, and never
|
|
745
|
+
* fail the fetch that called it: a release-level file here is best-effort.
|
|
746
|
+
*
|
|
747
|
+
* The first look reuses `release.sums` — already verified by {@link loadRelease}
|
|
748
|
+
* — which is cheap and right on the overwhelmingly common case that nothing is
|
|
749
|
+
* mid-publish. Only a disagreement is retried (the same publish-window symptom
|
|
750
|
+
* as the signature and index.json), and a retry re-reads the WHOLE consistent
|
|
751
|
+
* set fresh through {@link loadReleaseOnce} — SHA256SUMS, its signature,
|
|
752
|
+
* index.json AND the golden set together — never the golden set alone checked
|
|
753
|
+
* against this call's by-then possibly-stale `release.sums`.
|
|
754
|
+
*
|
|
755
|
+
* Never throws. A release with no such row simply predates the served set, and a
|
|
756
|
+
* mismatch that never heals — or a set that cannot be written — leaves the
|
|
757
|
+
* golden tests skipping loudly, which is their job when there is nothing
|
|
758
|
+
* trustworthy to read.
|
|
759
|
+
*/
|
|
760
|
+
async function installGoldens(release, ctx, options) {
|
|
761
|
+
const attempts = release.source instanceof HttpSource ? RELEASE_RETRY.attempts : 1;
|
|
762
|
+
let delayMs = RELEASE_RETRY.delayMs;
|
|
763
|
+
let blob = null;
|
|
764
|
+
for (let attempt = 1;; attempt++) {
|
|
765
|
+
try {
|
|
766
|
+
if (attempt === 1) {
|
|
767
|
+
blob = await readGoldensOnce(release.source, release.sums);
|
|
768
|
+
}
|
|
769
|
+
else {
|
|
770
|
+
// A stale first look: re-verify everything from scratch, not just the
|
|
771
|
+
// golden set against sums that may themselves have moved on.
|
|
772
|
+
const fresh = await loadReleaseOnce(release.source, options, ctx.emit);
|
|
773
|
+
blob = await readGoldensOnce(fresh.source, fresh.sums);
|
|
774
|
+
}
|
|
775
|
+
break;
|
|
776
|
+
}
|
|
777
|
+
catch (err) {
|
|
778
|
+
const retryable = err instanceof ArtifactUntrustedError || err instanceof ArtifactCorruptError;
|
|
779
|
+
if (!retryable || attempt >= attempts) {
|
|
780
|
+
ctx.emit({ type: 'status', message: `${String(err)} — the golden tests will skip` });
|
|
781
|
+
return;
|
|
782
|
+
}
|
|
783
|
+
ctx.emit({
|
|
784
|
+
type: 'status',
|
|
785
|
+
message: `${String(err)} (attempt ${attempt}/${attempts}) — this is what a release being ` +
|
|
786
|
+
`published looks like from outside; retrying in ${delayMs / 1000}s`,
|
|
787
|
+
});
|
|
788
|
+
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
789
|
+
delayMs *= 2;
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
if (blob === null) {
|
|
793
|
+
ctx.emit({ type: 'status', message: `this release does not publish ${GOLDENS_ASSET} (the SDKs' golden tests will skip until it does)` });
|
|
594
794
|
return;
|
|
595
795
|
}
|
|
596
796
|
const out = path.join(ctx.dest, GOLDENS_ASSET);
|
|
@@ -659,7 +859,7 @@ async function ensureUncached(req, platform, dest, options) {
|
|
|
659
859
|
const release = await loadRelease(source, options, ctx.emit);
|
|
660
860
|
const art = selectArtifact(release.index, platform, req);
|
|
661
861
|
const installed = await installOne(release, art, ctx);
|
|
662
|
-
await installGoldens(release, ctx);
|
|
862
|
+
await installGoldens(release, ctx, options);
|
|
663
863
|
return installed;
|
|
664
864
|
}
|
|
665
865
|
/** One index row, from the release into `<dest>/<minor>/` — steps 2 through 4. */
|
|
@@ -830,7 +1030,8 @@ export async function listArtifacts(options = {}) {
|
|
|
830
1030
|
throw err;
|
|
831
1031
|
offered = [];
|
|
832
1032
|
}
|
|
833
|
-
|
|
1033
|
+
const note = notShown(release.index, platform);
|
|
1034
|
+
return { registry: dir, platform, installed, offered, source: source.description, ...(note !== undefined ? { notShown: note } : {}) };
|
|
834
1035
|
}
|
|
835
1036
|
// ------------------------------------------------------------ the lock
|
|
836
1037
|
/** Read a lock file; null when it does not exist. */
|
package/dist/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"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"}
|