@databricks-solutions/lakebase-scm-utils 0.2.40 → 0.2.41
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/dist/scripts/index.cjs +2 -2
- package/dist/scripts/index.js +2 -2
- package/dist/scripts/lakebase/ci-resolve-branch.cli.cjs +2 -2
- package/dist/scripts/lakebase/ci-resolve-branch.cli.js +2 -2
- package/dist/scripts/lakebase/collapse-heads.cli.cjs +2 -2
- package/dist/scripts/lakebase/collapse-heads.cli.js +2 -2
- package/dist/scripts/lakebase/detect-language.cli.cjs +2 -2
- package/dist/scripts/lakebase/detect-language.cli.js +2 -2
- package/dist/scripts/lakebase/doctor.cli.cjs +2 -2
- package/dist/scripts/lakebase/doctor.cli.js +2 -2
- package/dist/scripts/lakebase/get-connection.cli.cjs +2 -2
- package/dist/scripts/lakebase/get-connection.cli.js +2 -2
- package/dist/scripts/lakebase/index.cjs +2 -2
- package/dist/scripts/lakebase/index.js +2 -2
- package/dist/scripts/lakebase/infra-runner.cli.cjs +2 -2
- package/dist/scripts/lakebase/infra-runner.cli.js +2 -2
- package/dist/scripts/lakebase/new-migration.cli.cjs +2 -2
- package/dist/scripts/lakebase/new-migration.cli.js +2 -2
- package/dist/scripts/lakebase/schema-diff.cli.cjs +2 -2
- package/dist/scripts/lakebase/schema-diff.cli.js +2 -2
- package/dist/scripts/lakebase/schema-migrate.cli.cjs +2 -2
- package/dist/scripts/lakebase/schema-migrate.cli.js +2 -2
- package/dist/scripts/lakebase/scm-claim-feature.cli.cjs +2 -2
- package/dist/scripts/lakebase/scm-claim-feature.cli.js +2 -2
- package/dist/scripts/lakebase/scm-doctor.cli.cjs +2 -2
- package/dist/scripts/lakebase/scm-doctor.cli.js +2 -2
- package/dist/scripts/lakebase/scm-merge.cli.cjs +2 -2
- package/dist/scripts/lakebase/scm-merge.cli.js +2 -2
- package/dist/scripts/lakebase/scm-reconcile-tier.cli.cjs +2 -2
- package/dist/scripts/lakebase/scm-reconcile-tier.cli.js +2 -2
- package/dist/scripts/util/index.cjs +2 -2
- package/dist/scripts/util/index.js +2 -2
- package/package.json +1 -1
- package/templates/project/common/.github/workflows/merge.yml +14 -5
- package/templates/project/common/.github/workflows/pr.yml +14 -5
- package/templates/project/common/scripts/lk +66 -33
package/dist/scripts/index.cjs
CHANGED
|
@@ -88895,8 +88895,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
88895
88895
|
var cached;
|
|
88896
88896
|
function substrateSelfVersion() {
|
|
88897
88897
|
if (cached !== void 0) return cached;
|
|
88898
|
-
if ("0.2.
|
|
88899
|
-
cached = "0.2.
|
|
88898
|
+
if ("0.2.41".length > 0) {
|
|
88899
|
+
cached = "0.2.41";
|
|
88900
88900
|
return cached;
|
|
88901
88901
|
}
|
|
88902
88902
|
cached = "unknown";
|
package/dist/scripts/index.js
CHANGED
|
@@ -9700,8 +9700,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
9700
9700
|
var cached;
|
|
9701
9701
|
function substrateSelfVersion() {
|
|
9702
9702
|
if (cached !== void 0) return cached;
|
|
9703
|
-
if ("0.2.
|
|
9704
|
-
cached = "0.2.
|
|
9703
|
+
if ("0.2.41".length > 0) {
|
|
9704
|
+
cached = "0.2.41";
|
|
9705
9705
|
return cached;
|
|
9706
9706
|
}
|
|
9707
9707
|
cached = "unknown";
|
|
@@ -79609,8 +79609,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79609
79609
|
var cached;
|
|
79610
79610
|
function substrateSelfVersion() {
|
|
79611
79611
|
if (cached !== void 0) return cached;
|
|
79612
|
-
if ("0.2.
|
|
79613
|
-
cached = "0.2.
|
|
79612
|
+
if ("0.2.41".length > 0) {
|
|
79613
|
+
cached = "0.2.41";
|
|
79614
79614
|
return cached;
|
|
79615
79615
|
}
|
|
79616
79616
|
cached = "unknown";
|
|
@@ -701,8 +701,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
701
701
|
var cached;
|
|
702
702
|
function substrateSelfVersion() {
|
|
703
703
|
if (cached !== void 0) return cached;
|
|
704
|
-
if ("0.2.
|
|
705
|
-
cached = "0.2.
|
|
704
|
+
if ("0.2.41".length > 0) {
|
|
705
|
+
cached = "0.2.41";
|
|
706
706
|
return cached;
|
|
707
707
|
}
|
|
708
708
|
cached = "unknown";
|
|
@@ -79270,8 +79270,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79270
79270
|
var cached;
|
|
79271
79271
|
function substrateSelfVersion() {
|
|
79272
79272
|
if (cached !== void 0) return cached;
|
|
79273
|
-
if ("0.2.
|
|
79274
|
-
cached = "0.2.
|
|
79273
|
+
if ("0.2.41".length > 0) {
|
|
79274
|
+
cached = "0.2.41";
|
|
79275
79275
|
return cached;
|
|
79276
79276
|
}
|
|
79277
79277
|
cached = "unknown";
|
|
@@ -373,8 +373,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
373
373
|
var cached;
|
|
374
374
|
function substrateSelfVersion() {
|
|
375
375
|
if (cached !== void 0) return cached;
|
|
376
|
-
if ("0.2.
|
|
377
|
-
cached = "0.2.
|
|
376
|
+
if ("0.2.41".length > 0) {
|
|
377
|
+
cached = "0.2.41";
|
|
378
378
|
return cached;
|
|
379
379
|
}
|
|
380
380
|
cached = "unknown";
|
|
@@ -79270,8 +79270,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79270
79270
|
var cached;
|
|
79271
79271
|
function substrateSelfVersion() {
|
|
79272
79272
|
if (cached !== void 0) return cached;
|
|
79273
|
-
if ("0.2.
|
|
79274
|
-
cached = "0.2.
|
|
79273
|
+
if ("0.2.41".length > 0) {
|
|
79274
|
+
cached = "0.2.41";
|
|
79275
79275
|
return cached;
|
|
79276
79276
|
}
|
|
79277
79277
|
cached = "unknown";
|
|
@@ -373,8 +373,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
373
373
|
var cached;
|
|
374
374
|
function substrateSelfVersion() {
|
|
375
375
|
if (cached !== void 0) return cached;
|
|
376
|
-
if ("0.2.
|
|
377
|
-
cached = "0.2.
|
|
376
|
+
if ("0.2.41".length > 0) {
|
|
377
|
+
cached = "0.2.41";
|
|
378
378
|
return cached;
|
|
379
379
|
}
|
|
380
380
|
cached = "unknown";
|
|
@@ -79362,8 +79362,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79362
79362
|
var cached;
|
|
79363
79363
|
function substrateSelfVersion() {
|
|
79364
79364
|
if (cached !== void 0) return cached;
|
|
79365
|
-
if ("0.2.
|
|
79366
|
-
cached = "0.2.
|
|
79365
|
+
if ("0.2.41".length > 0) {
|
|
79366
|
+
cached = "0.2.41";
|
|
79367
79367
|
return cached;
|
|
79368
79368
|
}
|
|
79369
79369
|
cached = "unknown";
|
|
@@ -464,8 +464,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
464
464
|
var cached;
|
|
465
465
|
function substrateSelfVersion() {
|
|
466
466
|
if (cached !== void 0) return cached;
|
|
467
|
-
if ("0.2.
|
|
468
|
-
cached = "0.2.
|
|
467
|
+
if ("0.2.41".length > 0) {
|
|
468
|
+
cached = "0.2.41";
|
|
469
469
|
return cached;
|
|
470
470
|
}
|
|
471
471
|
cached = "unknown";
|
|
@@ -79265,8 +79265,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79265
79265
|
var cached;
|
|
79266
79266
|
function substrateSelfVersion() {
|
|
79267
79267
|
if (cached !== void 0) return cached;
|
|
79268
|
-
if ("0.2.
|
|
79269
|
-
cached = "0.2.
|
|
79268
|
+
if ("0.2.41".length > 0) {
|
|
79269
|
+
cached = "0.2.41";
|
|
79270
79270
|
return cached;
|
|
79271
79271
|
}
|
|
79272
79272
|
cached = "unknown";
|
|
@@ -369,8 +369,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
369
369
|
var cached;
|
|
370
370
|
function substrateSelfVersion() {
|
|
371
371
|
if (cached !== void 0) return cached;
|
|
372
|
-
if ("0.2.
|
|
373
|
-
cached = "0.2.
|
|
372
|
+
if ("0.2.41".length > 0) {
|
|
373
|
+
cached = "0.2.41";
|
|
374
374
|
return cached;
|
|
375
375
|
}
|
|
376
376
|
cached = "unknown";
|
|
@@ -81566,8 +81566,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
81566
81566
|
var cached;
|
|
81567
81567
|
function substrateSelfVersion() {
|
|
81568
81568
|
if (cached !== void 0) return cached;
|
|
81569
|
-
if ("0.2.
|
|
81570
|
-
cached = "0.2.
|
|
81569
|
+
if ("0.2.41".length > 0) {
|
|
81570
|
+
cached = "0.2.41";
|
|
81571
81571
|
return cached;
|
|
81572
81572
|
}
|
|
81573
81573
|
cached = "unknown";
|
|
@@ -2498,8 +2498,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
2498
2498
|
var cached;
|
|
2499
2499
|
function substrateSelfVersion() {
|
|
2500
2500
|
if (cached !== void 0) return cached;
|
|
2501
|
-
if ("0.2.
|
|
2502
|
-
cached = "0.2.
|
|
2501
|
+
if ("0.2.41".length > 0) {
|
|
2502
|
+
cached = "0.2.41";
|
|
2503
2503
|
return cached;
|
|
2504
2504
|
}
|
|
2505
2505
|
cached = "unknown";
|
|
@@ -79270,8 +79270,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79270
79270
|
var cached;
|
|
79271
79271
|
function substrateSelfVersion() {
|
|
79272
79272
|
if (cached !== void 0) return cached;
|
|
79273
|
-
if ("0.2.
|
|
79274
|
-
cached = "0.2.
|
|
79273
|
+
if ("0.2.41".length > 0) {
|
|
79274
|
+
cached = "0.2.41";
|
|
79275
79275
|
return cached;
|
|
79276
79276
|
}
|
|
79277
79277
|
cached = "unknown";
|
|
@@ -373,8 +373,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
373
373
|
var cached;
|
|
374
374
|
function substrateSelfVersion() {
|
|
375
375
|
if (cached !== void 0) return cached;
|
|
376
|
-
if ("0.2.
|
|
377
|
-
cached = "0.2.
|
|
376
|
+
if ("0.2.41".length > 0) {
|
|
377
|
+
cached = "0.2.41";
|
|
378
378
|
return cached;
|
|
379
379
|
}
|
|
380
380
|
cached = "unknown";
|
|
@@ -79270,8 +79270,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79270
79270
|
var cached;
|
|
79271
79271
|
function substrateSelfVersion() {
|
|
79272
79272
|
if (cached !== void 0) return cached;
|
|
79273
|
-
if ("0.2.
|
|
79274
|
-
cached = "0.2.
|
|
79273
|
+
if ("0.2.41".length > 0) {
|
|
79274
|
+
cached = "0.2.41";
|
|
79275
79275
|
return cached;
|
|
79276
79276
|
}
|
|
79277
79277
|
cached = "unknown";
|
|
@@ -373,8 +373,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
373
373
|
var cached;
|
|
374
374
|
function substrateSelfVersion() {
|
|
375
375
|
if (cached !== void 0) return cached;
|
|
376
|
-
if ("0.2.
|
|
377
|
-
cached = "0.2.
|
|
376
|
+
if ("0.2.41".length > 0) {
|
|
377
|
+
cached = "0.2.41";
|
|
378
378
|
return cached;
|
|
379
379
|
}
|
|
380
380
|
cached = "unknown";
|
|
@@ -79268,8 +79268,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79268
79268
|
var cached;
|
|
79269
79269
|
function substrateSelfVersion() {
|
|
79270
79270
|
if (cached !== void 0) return cached;
|
|
79271
|
-
if ("0.2.
|
|
79272
|
-
cached = "0.2.
|
|
79271
|
+
if ("0.2.41".length > 0) {
|
|
79272
|
+
cached = "0.2.41";
|
|
79273
79273
|
return cached;
|
|
79274
79274
|
}
|
|
79275
79275
|
cached = "unknown";
|
|
@@ -369,8 +369,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
369
369
|
var cached;
|
|
370
370
|
function substrateSelfVersion() {
|
|
371
371
|
if (cached !== void 0) return cached;
|
|
372
|
-
if ("0.2.
|
|
373
|
-
cached = "0.2.
|
|
372
|
+
if ("0.2.41".length > 0) {
|
|
373
|
+
cached = "0.2.41";
|
|
374
374
|
return cached;
|
|
375
375
|
}
|
|
376
376
|
cached = "unknown";
|
|
@@ -79304,8 +79304,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79304
79304
|
var cached;
|
|
79305
79305
|
function substrateSelfVersion() {
|
|
79306
79306
|
if (cached !== void 0) return cached;
|
|
79307
|
-
if ("0.2.
|
|
79308
|
-
cached = "0.2.
|
|
79307
|
+
if ("0.2.41".length > 0) {
|
|
79308
|
+
cached = "0.2.41";
|
|
79309
79309
|
return cached;
|
|
79310
79310
|
}
|
|
79311
79311
|
cached = "unknown";
|
|
@@ -407,8 +407,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
407
407
|
var cached;
|
|
408
408
|
function substrateSelfVersion() {
|
|
409
409
|
if (cached !== void 0) return cached;
|
|
410
|
-
if ("0.2.
|
|
411
|
-
cached = "0.2.
|
|
410
|
+
if ("0.2.41".length > 0) {
|
|
411
|
+
cached = "0.2.41";
|
|
412
412
|
return cached;
|
|
413
413
|
}
|
|
414
414
|
cached = "unknown";
|
|
@@ -79763,8 +79763,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79763
79763
|
var cached;
|
|
79764
79764
|
function substrateSelfVersion() {
|
|
79765
79765
|
if (cached !== void 0) return cached;
|
|
79766
|
-
if ("0.2.
|
|
79767
|
-
cached = "0.2.
|
|
79766
|
+
if ("0.2.41".length > 0) {
|
|
79767
|
+
cached = "0.2.41";
|
|
79768
79768
|
return cached;
|
|
79769
79769
|
}
|
|
79770
79770
|
cached = "unknown";
|
|
@@ -844,8 +844,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
844
844
|
var cached;
|
|
845
845
|
function substrateSelfVersion() {
|
|
846
846
|
if (cached !== void 0) return cached;
|
|
847
|
-
if ("0.2.
|
|
848
|
-
cached = "0.2.
|
|
847
|
+
if ("0.2.41".length > 0) {
|
|
848
|
+
cached = "0.2.41";
|
|
849
849
|
return cached;
|
|
850
850
|
}
|
|
851
851
|
cached = "unknown";
|
|
@@ -88187,8 +88187,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
88187
88187
|
var cached;
|
|
88188
88188
|
function substrateSelfVersion() {
|
|
88189
88189
|
if (cached !== void 0) return cached;
|
|
88190
|
-
if ("0.2.
|
|
88191
|
-
cached = "0.2.
|
|
88190
|
+
if ("0.2.41".length > 0) {
|
|
88191
|
+
cached = "0.2.41";
|
|
88192
88192
|
return cached;
|
|
88193
88193
|
}
|
|
88194
88194
|
cached = "unknown";
|
|
@@ -9340,8 +9340,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
9340
9340
|
var cached;
|
|
9341
9341
|
function substrateSelfVersion() {
|
|
9342
9342
|
if (cached !== void 0) return cached;
|
|
9343
|
-
if ("0.2.
|
|
9344
|
-
cached = "0.2.
|
|
9343
|
+
if ("0.2.41".length > 0) {
|
|
9344
|
+
cached = "0.2.41";
|
|
9345
9345
|
return cached;
|
|
9346
9346
|
}
|
|
9347
9347
|
cached = "unknown";
|
|
@@ -88153,8 +88153,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
88153
88153
|
var cached;
|
|
88154
88154
|
function substrateSelfVersion() {
|
|
88155
88155
|
if (cached !== void 0) return cached;
|
|
88156
|
-
if ("0.2.
|
|
88157
|
-
cached = "0.2.
|
|
88156
|
+
if ("0.2.41".length > 0) {
|
|
88157
|
+
cached = "0.2.41";
|
|
88158
88158
|
return cached;
|
|
88159
88159
|
}
|
|
88160
88160
|
cached = "unknown";
|
|
@@ -9306,8 +9306,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
9306
9306
|
var cached;
|
|
9307
9307
|
function substrateSelfVersion() {
|
|
9308
9308
|
if (cached !== void 0) return cached;
|
|
9309
|
-
if ("0.2.
|
|
9310
|
-
cached = "0.2.
|
|
9309
|
+
if ("0.2.41".length > 0) {
|
|
9310
|
+
cached = "0.2.41";
|
|
9311
9311
|
return cached;
|
|
9312
9312
|
}
|
|
9313
9313
|
cached = "unknown";
|
|
@@ -79268,8 +79268,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
79268
79268
|
var cached;
|
|
79269
79269
|
function substrateSelfVersion() {
|
|
79270
79270
|
if (cached !== void 0) return cached;
|
|
79271
|
-
if ("0.2.
|
|
79272
|
-
cached = "0.2.
|
|
79271
|
+
if ("0.2.41".length > 0) {
|
|
79272
|
+
cached = "0.2.41";
|
|
79273
79273
|
return cached;
|
|
79274
79274
|
}
|
|
79275
79275
|
cached = "unknown";
|
|
@@ -369,8 +369,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
369
369
|
var cached;
|
|
370
370
|
function substrateSelfVersion() {
|
|
371
371
|
if (cached !== void 0) return cached;
|
|
372
|
-
if ("0.2.
|
|
373
|
-
cached = "0.2.
|
|
372
|
+
if ("0.2.41".length > 0) {
|
|
373
|
+
cached = "0.2.41";
|
|
374
374
|
return cached;
|
|
375
375
|
}
|
|
376
376
|
cached = "unknown";
|
|
@@ -1659,8 +1659,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
1659
1659
|
var cached;
|
|
1660
1660
|
function substrateSelfVersion() {
|
|
1661
1661
|
if (cached !== void 0) return cached;
|
|
1662
|
-
if ("0.2.
|
|
1663
|
-
cached = "0.2.
|
|
1662
|
+
if ("0.2.41".length > 0) {
|
|
1663
|
+
cached = "0.2.41";
|
|
1664
1664
|
return cached;
|
|
1665
1665
|
}
|
|
1666
1666
|
cached = "unknown";
|
|
@@ -1630,8 +1630,8 @@ var PKG_NAME = "@databricks-solutions/lakebase-scm-utils";
|
|
|
1630
1630
|
var cached;
|
|
1631
1631
|
function substrateSelfVersion() {
|
|
1632
1632
|
if (cached !== void 0) return cached;
|
|
1633
|
-
if ("0.2.
|
|
1634
|
-
cached = "0.2.
|
|
1633
|
+
if ("0.2.41".length > 0) {
|
|
1634
|
+
cached = "0.2.41";
|
|
1635
1635
|
return cached;
|
|
1636
1636
|
}
|
|
1637
1637
|
cached = "unknown";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@databricks-solutions/lakebase-scm-utils",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.41",
|
|
4
4
|
"description": "Lakebase SCM + substrate engine: database branching, paired-branch SCM workflows, connection/credential minting, schema migration, project scaffold + deploy primitives, and the git/github utility layer. Extracted from consort for portable, standalone consumption by lakebase-scm-extension and the SFTDD orchestration.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
@@ -72,7 +72,16 @@ jobs:
|
|
|
72
72
|
# the version this project was scaffolded from, when .lakebase/scm-utils-ref is absent.
|
|
73
73
|
run: |
|
|
74
74
|
SCM_UTILS_REF="$(tr -d '[:space:]' < .lakebase/scm-utils-ref 2>/dev/null || true)"
|
|
75
|
-
|
|
75
|
+
SCM_UTILS_REF="${SCM_UTILS_REF:-v{{LAKEBASE_SCM_UTILS_VERSION}}}"
|
|
76
|
+
echo "SCM_UTILS_REF=${SCM_UTILS_REF}" >> "$GITHUB_ENV"
|
|
77
|
+
# Registry-first: version-tag refs install the published tarball from the
|
|
78
|
+
# npm registry (seconds); branch/SHA refs keep the GitHub source form
|
|
79
|
+
# (their only source).
|
|
80
|
+
case "$SCM_UTILS_REF" in
|
|
81
|
+
v[0-9]*) echo "SCM_UTILS_NPX_PKG=@databricks-solutions/lakebase-scm-utils@${SCM_UTILS_REF#v}" >> "$GITHUB_ENV" ;;
|
|
82
|
+
[0-9]*) echo "SCM_UTILS_NPX_PKG=@databricks-solutions/lakebase-scm-utils@${SCM_UTILS_REF}" >> "$GITHUB_ENV" ;;
|
|
83
|
+
*) echo "SCM_UTILS_NPX_PKG=github:databricks-solutions/lakebase-scm-utils#${SCM_UTILS_REF}" >> "$GITHUB_ENV" ;;
|
|
84
|
+
esac
|
|
76
85
|
|
|
77
86
|
- name: Detect project language
|
|
78
87
|
id: detect-lang
|
|
@@ -84,7 +93,7 @@ jobs:
|
|
|
84
93
|
# this project.
|
|
85
94
|
run: |
|
|
86
95
|
LANG="$(npx --yes \
|
|
87
|
-
--package=
|
|
96
|
+
--package="${SCM_UTILS_NPX_PKG}" \
|
|
88
97
|
lakebase-detect-language)"
|
|
89
98
|
echo "lang=$LANG" >> $GITHUB_OUTPUT
|
|
90
99
|
echo "Detected language: $LANG"
|
|
@@ -268,7 +277,7 @@ jobs:
|
|
|
268
277
|
echo " instance: $LAKEBASE_PROJECT_ID"
|
|
269
278
|
echo " source: $DEFAULT_NAME"
|
|
270
279
|
echo " backup: $SNAPSHOT_NAME"
|
|
271
|
-
if CREATE_OUT="$(npx --yes --package=
|
|
280
|
+
if CREATE_OUT="$(npx --yes --package="${SCM_UTILS_NPX_PKG}" \
|
|
272
281
|
lakebase-cut-backup \
|
|
273
282
|
--instance "$LAKEBASE_PROJECT_ID" \
|
|
274
283
|
--source "$DEFAULT_NAME" \
|
|
@@ -312,7 +321,7 @@ jobs:
|
|
|
312
321
|
# is the promotion opt-in (allowTier) + verifies the tier reached head,
|
|
313
322
|
# so a partial promotion fails the job instead of leaving git ahead of
|
|
314
323
|
# the Lakebase schema. Single-tier (default branch) also goes through it.
|
|
315
|
-
npx --yes --package=
|
|
324
|
+
npx --yes --package="${SCM_UTILS_NPX_PKG}" \
|
|
316
325
|
lakebase-schema-migrate apply-tier \
|
|
317
326
|
--instance "$LAKEBASE_PROJECT_ID" \
|
|
318
327
|
--branch "$LAKEBASE_BRANCH_NAME" \
|
|
@@ -394,7 +403,7 @@ jobs:
|
|
|
394
403
|
echo " substrate ref: ${SCM_UTILS_REF}"
|
|
395
404
|
echo " instance: $LAKEBASE_PROJECT_ID"
|
|
396
405
|
echo " branch: $LAKEBASE_BRANCH_NAME"
|
|
397
|
-
npx --yes --package=
|
|
406
|
+
npx --yes --package="${SCM_UTILS_NPX_PKG}" \
|
|
398
407
|
lakebase-schema-migrate status \
|
|
399
408
|
--instance "$LAKEBASE_PROJECT_ID" \
|
|
400
409
|
--branch "$LAKEBASE_BRANCH_NAME" \
|
|
@@ -31,7 +31,16 @@ jobs:
|
|
|
31
31
|
# the version this project was scaffolded from, when .lakebase/scm-utils-ref is absent.
|
|
32
32
|
run: |
|
|
33
33
|
SCM_UTILS_REF="$(tr -d '[:space:]' < .lakebase/scm-utils-ref 2>/dev/null || true)"
|
|
34
|
-
|
|
34
|
+
SCM_UTILS_REF="${SCM_UTILS_REF:-v{{LAKEBASE_SCM_UTILS_VERSION}}}"
|
|
35
|
+
echo "SCM_UTILS_REF=${SCM_UTILS_REF}" >> "$GITHUB_ENV"
|
|
36
|
+
# Registry-first: version-tag refs install the published tarball from the
|
|
37
|
+
# npm registry (seconds); branch/SHA refs keep the GitHub source form
|
|
38
|
+
# (their only source).
|
|
39
|
+
case "$SCM_UTILS_REF" in
|
|
40
|
+
v[0-9]*) echo "SCM_UTILS_NPX_PKG=@databricks-solutions/lakebase-scm-utils@${SCM_UTILS_REF#v}" >> "$GITHUB_ENV" ;;
|
|
41
|
+
[0-9]*) echo "SCM_UTILS_NPX_PKG=@databricks-solutions/lakebase-scm-utils@${SCM_UTILS_REF}" >> "$GITHUB_ENV" ;;
|
|
42
|
+
*) echo "SCM_UTILS_NPX_PKG=github:databricks-solutions/lakebase-scm-utils#${SCM_UTILS_REF}" >> "$GITHUB_ENV" ;;
|
|
43
|
+
esac
|
|
35
44
|
|
|
36
45
|
- name: Detect project language
|
|
37
46
|
id: detect-lang
|
|
@@ -43,7 +52,7 @@ jobs:
|
|
|
43
52
|
# this project.
|
|
44
53
|
run: |
|
|
45
54
|
LANG="$(npx --yes \
|
|
46
|
-
--package=
|
|
55
|
+
--package="${SCM_UTILS_NPX_PKG}" \
|
|
47
56
|
lakebase-detect-language)"
|
|
48
57
|
echo "lang=$LANG" >> $GITHUB_OUTPUT
|
|
49
58
|
echo "Detected language: $LANG"
|
|
@@ -343,7 +352,7 @@ jobs:
|
|
|
343
352
|
echo " substrate ref: ${SCM_UTILS_REF}"
|
|
344
353
|
echo " instance: $LAKEBASE_PROJECT_ID"
|
|
345
354
|
echo " branch: $LAKEBASE_BRANCH_NAME"
|
|
346
|
-
npx --yes --package=
|
|
355
|
+
npx --yes --package="${SCM_UTILS_NPX_PKG}" \
|
|
347
356
|
lakebase-schema-migrate apply \
|
|
348
357
|
--instance "$LAKEBASE_PROJECT_ID" \
|
|
349
358
|
--branch "$LAKEBASE_BRANCH_NAME" \
|
|
@@ -469,7 +478,7 @@ jobs:
|
|
|
469
478
|
# `|| URL=""` clause keeps the workflow green and the env var
|
|
470
479
|
# unset so the downstream Playwright step degrades cleanly.
|
|
471
480
|
URL="$(npx --yes \
|
|
472
|
-
--package=
|
|
481
|
+
--package="${SCM_UTILS_NPX_PKG}" \
|
|
473
482
|
lakebase-ci-app-endpoint \
|
|
474
483
|
--instance "$LAKEBASE_PROJECT_ID" \
|
|
475
484
|
--branch "$CI_BRANCH")" || URL=""
|
|
@@ -590,7 +599,7 @@ jobs:
|
|
|
590
599
|
if [ -n "$PRODUCTION_DATASOURCE_URL" ] && [ -n "$BRANCH" ]; then
|
|
591
600
|
echo "### Schema diff: \`${BRANCH}\` vs parent (\`${PR_BASE_REF}\`)" >> "$MD"
|
|
592
601
|
echo "" >> "$MD"
|
|
593
|
-
if ! npx --yes --package=
|
|
602
|
+
if ! npx --yes --package="${SCM_UTILS_NPX_PKG}" \
|
|
594
603
|
lakebase-schema-diff \
|
|
595
604
|
--instance "$LAKEBASE_PROJECT_ID" \
|
|
596
605
|
--branch "$BRANCH" \
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
# lk , run a substrate/SCM or SFTDD CLI fast, without the npx tax.
|
|
3
3
|
#
|
|
4
|
-
# `npx --package
|
|
5
|
-
#
|
|
6
|
-
#
|
|
4
|
+
# `npx --package=<pkg>@<version> <bin>` re-resolves on EVERY call (~3.5s even
|
|
5
|
+
# warm). This shim resolves a package ONCE per ref into a shared cache and runs
|
|
6
|
+
# the bin via `node dist/...` (~0.09s). Cold-cache installs pull the published
|
|
7
|
+
# tarball from the npm registry for version-tag refs (seconds; GitHub is the
|
|
8
|
+
# fallback) and clone+install from GitHub for branch/SHA refs (their only source).
|
|
7
9
|
#
|
|
8
10
|
# Two packages back a scaffolded project, and lk routes each bin to its owner so
|
|
9
11
|
# each runs from its OWN dist (no cross-package node_modules paths):
|
|
@@ -110,27 +112,20 @@ resolve_pkg() {
|
|
|
110
112
|
node -e 'const fs=require("fs"),p=require("path"),r=process.argv[1];let b={};try{b=(require(r+"/package.json").bin)||{}}catch(e){process.stderr.write("lk: cannot read package.json at "+r+"\n");process.exit(1)}const m=Object.values(b).filter(x=>!fs.existsSync(p.join(r,x)));if(m.length){process.stderr.write("lk: "+r+" dist is INCOMPLETE , "+m.length+"/"+Object.keys(b).length+" bin(s) have no file (e.g. "+m.slice(0,3).join(", ")+").\n");process.exit(1)}' "$1"
|
|
111
113
|
}
|
|
112
114
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
# SHOW WHAT IS BEING INSTALLED , not just a clock. npm's progress bar is TTY-only
|
|
126
|
-
# (silent when piped to a log for the relay), but `--loglevel=http` prints one line
|
|
127
|
-
# per package fetched (`npm http fetch GET 200 …/<pkg>/-/<pkg>-<ver>.tgz`) , exactly
|
|
128
|
-
# "what is being installed". We run npm to a temp log and FORWARD its new lines
|
|
129
|
-
# (prefixed `lk:` so the narrator relays them) every few seconds as they land; only
|
|
130
|
-
# when npm is briefly between fetches (e.g. the initial git clone) do we print an
|
|
131
|
-
# elapsed-time line. So the relay never goes silent and never looks like a timeout.
|
|
115
|
+
# npm_install_with_progress <spec>: install <spec> into $tmp in the background
|
|
116
|
+
# while narrating. `--omit=dev` skips the build-toolchain devDeps (tsup/vitest/
|
|
117
|
+
# typescript/esbuild) , the kit ships prebuilt dist/, so consumers never build;
|
|
118
|
+
# `--no-audit --no-fund` drop registry round-trips. SHOW WHAT IS BEING INSTALLED,
|
|
119
|
+
# not just a clock: npm's progress bar is TTY-only (silent when piped to a log
|
|
120
|
+
# for the relay), but `--loglevel=http` prints one line per package fetched, so
|
|
121
|
+
# we FORWARD its new lines (prefixed `lk:`) every few seconds as they land; only
|
|
122
|
+
# when npm is briefly between fetches (e.g. a git clone) do we print an elapsed
|
|
123
|
+
# line. The relay never goes silent and never looks like a timeout. Returns
|
|
124
|
+
# npm's exit status.
|
|
125
|
+
npm_install_with_progress() {
|
|
126
|
+
local spec="$1"
|
|
132
127
|
local npmlog; npmlog="$(mktemp)"
|
|
133
|
-
npm install --loglevel=http --no-save --prefer-online --omit=dev --no-audit --no-fund --prefix "$tmp" "$
|
|
128
|
+
npm install --loglevel=http --no-save --prefer-online --omit=dev --no-audit --no-fund --prefix "$tmp" "$spec" > "$npmlog" 2>&1 &
|
|
134
129
|
local npm_pid=$! start last cur
|
|
135
130
|
start=$(date +%s); last=0
|
|
136
131
|
while kill -0 "$npm_pid" 2>/dev/null; do
|
|
@@ -140,22 +135,60 @@ resolve_pkg() {
|
|
|
140
135
|
tail -c "+$((last + 1))" "$npmlog" | sed 's/^/lk: /' >&2 # forward the real npm progress
|
|
141
136
|
last="$cur"
|
|
142
137
|
else
|
|
143
|
-
echo "lk: … still installing the Consort TOOLKIT itself (the kit — one-time per version, cached + reused across projects) ($(( $(date +%s) - start ))s elapsed
|
|
138
|
+
echo "lk: … still installing the Consort TOOLKIT itself (the kit — one-time per version, cached + reused across projects) ($(( $(date +%s) - start ))s elapsed)…" >&2
|
|
144
139
|
fi
|
|
145
140
|
done
|
|
146
|
-
# Flush any final lines npm wrote between the last poll and exit, then drop the
|
|
147
|
-
# (all branches below are covered , no leaked temp on success OR failure).
|
|
141
|
+
# Flush any final lines npm wrote between the last poll and exit, then drop the
|
|
142
|
+
# log (all branches below are covered , no leaked temp on success OR failure).
|
|
148
143
|
cur=$(wc -c < "$npmlog" 2>/dev/null || echo 0)
|
|
149
144
|
[ "$cur" -gt "$last" ] && tail -c "+$((last + 1))" "$npmlog" | sed 's/^/lk: /' >&2
|
|
150
145
|
rm -f "$npmlog"
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
146
|
+
wait "$npm_pid"
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
# finalize_install <committish> <sha>: promote a completed $tmp install into the
|
|
150
|
+
# version-keyed cache slot.
|
|
151
|
+
finalize_install() {
|
|
152
|
+
local committish="$1" sha="$2"
|
|
153
|
+
rm -rf "$cache"
|
|
154
|
+
if mv "$tmp" "$cache" 2>/dev/null; then
|
|
155
|
+
[ -n "$sha" ] && printf '%s\n' "$sha" > "${cache}/.pkg-sha" 2>/dev/null || true
|
|
156
|
+
echo "lk: Consort toolkit ready (${pkg}@${committish}; subsequent commands are instant)." >&2
|
|
157
|
+
return 0
|
|
158
|
+
fi
|
|
159
|
+
rm -rf "$tmp"; return 1
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
install_pkg() {
|
|
163
|
+
local committish="$1" sha="$2" tmp
|
|
164
|
+
mkdir -p "$cache_root"
|
|
165
|
+
tmp="$(mktemp -d "${cache_root}/.tmp.XXXXXX")"
|
|
166
|
+
# Tell the consumer what is happening: without narration a cold-cache install
|
|
167
|
+
# looks hung (a GitHub install takes a couple of minutes the FIRST time a ref
|
|
168
|
+
# is cached; a registry install is seconds).
|
|
169
|
+
echo "lk: Downloading the Consort toolkit (${pkg}@${committish}) , one-time for this version. Later commands are instant." >&2
|
|
170
|
+
# Registry-first for immutable version tags (v0.2.40 -> ${pkg}@0.2.40): a
|
|
171
|
+
# registry tarball lands in seconds (no git clone, no build). GitHub stays the
|
|
172
|
+
# fallback (e.g. a tag not yet published) and is the only path for branch/SHA
|
|
173
|
+
# refs, which the registry never has.
|
|
174
|
+
local ver=""
|
|
175
|
+
if [ "$is_sha" -eq 0 ]; then
|
|
176
|
+
case "$ref" in
|
|
177
|
+
v[0-9]*) ver="${ref#v}" ;;
|
|
178
|
+
[0-9]*) ver="$ref" ;;
|
|
179
|
+
esac
|
|
180
|
+
fi
|
|
181
|
+
if [ -n "$ver" ]; then
|
|
182
|
+
if npm_install_with_progress "${pkg}@${ver}" && [ -d "${tmp}/node_modules/${pkg}/dist" ]; then
|
|
183
|
+
finalize_install "$committish" "$sha"
|
|
184
|
+
return $?
|
|
157
185
|
fi
|
|
158
|
-
|
|
186
|
+
echo "lk: registry install of ${pkg}@${ver} did not complete; falling back to GitHub (${gh}#${committish})." >&2
|
|
187
|
+
rm -rf "$tmp"; tmp="$(mktemp -d "${cache_root}/.tmp.XXXXXX")"
|
|
188
|
+
fi
|
|
189
|
+
if npm_install_with_progress "${gh}#${committish}" && [ -d "${tmp}/node_modules/${pkg}/dist" ]; then
|
|
190
|
+
finalize_install "$committish" "$sha"
|
|
191
|
+
return $?
|
|
159
192
|
fi
|
|
160
193
|
rm -rf "$tmp"; return 1
|
|
161
194
|
}
|