@catladder/cli 0.0.0-next-88a07ab6 → 0.0.0-next-51dc9c2b
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/bundles/catenv/index.js +151 -4
- package/dist/bundles/cli/index.js +923 -43
- package/dist/cli/src/apps/cli/commands/project/doctor/DoctorReport.d.ts +22 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/DoctorReport.js +75 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/DoctorReport.js.map +1 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/GcloudProjectInspector.d.ts +15 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/GcloudProjectInspector.js +59 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/GcloudProjectInspector.js.map +1 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkCloudRun.d.ts +13 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkCloudRun.js +120 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkCloudRun.js.map +1 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkGithub.d.ts +10 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkGithub.js +100 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkGithub.js.map +1 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkGitlab.d.ts +13 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkGitlab.js +79 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkGitlab.js.map +1 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkStore.d.ts +8 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkStore.js +44 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/checkStore.js.map +1 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/index.d.ts +14 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/index.js +48 -0
- package/dist/cli/src/apps/cli/commands/project/doctor/index.js.map +1 -0
- package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js +4 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupAccessTokens.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.d.ts +21 -0
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js +31 -11
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js.map +1 -1
- package/dist/cli/src/commands/index.d.ts +1 -0
- package/dist/cli/src/commands/index.js +8 -1
- package/dist/cli/src/commands/index.js.map +1 -1
- package/dist/cli/src/commands/project/commandDoctor.d.ts +8 -0
- package/dist/cli/src/commands/project/commandDoctor.js +25 -0
- package/dist/cli/src/commands/project/commandDoctor.js.map +1 -0
- package/dist/cli/src/gcloud/artifactsRegistry.d.ts +1 -0
- package/dist/cli/src/gcloud/artifactsRegistry.js +3 -2
- package/dist/cli/src/gcloud/artifactsRegistry.js.map +1 -1
- package/dist/cli/src/gcloud/serviceAccountNames.d.ts +28 -0
- package/dist/cli/src/gcloud/serviceAccountNames.js +51 -0
- package/dist/cli/src/gcloud/serviceAccountNames.js.map +1 -0
- package/dist/cli/src/gcloud/serviceAccounts.js +6 -27
- package/dist/cli/src/gcloud/serviceAccounts.js.map +1 -1
- package/dist/cli/src/utils/concurrency.d.ts +7 -0
- package/dist/cli/src/utils/concurrency.js +27 -0
- package/dist/cli/src/utils/concurrency.js.map +1 -0
- package/dist/cli/src/utils/github.d.ts +10 -0
- package/dist/cli/src/utils/github.js +26 -1
- package/dist/cli/src/utils/github.js.map +1 -1
- package/dist/cli/src/utils/gitlab.d.ts +6 -0
- package/dist/cli/src/utils/gitlab.js +19 -1
- package/dist/cli/src/utils/gitlab.js.map +1 -1
- package/dist/pipeline/src/constants.js +1 -1
- package/dist/pipeline/src/deploy/cloudRun/index.js +12 -0
- package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
- package/dist/pipeline/src/deploy/index.d.ts +5 -0
- package/dist/pipeline/src/deploy/index.js.map +1 -1
- package/dist/pipeline/src/index.d.ts +1 -0
- package/dist/pipeline/src/index.js +1 -0
- package/dist/pipeline/src/index.js.map +1 -1
- package/dist/pipeline/src/pipeline/createJobsForComponent.js +3 -2
- package/dist/pipeline/src/pipeline/createJobsForComponent.js.map +1 -1
- package/dist/pipeline/src/types/config.d.ts +8 -0
- package/dist/pipeline/src/types/config.js.map +1 -1
- package/dist/pipeline/src/verify/createVerifyJobs.d.ts +4 -0
- package/dist/pipeline/src/verify/createVerifyJobs.js +63 -0
- package/dist/pipeline/src/verify/createVerifyJobs.js.map +1 -0
- package/dist/pipeline/src/verify/index.d.ts +2 -0
- package/dist/pipeline/src/verify/index.js +26 -0
- package/dist/pipeline/src/verify/index.js.map +1 -0
- package/dist/pipeline/src/verify/types.d.ts +16 -0
- package/dist/pipeline/src/verify/types.js +5 -0
- package/dist/pipeline/src/verify/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/apps/cli/commands/project/doctor/DoctorReport.ts +72 -0
- package/src/apps/cli/commands/project/doctor/GcloudProjectInspector.ts +77 -0
- package/src/apps/cli/commands/project/doctor/checkCloudRun.ts +148 -0
- package/src/apps/cli/commands/project/doctor/checkGithub.ts +156 -0
- package/src/apps/cli/commands/project/doctor/checkGitlab.ts +133 -0
- package/src/apps/cli/commands/project/doctor/checkStore.ts +43 -0
- package/src/apps/cli/commands/project/doctor/index.ts +59 -0
- package/src/apps/cli/commands/project/setup/setupAccessTokens.ts +9 -2
- package/src/apps/cli/commands/project/setup/setupCloudRun.ts +42 -21
- package/src/commands/index.ts +1 -0
- package/src/commands/project/commandDoctor.ts +21 -0
- package/src/gcloud/__tests__/serviceAccountNames.test.ts +63 -0
- package/src/gcloud/artifactsRegistry.ts +3 -1
- package/src/gcloud/serviceAccountNames.ts +65 -0
- package/src/gcloud/serviceAccounts.ts +6 -38
- package/src/utils/concurrency.ts +25 -0
- package/src/utils/github.ts +48 -0
- package/src/utils/gitlab.ts +24 -0
- package/tsconfig.json +2 -1
|
@@ -737,7 +737,7 @@ var __importDefault = this && this.__importDefault || function (mod) {
|
|
|
737
737
|
Object.defineProperty(exports, "__esModule", ({
|
|
738
738
|
value: true
|
|
739
739
|
}));
|
|
740
|
-
exports.upsertAllVariables = exports.clearBackups = exports.getVariableValueByRawName = exports.getAllVariables = exports.getProjectInfo = exports.doGitlabRequest = exports.getGitlabToken = exports.setupGitlabToken = exports.hasGitlabToken = void 0;
|
|
740
|
+
exports.upsertAllVariables = exports.clearBackups = exports.getVariableValueByRawName = exports.getAllVariables = exports.getProjectInfo = exports.doGitlabRequestAllPages = exports.doGitlabRequest = exports.getGitlabToken = exports.setupGitlabToken = exports.hasGitlabToken = void 0;
|
|
741
741
|
const pipeline_1 = __nccwpck_require__(60241);
|
|
742
742
|
const lodash_es_1 = __nccwpck_require__(64284);
|
|
743
743
|
const memoizee_1 = __importDefault(__nccwpck_require__(57009));
|
|
@@ -808,6 +808,24 @@ const doGitlabRequest = async (io, path, data = undefined, method = "GET") => {
|
|
|
808
808
|
throw new Error(`Could not send request to gitlab api ${path}: ${result.status} "${result.statusText}".\nResponse: ${JSON.stringify(await result.json(), null, 2)}`);
|
|
809
809
|
};
|
|
810
810
|
exports.doGitlabRequest = doGitlabRequest;
|
|
811
|
+
/**
|
|
812
|
+
* GET a list endpoint across ALL pages (gitlab returns 20 items per
|
|
813
|
+
* page by default — long-lived projects easily exceed that, e.g.
|
|
814
|
+
* rotated access tokens accumulate one entry per rotation)
|
|
815
|
+
*/
|
|
816
|
+
const doGitlabRequestAllPages = async (io, path) => {
|
|
817
|
+
const PER_PAGE = 100;
|
|
818
|
+
const separator = path.includes("?") ? "&" : "?";
|
|
819
|
+
const all = [];
|
|
820
|
+
for (let page = 1;; page++) {
|
|
821
|
+
const items = await (0, exports.doGitlabRequest)(io, `${path}${separator}per_page=${PER_PAGE}&page=${page}`);
|
|
822
|
+
if (!(items === null || items === void 0 ? void 0 : items.length)) break;
|
|
823
|
+
all.push(...items);
|
|
824
|
+
if (items.length < PER_PAGE) break;
|
|
825
|
+
}
|
|
826
|
+
return all;
|
|
827
|
+
};
|
|
828
|
+
exports.doGitlabRequestAllPages = doGitlabRequestAllPages;
|
|
811
829
|
const getProjectInfo = async io => {
|
|
812
830
|
const {
|
|
813
831
|
gitRemotePath
|
|
@@ -5325,7 +5343,7 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
5325
5343
|
value: true
|
|
5326
5344
|
}));
|
|
5327
5345
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
5328
|
-
exports.PIPELINE_IMAGE_TAG = "next-
|
|
5346
|
+
exports.PIPELINE_IMAGE_TAG = "next-51dc9c2b" || 0;
|
|
5329
5347
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || 0;
|
|
5330
5348
|
|
|
5331
5349
|
/***/ }),
|
|
@@ -7638,6 +7656,18 @@ exports.GCLOUD_RUN_DEPLOY_TYPE = {
|
|
|
7638
7656
|
DEPLOY_CLOUD_RUN_PROJECT_ID: deployConfigRaw ? deployConfigRaw.projectId : undefined,
|
|
7639
7657
|
DEPLOY_CLOUD_RUN_REGION: deployConfigRaw ? deployConfigRaw.region : undefined
|
|
7640
7658
|
};
|
|
7659
|
+
},
|
|
7660
|
+
verifyJobSetupScript: context => {
|
|
7661
|
+
var _a;
|
|
7662
|
+
const deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
|
|
7663
|
+
const service = deployConfig === null || deployConfig === void 0 ? void 0 : deployConfig.service;
|
|
7664
|
+
const serviceConfig = typeof service === "object" ? service : undefined;
|
|
7665
|
+
if ((serviceConfig === null || serviceConfig === void 0 ? void 0 : serviceConfig.allowUnauthenticated) !== false) {
|
|
7666
|
+
return [];
|
|
7667
|
+
}
|
|
7668
|
+
// the service requires IAM auth: provide application default credentials
|
|
7669
|
+
// so the verify command can fetch identity tokens for the deployed service
|
|
7670
|
+
return (0, gitlab_1.collapseableSection)("verifygcloudauth", "Setup google application credentials")([`echo "$${exports.GCLOUD_DEPLOY_CREDENTIALS_KEY}" > "$CI_PROJECT_DIR/.gcloud-sa.json"`, `export GOOGLE_APPLICATION_CREDENTIALS="$CI_PROJECT_DIR/.gcloud-sa.json"`]);
|
|
7641
7671
|
}
|
|
7642
7672
|
};
|
|
7643
7673
|
|
|
@@ -8761,6 +8791,7 @@ __exportStar(__nccwpck_require__(20623), exports);
|
|
|
8761
8791
|
__exportStar(__nccwpck_require__(38045), exports);
|
|
8762
8792
|
__exportStar(__nccwpck_require__(51398), exports);
|
|
8763
8793
|
__exportStar(__nccwpck_require__(88025), exports);
|
|
8794
|
+
__exportStar(__nccwpck_require__(39871), exports);
|
|
8764
8795
|
__exportStar(__nccwpck_require__(45585), exports);
|
|
8765
8796
|
__exportStar(__nccwpck_require__(47666), exports);
|
|
8766
8797
|
__exportStar(__nccwpck_require__(60250), exports);
|
|
@@ -9390,6 +9421,7 @@ exports.createJobsForComponentContext = void 0;
|
|
|
9390
9421
|
const build_1 = __nccwpck_require__(51398);
|
|
9391
9422
|
const deploy_1 = __nccwpck_require__(88025);
|
|
9392
9423
|
const jobs_1 = __nccwpck_require__(41507);
|
|
9424
|
+
const createVerifyJobs_1 = __nccwpck_require__(69134);
|
|
9393
9425
|
const injectDefaultVarsInCustomJobs = (context, jobs) => jobs.map(({
|
|
9394
9426
|
variables,
|
|
9395
9427
|
...job
|
|
@@ -9411,9 +9443,9 @@ const getCustomJobs = context => {
|
|
|
9411
9443
|
return injectDefaultVarsInCustomJobs(context, rawJobs);
|
|
9412
9444
|
};
|
|
9413
9445
|
const createJobsForComponentContext = async context => {
|
|
9414
|
-
const [buildJobs, deployJobs] = await Promise.all([context.build.type !== "disabled" ? build_1.BUILD_TYPES[context.build.buildType].jobs(context) : [], context.componentConfig.deploy !== false ? deploy_1.DEPLOY_TYPES[context.componentConfig.deploy.type].jobs(context) : []]);
|
|
9446
|
+
const [buildJobs, deployJobs, verifyJobs] = await Promise.all([context.build.type !== "disabled" ? build_1.BUILD_TYPES[context.build.buildType].jobs(context) : [], context.componentConfig.deploy !== false ? deploy_1.DEPLOY_TYPES[context.componentConfig.deploy.type].jobs(context) : [], (0, createVerifyJobs_1.createVerifyJobs)(context)]);
|
|
9415
9447
|
const customJobs = getCustomJobs(context);
|
|
9416
|
-
return [...buildJobs, ...deployJobs, ...customJobs];
|
|
9448
|
+
return [...buildJobs, ...deployJobs, ...verifyJobs, ...customJobs];
|
|
9417
9449
|
};
|
|
9418
9450
|
exports.createJobsForComponentContext = createJobsForComponentContext;
|
|
9419
9451
|
|
|
@@ -10557,6 +10589,121 @@ exports.resolveReferencesOnce = resolveReferencesOnce;
|
|
|
10557
10589
|
|
|
10558
10590
|
/***/ }),
|
|
10559
10591
|
|
|
10592
|
+
/***/ 69134:
|
|
10593
|
+
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
|
|
10594
|
+
|
|
10595
|
+
"use strict";
|
|
10596
|
+
|
|
10597
|
+
|
|
10598
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
10599
|
+
value: true
|
|
10600
|
+
}));
|
|
10601
|
+
exports.createVerifyJobs = exports.VERIFY_JOB_NAME = void 0;
|
|
10602
|
+
const createArtifactsConfig_1 = __nccwpck_require__(43983);
|
|
10603
|
+
const createJobCache_1 = __nccwpck_require__(65644);
|
|
10604
|
+
const cache_1 = __nccwpck_require__(34189);
|
|
10605
|
+
const constants_1 = __nccwpck_require__(37878);
|
|
10606
|
+
const yarn_1 = __nccwpck_require__(78897);
|
|
10607
|
+
const deploy_1 = __nccwpck_require__(88025);
|
|
10608
|
+
const runner_1 = __nccwpck_require__(92348);
|
|
10609
|
+
const utils_1 = __nccwpck_require__(20595);
|
|
10610
|
+
exports.VERIFY_JOB_NAME = "🔍 verify";
|
|
10611
|
+
const createVerifyJobs = async context => {
|
|
10612
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
10613
|
+
const verifyConfig = context.componentConfig.verify;
|
|
10614
|
+
if (!verifyConfig) {
|
|
10615
|
+
return [];
|
|
10616
|
+
}
|
|
10617
|
+
const deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
|
|
10618
|
+
if (!deployConfig) {
|
|
10619
|
+
// nothing is deployed, so there is nothing to verify
|
|
10620
|
+
return [];
|
|
10621
|
+
}
|
|
10622
|
+
const isNodeBuild = context.build.type !== "disabled" && context.build.buildType === "node";
|
|
10623
|
+
const [yarnInstall, nodeCache] = isNodeBuild ? await Promise.all([(0, yarn_1.getYarnInstall)(context), (0, cache_1.getNodeCache)(context, "pull")]) : [null, null];
|
|
10624
|
+
const setupScript = (_d = (_c = (_b = deploy_1.DEPLOY_TYPES[deployConfig.type]).verifyJobSetupScript) === null || _c === void 0 ? void 0 : _c.call(_b, context)) !== null && _d !== void 0 ? _d : [];
|
|
10625
|
+
return [{
|
|
10626
|
+
name: exports.VERIFY_JOB_NAME,
|
|
10627
|
+
stage: "verify",
|
|
10628
|
+
envMode: "stagePerEnv",
|
|
10629
|
+
requires: [
|
|
10630
|
+
// wait for this component's own deploy
|
|
10631
|
+
{
|
|
10632
|
+
capability: "deployment",
|
|
10633
|
+
artifacts: false
|
|
10634
|
+
},
|
|
10635
|
+
// ...and for the deploys of the components listed in waitFor
|
|
10636
|
+
...((_e = verifyConfig.waitFor) !== null && _e !== void 0 ? _e : []).map(componentName => ({
|
|
10637
|
+
capability: "deployment",
|
|
10638
|
+
from: {
|
|
10639
|
+
component: componentName
|
|
10640
|
+
},
|
|
10641
|
+
artifacts: false,
|
|
10642
|
+
strict: true
|
|
10643
|
+
}))],
|
|
10644
|
+
image: (_f = verifyConfig.jobImage) !== null && _f !== void 0 ? _f : (0, runner_1.getRunnerImage)("jobs-testing-chrome"),
|
|
10645
|
+
cache: nodeCache ? (0, createJobCache_1.createJobCacheFromCacheConfigs)(context, nodeCache) : undefined,
|
|
10646
|
+
variables: {
|
|
10647
|
+
...context.environment.envVars
|
|
10648
|
+
},
|
|
10649
|
+
runnerVariables: {
|
|
10650
|
+
...constants_1.NODE_RUNNER_BUILD_VARIABLES,
|
|
10651
|
+
...((_g = verifyConfig.runnerVariables) !== null && _g !== void 0 ? _g : {})
|
|
10652
|
+
},
|
|
10653
|
+
script: [...setupScript, ...(yarnInstall ? (0, yarn_1.ensureNodeVersion)(context) : []), `cd ${context.build.dir}`, ...(yarnInstall !== null && yarnInstall !== void 0 ? yarnInstall : []), ...(0, utils_1.ensureArray)(verifyConfig.command)],
|
|
10654
|
+
allow_failure: verifyConfig.allowFailure,
|
|
10655
|
+
...(0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, verifyConfig.artifactsReports, verifyConfig.artifacts)
|
|
10656
|
+
}];
|
|
10657
|
+
};
|
|
10658
|
+
exports.createVerifyJobs = createVerifyJobs;
|
|
10659
|
+
|
|
10660
|
+
/***/ }),
|
|
10661
|
+
|
|
10662
|
+
/***/ 39871:
|
|
10663
|
+
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
|
|
10664
|
+
|
|
10665
|
+
"use strict";
|
|
10666
|
+
|
|
10667
|
+
|
|
10668
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
|
|
10669
|
+
if (k2 === undefined) k2 = k;
|
|
10670
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10671
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10672
|
+
desc = {
|
|
10673
|
+
enumerable: true,
|
|
10674
|
+
get: function () {
|
|
10675
|
+
return m[k];
|
|
10676
|
+
}
|
|
10677
|
+
};
|
|
10678
|
+
}
|
|
10679
|
+
Object.defineProperty(o, k2, desc);
|
|
10680
|
+
} : function (o, m, k, k2) {
|
|
10681
|
+
if (k2 === undefined) k2 = k;
|
|
10682
|
+
o[k2] = m[k];
|
|
10683
|
+
});
|
|
10684
|
+
var __exportStar = this && this.__exportStar || function (m, exports) {
|
|
10685
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
10686
|
+
};
|
|
10687
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
10688
|
+
value: true
|
|
10689
|
+
}));
|
|
10690
|
+
__exportStar(__nccwpck_require__(99318), exports);
|
|
10691
|
+
__exportStar(__nccwpck_require__(69134), exports);
|
|
10692
|
+
|
|
10693
|
+
/***/ }),
|
|
10694
|
+
|
|
10695
|
+
/***/ 99318:
|
|
10696
|
+
/***/ ((__unused_webpack_module, exports) => {
|
|
10697
|
+
|
|
10698
|
+
"use strict";
|
|
10699
|
+
|
|
10700
|
+
|
|
10701
|
+
Object.defineProperty(exports, "__esModule", ({
|
|
10702
|
+
value: true
|
|
10703
|
+
}));
|
|
10704
|
+
|
|
10705
|
+
/***/ }),
|
|
10706
|
+
|
|
10560
10707
|
/***/ 51748:
|
|
10561
10708
|
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
|
10562
10709
|
|