@catladder/pipeline 0.0.0-more-collapse-deeb54d7 → 0.0.0-multiple-gitlab-includes-1a40efc0
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/README.md +17 -0
- package/dist/bash/BashExpression.d.ts +36 -0
- package/dist/bash/BashExpression.js +114 -0
- package/dist/bash/bashEscape.d.ts +34 -0
- package/dist/bash/bashEscape.js +114 -0
- package/dist/bash/bashExpressionPerPipelineType.d.ts +6 -0
- package/dist/bash/bashExpressionPerPipelineType.js +11 -0
- package/dist/bash/bashYaml.d.ts +10 -0
- package/dist/bash/bashYaml.js +69 -0
- package/dist/bash/getInjectVarsScript.d.ts +2 -0
- package/dist/bash/getInjectVarsScript.js +47 -0
- package/dist/bash/index.d.ts +2 -0
- package/dist/bash/index.js +26 -0
- package/dist/build/artifacts/createBuildJobArtifact.d.ts +3 -0
- package/dist/build/artifacts/createBuildJobArtifact.js +97 -0
- package/dist/build/base/__tests__/createArtifactsConfig.test.js +3 -1
- package/dist/build/base/constants.d.ts +0 -1
- package/dist/build/base/constants.js +4 -3
- package/dist/build/base/createAppBuildJob.d.ts +5 -3
- package/dist/build/base/createAppBuildJob.js +18 -15
- package/dist/build/base/createArtifactsConfig.d.ts +1 -1
- package/dist/build/base/createArtifactsConfig.js +3 -1
- package/dist/build/base/createBuildJobDefinition.d.ts +6 -0
- package/dist/build/base/createBuildJobDefinition.js +58 -0
- package/dist/build/base/index.d.ts +7 -4
- package/dist/build/base/index.js +17 -6
- package/dist/build/base/writeBuildInfo.d.ts +2 -2
- package/dist/build/base/writeBuildInfo.js +4 -3
- package/dist/build/base/writeDotEnv.d.ts +3 -2
- package/dist/build/base/writeDotEnv.js +30 -6
- package/dist/build/cache/createJobCache.d.ts +7 -0
- package/dist/build/cache/createJobCache.js +115 -0
- package/dist/build/cache/getAllCacheConfigsFromConfig.d.ts +3 -0
- package/dist/build/cache/getAllCacheConfigsFromConfig.js +64 -0
- package/dist/build/cache/transformLegacyJobCache.d.ts +3 -0
- package/dist/build/cache/transformLegacyJobCache.js +29 -0
- package/dist/build/custom/__tests__/testJob.test.js +15 -16
- package/dist/build/custom/buildJob.d.ts +2 -2
- package/dist/build/custom/buildJob.js +8 -67
- package/dist/build/custom/index.d.ts +2 -2
- package/dist/build/custom/index.js +3 -1
- package/dist/build/custom/testJob.d.ts +4 -4
- package/dist/build/custom/testJob.js +25 -21
- package/dist/build/docker.d.ts +48 -39
- package/dist/build/docker.js +112 -37
- package/dist/build/index.d.ts +14 -7
- package/dist/build/index.js +44 -16
- package/dist/build/node/buildJob.d.ts +6 -2
- package/dist/build/node/buildJob.js +39 -48
- package/dist/build/node/cache.d.ts +4 -5
- package/dist/build/node/cache.js +18 -23
- package/dist/build/node/constants.d.ts +0 -1
- package/dist/build/node/constants.js +5 -4
- package/dist/build/node/index.d.ts +4 -4
- package/dist/build/node/index.js +3 -1
- package/dist/build/node/meteor.d.ts +2 -2
- package/dist/build/node/meteor.js +10 -12
- package/dist/build/node/testJob.d.ts +3 -2
- package/dist/build/node/testJob.js +29 -19
- package/dist/build/node/yarn.d.ts +3 -2
- package/dist/build/node/yarn.js +13 -13
- package/dist/build/rails/build.d.ts +2 -2
- package/dist/build/rails/build.js +24 -8
- package/dist/build/rails/index.d.ts +2 -2
- package/dist/build/rails/index.js +3 -1
- package/dist/build/rails/test.d.ts +2 -2
- package/dist/build/rails/test.js +20 -12
- package/dist/build/sbom.d.ts +2 -2
- package/dist/build/sbom.js +9 -6
- package/dist/build/types.d.ts +152 -47
- package/dist/build/types.js +10 -2
- package/dist/catladder-gitlab.js +129 -49
- package/dist/config/__tests__/configruedEnvs.test.js +3 -1
- package/dist/config/__tests__/getAllEnvs.test.js +79 -0
- package/dist/config/__tests__/getAllEnvsInAllComponents.test.d.ts +1 -0
- package/dist/config/__tests__/getAllEnvsInAllComponents.test.js +73 -0
- package/dist/config/configruedEnvs.js +3 -1
- package/dist/config/index.js +13 -7
- package/dist/config/readConfig.d.ts +2 -2
- package/dist/config/readConfig.js +191 -40
- package/dist/constants.js +5 -3
- package/dist/context/createAllComponentsContext.d.ts +12 -0
- package/dist/{pipeline/commitInfo/getCommitInfo.js → context/createAllComponentsContext.js} +35 -19
- package/dist/context/createComponentContext.d.ts +11 -0
- package/dist/context/createComponentContext.js +255 -0
- package/dist/context/createWorkspaceContext.d.ts +16 -0
- package/dist/context/createWorkspaceContext.js +173 -0
- package/dist/context/getBuildInfoVariables.d.ts +6 -0
- package/dist/context/getBuildInfoVariables.js +55 -0
- package/dist/context/getEnvConfig.js +5 -2
- package/dist/context/getEnvType.js +3 -1
- package/dist/context/getEnvironment.d.ts +3 -3
- package/dist/context/getEnvironment.js +11 -12
- package/dist/context/getEnvironmentContext.d.ts +7 -3
- package/dist/context/getEnvironmentContext.js +21 -11
- package/dist/context/getEnvironmentVariables.d.ts +22 -5
- package/dist/context/getEnvironmentVariables.js +81 -49
- package/dist/context/getLabels.d.ts +2 -2
- package/dist/context/getLabels.js +9 -7
- package/dist/context/getReviewSlug.d.ts +4 -0
- package/dist/context/getReviewSlug.js +21 -0
- package/dist/context/index.d.ts +2 -4
- package/dist/context/index.js +15 -162
- package/dist/context/transformJobOnlyVars.d.ts +5 -2
- package/dist/context/transformJobOnlyVars.js +4 -2
- package/dist/context/utils/envVars.d.ts +1 -1
- package/dist/context/utils/envVars.js +5 -2
- package/dist/defaults/index.js +3 -1
- package/dist/deploy/base/deploy.d.ts +3 -3
- package/dist/deploy/base/deploy.js +38 -22
- package/dist/deploy/base/index.d.ts +3 -5
- package/dist/deploy/base/index.js +3 -1
- package/dist/deploy/base/rollback.d.ts +3 -3
- package/dist/deploy/base/rollback.js +13 -9
- package/dist/deploy/base/stop.d.ts +3 -3
- package/dist/deploy/base/stop.js +16 -11
- package/dist/deploy/base/types.d.ts +1 -1
- package/dist/deploy/base/types.js +3 -1
- package/dist/deploy/base/variables.d.ts +0 -1
- package/dist/deploy/base/variables.js +4 -3
- package/dist/deploy/cloudRun/artifactsRegistry.d.ts +19 -0
- package/dist/deploy/cloudRun/artifactsRegistry.js +125 -0
- package/dist/deploy/cloudRun/cleanup.d.ts +2 -0
- package/dist/deploy/cloudRun/cleanup.js +53 -0
- package/dist/deploy/cloudRun/cloudRunRevisions.d.ts +2 -0
- package/dist/deploy/cloudRun/cloudRunRevisions.js +62 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunJobs.d.ts +7 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunJobs.js +207 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunServices.d.ts +4 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunServices.js +96 -0
- package/dist/deploy/cloudRun/createJobs/common.d.ts +18 -0
- package/dist/deploy/cloudRun/createJobs/common.js +93 -0
- package/dist/deploy/cloudRun/createJobs/constants.d.ts +1 -0
- package/dist/deploy/cloudRun/createJobs/constants.js +7 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.d.ts +2 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +62 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.d.ts +2 -0
- package/dist/deploy/cloudRun/createJobs/getCloudRunStopScripts.js +54 -0
- package/dist/deploy/cloudRun/createJobs/index.d.ts +3 -0
- package/dist/deploy/cloudRun/createJobs/index.js +57 -0
- package/dist/deploy/cloudRun/createJobs/volumes.d.ts +3 -0
- package/dist/deploy/cloudRun/createJobs/volumes.js +58 -0
- package/dist/deploy/cloudRun/index.d.ts +2 -2
- package/dist/deploy/cloudRun/index.js +17 -10
- package/dist/deploy/cloudRun/utils/createArgsString.d.ts +3 -1
- package/dist/deploy/cloudRun/utils/createArgsString.js +25 -17
- package/dist/deploy/cloudRun/utils/database.d.ts +6 -4
- package/dist/deploy/cloudRun/utils/database.js +28 -15
- package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.d.ts +2 -2
- package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +4 -2
- package/dist/deploy/cloudRun/utils/getServiceName.d.ts +2 -0
- package/dist/deploy/cloudRun/utils/getServiceName.js +10 -0
- package/dist/deploy/cloudRun/utils/jobName.d.ts +2 -1
- package/dist/deploy/cloudRun/utils/jobName.js +4 -2
- package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.d.ts +9 -0
- package/dist/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.js +18 -0
- package/dist/deploy/cloudSql/utils.d.ts +2 -1
- package/dist/deploy/cloudSql/utils.js +7 -2
- package/dist/deploy/custom/deployJob.d.ts +2 -2
- package/dist/deploy/custom/deployJob.js +10 -9
- package/dist/deploy/custom/index.d.ts +2 -2
- package/dist/deploy/custom/index.js +3 -1
- package/dist/deploy/dockerTag/deployJob.d.ts +2 -2
- package/dist/deploy/dockerTag/deployJob.js +38 -7
- package/dist/deploy/dockerTag/index.d.ts +2 -2
- package/dist/deploy/dockerTag/index.js +3 -1
- package/dist/deploy/index.d.ts +10 -9
- package/dist/deploy/index.js +13 -7
- package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +3 -1
- package/dist/deploy/kubernetes/additionalSecretKeys.js +3 -1
- package/dist/deploy/kubernetes/cloudSql/index.d.ts +6 -5
- package/dist/deploy/kubernetes/cloudSql/index.js +14 -21
- package/dist/deploy/kubernetes/deployJob.d.ts +2 -2
- package/dist/deploy/kubernetes/deployJob.js +23 -22
- package/dist/deploy/kubernetes/index.d.ts +2 -2
- package/dist/deploy/kubernetes/index.js +52 -15
- package/dist/deploy/kubernetes/kubeEnv.d.ts +5 -4
- package/dist/deploy/kubernetes/kubeEnv.js +9 -5
- package/dist/deploy/kubernetes/kubeValues.d.ts +5 -6
- package/dist/deploy/kubernetes/kubeValues.js +16 -18
- package/dist/deploy/kubernetes/mongodb.d.ts +2 -2
- package/dist/deploy/kubernetes/mongodb.js +14 -12
- package/dist/deploy/sbom.d.ts +4 -4
- package/dist/deploy/sbom.js +7 -4
- package/dist/deploy/types/base.d.ts +5 -5
- package/dist/deploy/types/base.js +3 -1
- package/dist/deploy/types/custom.d.ts +3 -7
- package/dist/deploy/types/custom.js +3 -1
- package/dist/deploy/types/dockerTag.d.ts +3 -1
- package/dist/deploy/types/dockerTag.js +3 -1
- package/dist/deploy/types/googleCloudRun.d.ts +127 -24
- package/dist/deploy/types/googleCloudRun.js +3 -1
- package/dist/deploy/types/index.d.ts +6 -6
- package/dist/deploy/types/index.js +14 -8
- package/dist/deploy/types/kubernetes.d.ts +25 -54
- package/dist/deploy/types/kubernetes.js +3 -1
- package/dist/deploy/utils.d.ts +2 -2
- package/dist/deploy/utils.js +5 -2
- package/dist/globalScriptFunctions/index.d.ts +14 -0
- package/dist/globalScriptFunctions/index.js +37 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.js +18 -9
- package/dist/packageInfos.d.ts +4 -0
- package/dist/packageInfos.js +20 -0
- package/dist/pipeline/__tests__/getPipelineStages.test.d.ts +1 -0
- package/dist/pipeline/__tests__/getPipelineStages.test.js +73 -0
- package/dist/pipeline/createAllJobs.d.ts +16 -6
- package/dist/pipeline/createAllJobs.js +99 -27
- package/dist/pipeline/createJobsForComponent.d.ts +2 -2
- package/dist/pipeline/createJobsForComponent.js +9 -149
- package/dist/pipeline/createJobsForWorkspace.d.ts +3 -0
- package/dist/pipeline/createJobsForWorkspace.js +12 -0
- package/dist/pipeline/createMainPipeline.d.ts +3 -0
- package/dist/pipeline/createMainPipeline.js +283 -0
- package/dist/pipeline/generatePipelineFiles.d.ts +7 -0
- package/dist/pipeline/generatePipelineFiles.js +304 -0
- package/dist/pipeline/getPipelineStages.d.ts +7 -0
- package/dist/pipeline/getPipelineStages.js +56 -0
- package/dist/pipeline/gitlab/createGitlabJobs.d.ts +11 -14
- package/dist/pipeline/gitlab/createGitlabJobs.js +258 -74
- package/dist/pipeline/gitlab/createGitlabPipeline.d.ts +9 -0
- package/dist/pipeline/gitlab/createGitlabPipeline.js +77 -0
- package/dist/pipeline/gitlab/gitlabReleaseJobs.d.ts +33 -0
- package/dist/pipeline/gitlab/gitlabReleaseJobs.js +25 -0
- package/dist/pipeline/gitlab/sortGitLabJobDefProps.d.ts +7 -0
- package/dist/pipeline/gitlab/sortGitLabJobDefProps.js +27 -0
- package/dist/pipeline/index.d.ts +3 -2
- package/dist/pipeline/index.js +16 -9
- package/dist/pipeline/packageManager.d.ts +3 -2
- package/dist/pipeline/packageManager.js +50 -24
- package/dist/pipeline/yarn/yarnUtils.d.ts +3 -2
- package/dist/pipeline/yarn/yarnUtils.js +65 -17
- package/dist/rules/index.d.ts +7 -2
- package/dist/rules/index.js +34 -16
- package/dist/runner/index.d.ts +1 -1
- package/dist/runner/index.js +3 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +44 -29
- package/dist/types/config.js +5 -2
- package/dist/types/context.d.ts +124 -40
- package/dist/types/context.js +12 -1
- package/dist/types/environmentContext.d.ts +15 -12
- package/dist/types/environmentContext.js +3 -1
- package/dist/types/gitlab-ci-yml.d.ts +30 -30
- package/dist/types/gitlab-ci-yml.js +3 -2
- package/dist/types/gitlab-types.d.ts +8 -8
- package/dist/types/gitlab-types.js +3 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +14 -7
- package/dist/types/jobDefinition.d.ts +11 -0
- package/dist/types/jobDefinition.js +5 -0
- package/dist/types/jobs.d.ts +30 -15
- package/dist/types/jobs.js +3 -1
- package/dist/types/pipeline.d.ts +3 -3
- package/dist/types/pipeline.js +3 -1
- package/dist/types/utils.d.ts +1 -1
- package/dist/types/utils.js +3 -1
- package/dist/utils/gitlab.js +7 -2
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.js +10 -3
- package/dist/utils/jsonParse.d.ts +1 -0
- package/dist/utils/jsonParse.js +14 -0
- package/dist/utils/removeUndefined.d.ts +1 -0
- package/dist/utils/removeUndefined.js +36 -0
- package/dist/utils/writeFiles.d.ts +11 -0
- package/dist/{pipeline/commitInfo/getBuildId.js → utils/writeFiles.js} +39 -22
- package/dist/variables/VariableValue.d.ts +3 -0
- package/dist/variables/VariableValue.js +5 -0
- package/dist/variables/VariableValueContainingReferences.d.ts +24 -0
- package/dist/variables/VariableValueContainingReferences.js +97 -0
- package/dist/variables/__tests__/resolveAllReferences.test.d.ts +1 -0
- package/dist/variables/__tests__/resolveAllReferences.test.js +218 -0
- package/dist/variables/__tests__/resolveAllReferencesOnce.test.d.ts +1 -0
- package/dist/variables/__tests__/resolveAllReferencesOnce.test.js +171 -0
- package/dist/variables/__tests__/resolveReferencesOnce.test.d.ts +1 -0
- package/dist/variables/__tests__/resolveReferencesOnce.test.js +199 -0
- package/dist/variables/__tests__/variableValue.test.d.ts +1 -0
- package/dist/variables/__tests__/variableValue.test.js +36 -0
- package/dist/variables/resolveAllReferences.d.ts +3 -0
- package/dist/{pipeline/createChildPipeline.js → variables/resolveAllReferences.js} +44 -47
- package/dist/variables/resolveAllReferencesOnce.d.ts +5 -0
- package/dist/variables/resolveAllReferencesOnce.js +191 -0
- package/dist/variables/resolveReferencesOnce.d.ts +8 -0
- package/dist/variables/resolveReferencesOnce.js +22 -0
- package/examples/.test-gen-ignore +1 -0
- package/examples/__snapshots__/cloud-run-http2.test.ts.snap +1418 -0
- package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +1418 -0
- package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +1418 -0
- package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +1434 -0
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +1418 -0
- package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +1526 -0
- package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +1418 -0
- package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +1436 -0
- package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +1418 -0
- package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +1418 -0
- package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +1418 -0
- package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +1418 -0
- package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +1490 -0
- package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +1302 -0
- package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +1418 -0
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +2998 -0
- package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +1733 -0
- package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +1426 -0
- package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +1285 -0
- package/examples/__snapshots__/custom-build-job.test.ts.snap +1174 -0
- package/examples/__snapshots__/custom-deploy.test.ts.snap +1168 -0
- package/examples/__snapshots__/custom-envs.test.ts.snap +798 -0
- package/examples/__snapshots__/custom-sbom-java.test.ts.snap +1182 -0
- package/examples/__snapshots__/git-submodule.test.ts.snap +1419 -0
- package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +1759 -0
- package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +1779 -0
- package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +3357 -0
- package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +1883 -0
- package/examples/__snapshots__/local-dot-env.test.ts.snap +1342 -0
- package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +1836 -0
- package/examples/__snapshots__/multiline-var.test.ts.snap +5679 -0
- package/examples/__snapshots__/native-app.test.ts.snap +2206 -0
- package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +1418 -0
- package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +1426 -0
- package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +1487 -0
- package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +1471 -0
- package/examples/__snapshots__/referencing-other-vars.test.ts.snap +4739 -0
- package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +1368 -0
- package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +2338 -0
- package/examples/__snapshots__/workspace-api-www.test.ts.snap +2330 -0
- package/examples/__utils__/helpers.ts +9 -12
- package/examples/cloud-run-http2.test.ts +11 -0
- package/examples/cloud-run-http2.ts +29 -0
- package/examples/cloud-run-memory-limit.test.ts +11 -0
- package/examples/cloud-run-memory-limit.ts +10 -5
- package/examples/cloud-run-meteor-with-worker.test.ts +11 -0
- package/examples/cloud-run-meteor-with-worker.ts +37 -0
- package/examples/cloud-run-nextjs.test.ts +11 -0
- package/examples/cloud-run-nextjs.ts +28 -0
- package/examples/cloud-run-no-cpu-throttling.test.ts +11 -0
- package/examples/cloud-run-no-cpu-throttling.ts +6 -4
- package/examples/cloud-run-no-service.test.ts +11 -0
- package/examples/cloud-run-no-service.ts +33 -0
- package/examples/cloud-run-non-public.test.ts +11 -0
- package/examples/cloud-run-non-public.ts +5 -4
- package/examples/cloud-run-post-stop-job.test.ts +11 -0
- package/examples/cloud-run-post-stop-job.ts +42 -0
- package/examples/cloud-run-service-custom-vpc-connector.test.ts +11 -0
- package/examples/cloud-run-service-custom-vpc-connector.ts +30 -0
- package/examples/cloud-run-service-custom-vpc.test.ts +11 -0
- package/examples/cloud-run-service-custom-vpc.ts +31 -0
- package/examples/cloud-run-service-gen2.test.ts +11 -0
- package/examples/cloud-run-service-gen2.ts +29 -0
- package/examples/cloud-run-service-increase-timout.test.ts +11 -0
- package/examples/cloud-run-service-increase-timout.ts +29 -0
- package/examples/cloud-run-service-with-volumes.test.ts +11 -0
- package/examples/cloud-run-service-with-volumes.ts +56 -0
- package/examples/cloud-run-storybook.test.ts +11 -0
- package/examples/cloud-run-storybook.ts +33 -0
- package/examples/cloud-run-with-ngnix.test.ts +11 -0
- package/examples/cloud-run-with-ngnix.ts +29 -0
- package/examples/cloud-run-with-sql-reuse-db.test.ts +11 -0
- package/examples/cloud-run-with-sql-reuse-db.ts +5 -4
- package/examples/cloud-run-with-sql.test.ts +11 -0
- package/examples/cloud-run-with-sql.ts +6 -20
- package/examples/cloud-run-with-worker.test.ts +11 -0
- package/examples/cloud-run-with-worker.ts +37 -0
- package/examples/custom-build-job-with-tests.test.ts +11 -0
- package/examples/custom-build-job-with-tests.ts +5 -4
- package/examples/custom-build-job.test.ts +11 -0
- package/examples/custom-build-job.ts +5 -4
- package/examples/custom-deploy.test.ts +11 -0
- package/examples/custom-deploy.ts +12 -4
- package/examples/custom-envs.test.ts +11 -0
- package/examples/custom-envs.ts +5 -4
- package/examples/custom-sbom-java.test.ts +11 -0
- package/examples/custom-sbom-java.ts +10 -6
- package/examples/git-submodule.test.ts +11 -0
- package/examples/git-submodule.ts +30 -0
- package/examples/kubernetes-application-customization.test.ts +11 -0
- package/examples/kubernetes-application-customization.ts +7 -4
- package/examples/kubernetes-with-cloud-sql.test.ts +11 -0
- package/examples/kubernetes-with-cloud-sql.ts +7 -4
- package/examples/kubernetes-with-jobs.test.ts +11 -0
- package/examples/kubernetes-with-jobs.ts +7 -4
- package/examples/kubernetes-with-mongodb.test.ts +11 -0
- package/examples/kubernetes-with-mongodb.ts +7 -4
- package/examples/local-dot-env.test.ts +11 -0
- package/examples/local-dot-env.ts +27 -0
- package/examples/meteor-kubernetes.test.ts +11 -0
- package/examples/meteor-kubernetes.ts +4 -5
- package/examples/multiline-var.test.ts +11 -0
- package/examples/multiline-var.ts +107 -0
- package/examples/native-app.test.ts +11 -0
- package/examples/native-app.ts +22 -17
- package/examples/node-build-with-custom-image.test.ts +11 -0
- package/examples/node-build-with-custom-image.ts +5 -4
- package/examples/node-build-with-docker-additions.test.ts +11 -0
- package/examples/node-build-with-docker-additions.ts +29 -0
- package/examples/rails-k8s-with-worker-dockerfile.test.ts +33 -0
- package/examples/rails-k8s-with-worker.test.ts +11 -0
- package/examples/rails-k8s-with-worker.ts +14 -11
- package/examples/referencing-other-vars.test.ts +11 -0
- package/examples/referencing-other-vars.ts +83 -0
- package/examples/wait-for-other-deploy.test.ts +11 -0
- package/examples/wait-for-other-deploy.ts +5 -4
- package/examples/workspace-api-www-turbo-cache.test.ts +11 -0
- package/examples/workspace-api-www-turbo-cache.ts +52 -0
- package/examples/workspace-api-www.test.ts +11 -0
- package/examples/workspace-api-www.ts +46 -0
- package/package.json +75 -26
- package/scripts/generate-examples-test.ts +84 -0
- package/scripts/generate-gitlab-ci-types.ts +2 -2
- package/scripts/tsconfig.json +7 -0
- package/src/bash/BashExpression.ts +78 -0
- package/src/bash/bashEscape.ts +158 -0
- package/src/bash/bashExpressionPerPipelineType.ts +16 -0
- package/src/bash/bashYaml.ts +80 -0
- package/src/bash/getInjectVarsScript.ts +21 -0
- package/src/bash/index.ts +2 -0
- package/src/build/artifacts/createBuildJobArtifact.ts +61 -0
- package/src/build/base/__tests__/createArtifactsConfig.test.ts +3 -3
- package/src/build/base/constants.ts +2 -2
- package/src/build/base/createAppBuildJob.ts +40 -24
- package/src/build/base/createArtifactsConfig.ts +2 -2
- package/src/build/base/createBuildJobDefinition.ts +37 -0
- package/src/build/base/index.ts +37 -8
- package/src/build/base/writeBuildInfo.ts +3 -3
- package/src/build/base/writeDotEnv.ts +25 -6
- package/src/build/cache/createJobCache.ts +83 -0
- package/src/build/cache/getAllCacheConfigsFromConfig.ts +28 -0
- package/src/build/cache/transformLegacyJobCache.ts +14 -0
- package/src/build/custom/__tests__/testJob.test.ts +10 -13
- package/src/build/custom/buildJob.ts +11 -37
- package/src/build/custom/index.ts +2 -2
- package/src/build/custom/testJob.ts +24 -22
- package/src/build/docker.ts +145 -49
- package/src/build/index.ts +42 -10
- package/src/build/node/buildJob.ts +65 -62
- package/src/build/node/cache.ts +30 -35
- package/src/build/node/constants.ts +2 -3
- package/src/build/node/index.ts +8 -4
- package/src/build/node/meteor.ts +16 -24
- package/src/build/node/testJob.ts +47 -26
- package/src/build/node/yarn.ts +32 -16
- package/src/build/rails/build.ts +21 -9
- package/src/build/rails/index.ts +2 -2
- package/src/build/rails/test.ts +22 -12
- package/src/build/sbom.ts +15 -10
- package/src/build/types.ts +190 -47
- package/src/catladder-gitlab.ts +7 -56
- package/src/config/__tests__/__snapshots__/getAllEnvs.test.ts.snap +31 -0
- package/src/config/__tests__/__snapshots__/getAllEnvsInAllComponents.test.ts.snap +15 -0
- package/src/config/__tests__/getAllEnvs.test.ts +71 -0
- package/src/config/__tests__/getAllEnvsInAllComponents.test.ts +63 -0
- package/src/config/configruedEnvs.ts +6 -6
- package/src/config/readConfig.ts +15 -22
- package/src/constants.ts +5 -2
- package/src/context/createAllComponentsContext.ts +31 -0
- package/src/context/createComponentContext.ts +134 -0
- package/src/context/createWorkspaceContext.ts +56 -0
- package/src/context/getBuildInfoVariables.ts +36 -0
- package/src/context/getEnvConfig.ts +3 -3
- package/src/context/getEnvType.ts +1 -1
- package/src/context/getEnvironment.ts +8 -24
- package/src/context/getEnvironmentContext.ts +25 -29
- package/src/context/getEnvironmentVariables.ts +104 -76
- package/src/context/getLabels.ts +5 -5
- package/src/context/getReviewSlug.ts +27 -0
- package/src/context/index.ts +1 -65
- package/src/context/transformJobOnlyVars.ts +6 -3
- package/src/context/utils/envVars.ts +5 -4
- package/src/deploy/base/deploy.ts +63 -47
- package/src/deploy/base/index.ts +11 -6
- package/src/deploy/base/rollback.ts +11 -16
- package/src/deploy/base/stop.ts +11 -15
- package/src/deploy/base/variables.ts +1 -2
- package/src/deploy/cloudRun/artifactsRegistry.ts +126 -0
- package/src/deploy/cloudRun/cleanup.ts +30 -0
- package/src/deploy/cloudRun/cloudRunRevisions.ts +65 -0
- package/src/deploy/cloudRun/createJobs/cloudRunJobs.ts +227 -0
- package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +86 -0
- package/src/deploy/cloudRun/createJobs/common.ts +59 -0
- package/src/deploy/cloudRun/createJobs/constants.ts +1 -0
- package/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.ts +71 -0
- package/src/deploy/cloudRun/createJobs/getCloudRunStopScripts.ts +34 -0
- package/src/deploy/cloudRun/createJobs/index.ts +51 -0
- package/src/deploy/cloudRun/createJobs/volumes.ts +23 -0
- package/src/deploy/cloudRun/index.ts +85 -59
- package/src/deploy/cloudRun/utils/createArgsString.ts +21 -13
- package/src/deploy/cloudRun/utils/database.ts +31 -9
- package/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.ts +9 -11
- package/src/deploy/cloudRun/utils/getServiceName.ts +3 -0
- package/src/deploy/cloudRun/utils/jobName.ts +7 -2
- package/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.ts +12 -0
- package/src/deploy/cloudSql/utils.ts +13 -10
- package/src/deploy/custom/deployJob.ts +15 -10
- package/src/deploy/custom/index.ts +2 -2
- package/src/deploy/dockerTag/deployJob.ts +7 -8
- package/src/deploy/dockerTag/index.ts +8 -7
- package/src/deploy/index.ts +15 -12
- package/src/deploy/kubernetes/additionalSecretKeys.ts +3 -1
- package/src/deploy/kubernetes/cloudSql/index.ts +16 -25
- package/src/deploy/kubernetes/deployJob.ts +30 -21
- package/src/deploy/kubernetes/index.ts +43 -35
- package/src/deploy/kubernetes/kubeEnv.ts +12 -10
- package/src/deploy/kubernetes/kubeValues.ts +15 -19
- package/src/deploy/kubernetes/mongodb.ts +15 -15
- package/src/deploy/sbom.ts +18 -10
- package/src/deploy/types/base.ts +3 -3
- package/src/deploy/types/custom.ts +3 -7
- package/src/deploy/types/dockerTag.ts +2 -0
- package/src/deploy/types/googleCloudRun.ts +133 -10
- package/src/deploy/types/index.ts +2 -2
- package/src/deploy/types/kubernetes.ts +5 -36
- package/src/deploy/utils.ts +5 -5
- package/src/globalScriptFunctions/index.ts +30 -0
- package/src/index.ts +4 -1
- package/src/packageInfos.ts +14 -0
- package/src/pipeline/__tests__/__snapshots__/getPipelineStages.test.ts.snap +69 -0
- package/src/pipeline/__tests__/getPipelineStages.test.ts +63 -0
- package/src/pipeline/createAllJobs.ts +67 -33
- package/src/pipeline/createJobsForComponent.ts +10 -38
- package/src/pipeline/createJobsForWorkspace.ts +12 -0
- package/src/pipeline/createMainPipeline.ts +119 -0
- package/src/pipeline/generatePipelineFiles.ts +100 -0
- package/src/pipeline/getPipelineStages.ts +23 -0
- package/src/pipeline/gitlab/createGitlabJobs.ts +388 -108
- package/src/pipeline/gitlab/createGitlabPipeline.ts +35 -0
- package/src/pipeline/gitlab/gitlabReleaseJobs.ts +23 -0
- package/src/pipeline/gitlab/sortGitLabJobDefProps.ts +59 -0
- package/src/pipeline/index.ts +2 -1
- package/src/pipeline/packageManager.ts +44 -26
- package/src/pipeline/yarn/yarnUtils.ts +39 -10
- package/src/rules/index.ts +36 -9
- package/src/runner/index.ts +0 -1
- package/src/types/config.ts +43 -16
- package/src/types/context.ts +165 -37
- package/src/types/environmentContext.ts +18 -13
- package/src/types/gitlab-ci-yml.ts +0 -1
- package/src/types/gitlab-types.ts +10 -7
- package/src/types/index.ts +1 -0
- package/src/types/jobDefinition.ts +34 -0
- package/src/types/jobs.ts +31 -15
- package/src/types/utils.ts +4 -4
- package/src/utils/gitlab.ts +20 -3
- package/src/utils/index.ts +6 -3
- package/src/utils/jsonParse.ts +7 -0
- package/src/utils/removeUndefined.ts +4 -0
- package/src/utils/writeFiles.ts +52 -0
- package/src/variables/VariableValue.ts +6 -0
- package/src/variables/VariableValueContainingReferences.ts +89 -0
- package/src/variables/__tests__/resolveAllReferences.test.ts +110 -0
- package/src/variables/__tests__/resolveAllReferencesOnce.test.ts +64 -0
- package/src/variables/__tests__/resolveReferencesOnce.test.ts +117 -0
- package/src/variables/__tests__/variableValue.test.ts +73 -0
- package/src/variables/resolveAllReferences.ts +46 -0
- package/src/variables/resolveAllReferencesOnce.ts +44 -0
- package/src/variables/resolveReferencesOnce.ts +29 -0
- package/bin/catladder-gitlab-dev.js +0 -3
- package/bin/catladder-gitlab.js +0 -3
- package/dist/bundles/catladder-gitlab/index.js +0 -33838
- package/dist/context/__tests__/resolveReferences.test.js +0 -336
- package/dist/context/resolveReferences.d.ts +0 -4
- package/dist/context/resolveReferences.js +0 -254
- package/dist/deploy/cloudRun/deployJob.d.ts +0 -3
- package/dist/deploy/cloudRun/deployJob.js +0 -248
- package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +0 -84
- package/dist/deploy/kubernetes/processSecretsAsFiles.js +0 -31
- package/dist/pipeline/commitInfo/getBuildId.d.ts +0 -6
- package/dist/pipeline/commitInfo/getCommitInfo.d.ts +0 -2
- package/dist/pipeline/createChildPipeline.d.ts +0 -3
- package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +0 -1780
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +0 -1780
- package/examples/__snapshots__/cloud-run-non-public.ts.snap +0 -1780
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +0 -3532
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +0 -3543
- package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +0 -1656
- package/examples/__snapshots__/custom-build-job.ts.snap +0 -1362
- package/examples/__snapshots__/custom-deploy.ts.snap +0 -1556
- package/examples/__snapshots__/custom-envs.ts.snap +0 -1050
- package/examples/__snapshots__/custom-sbom-java.ts.snap +0 -1370
- package/examples/__snapshots__/kubernetes-application-customization.ts.snap +0 -2468
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +0 -2428
- package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +0 -2440
- package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +0 -4453
- package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +0 -2632
- package/examples/__snapshots__/meteor-kubernetes.ts.snap +0 -2557
- package/examples/__snapshots__/native-app.ts.snap +0 -2878
- package/examples/__snapshots__/node-build-with-custom-image.ts.snap +0 -1780
- package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +0 -4189
- package/examples/__snapshots__/wait-for-other-deploy.ts.snap +0 -1922
- package/examples/kubernetes-with-cloud-sql-legacy.ts +0 -33
- package/scripts/bundle +0 -2
- package/src/context/__tests__/resolveReferences.test.ts +0 -143
- package/src/context/resolveReferences.ts +0 -70
- package/src/deploy/cloudRun/deployJob.ts +0 -301
- package/src/deploy/kubernetes/processSecretsAsFiles.ts +0 -34
- package/src/pipeline/commitInfo/getBuildId.ts +0 -17
- package/src/pipeline/commitInfo/getCommitInfo.ts +0 -15
- package/src/pipeline/createChildPipeline.ts +0 -45
- /package/dist/{context/__tests__/resolveReferences.test.d.ts → config/__tests__/getAllEnvs.test.d.ts} +0 -0
package/src/build/types.ts
CHANGED
|
@@ -1,7 +1,42 @@
|
|
|
1
1
|
import type { Artifacts, EnvVars, GitlabJobImage } from "../types";
|
|
2
2
|
import type { Services } from "../types/gitlab-ci-yml";
|
|
3
3
|
|
|
4
|
-
import type { CatladderJob } from "../types/jobs";
|
|
4
|
+
import type { CatladderJob, CatladderJobCache } from "../types/jobs";
|
|
5
|
+
|
|
6
|
+
export type CacheConfigAdvanced = Omit<CatladderJobCache, "paths" | "key"> & {
|
|
7
|
+
/**
|
|
8
|
+
* if you set a key, the cache is scoped to the key. Be aware that there is a limit in gitlab of 4 caches.
|
|
9
|
+
*
|
|
10
|
+
* see https://gitlab.com/gitlab-org/gitlab/-/issues/421962
|
|
11
|
+
*/
|
|
12
|
+
key: Required<CatladderJobCache>["key"];
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* whether the cache is scoped to the context (component or workspace) or the build directory.
|
|
16
|
+
*
|
|
17
|
+
* defaults to context
|
|
18
|
+
*/
|
|
19
|
+
scope?: "context" | "buildDir" | "global";
|
|
20
|
+
} & CacheConfigSimple;
|
|
21
|
+
|
|
22
|
+
export type CacheConfigSimple = {
|
|
23
|
+
/**
|
|
24
|
+
* paths to cache. All Paths are relative to the context dir.
|
|
25
|
+
*/
|
|
26
|
+
paths: string[];
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* whether paths are relative to the base dir. defaults to relative.
|
|
30
|
+
*/
|
|
31
|
+
pathMode?: "relative" | "absolute";
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* custom base dir
|
|
35
|
+
*/
|
|
36
|
+
baseDir?: string;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export type CacheConfig = CacheConfigSimple | CacheConfigAdvanced;
|
|
5
40
|
|
|
6
41
|
export type BuildConfigArtifactsReports = {
|
|
7
42
|
/**
|
|
@@ -13,6 +48,20 @@ export type BuildConfigArtifactsReports = {
|
|
|
13
48
|
junit?: string[];
|
|
14
49
|
};
|
|
15
50
|
|
|
51
|
+
export type WithCacheConfig = {
|
|
52
|
+
/*
|
|
53
|
+
cache config. All Paths are relative to the context dir.
|
|
54
|
+
*/
|
|
55
|
+
cache?: CacheConfig | CacheConfig[];
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* customize cache for the job
|
|
59
|
+
*
|
|
60
|
+
* @deprecated use cache
|
|
61
|
+
*/
|
|
62
|
+
jobCache?: CatladderJob["cache"];
|
|
63
|
+
};
|
|
64
|
+
|
|
16
65
|
export type TestJobCustom = {
|
|
17
66
|
command?: string | string[];
|
|
18
67
|
jobImage?: GitlabJobImage;
|
|
@@ -40,39 +89,18 @@ export type BuildConfigBase = {
|
|
|
40
89
|
* Can curently not reference other variables from other components
|
|
41
90
|
*/
|
|
42
91
|
jobVars?: EnvVars;
|
|
92
|
+
|
|
43
93
|
/**
|
|
44
|
-
* additional
|
|
94
|
+
* additional vars only for the runner.
|
|
95
|
+
* Also if you use services: that require env vars, you need to set them here.
|
|
45
96
|
*
|
|
46
|
-
* @deprecated use jobVars
|
|
47
97
|
*/
|
|
48
|
-
|
|
98
|
+
runnerVariables?: Record<string, string>;
|
|
49
99
|
/**
|
|
50
100
|
* define the build command
|
|
51
101
|
*/
|
|
52
102
|
buildCommand?: string | string[] | null;
|
|
53
103
|
|
|
54
|
-
/**
|
|
55
|
-
* customize docker build
|
|
56
|
-
*/
|
|
57
|
-
docker?: {
|
|
58
|
-
/**
|
|
59
|
-
* Custom Dockerfile lines integrated in the generated Dockerfile before the standard build steps.
|
|
60
|
-
*
|
|
61
|
-
* - [runner-images/docker-build/scripts/ensureNodeDockerfile](https://git.panter.ch/catladder/catladder/-/tree/main/runner-images/docker-build/scripts/ensureNodeDockerfile)
|
|
62
|
-
* - [runner-images/docker-build/scripts/ensureNginxDockerfile](https://git.panter.ch/catladder/catladder/-/tree/main/runner-images/docker-build/scripts/ensureNginxDockerfile)
|
|
63
|
-
* - [runner-images/docker-build/scripts/ensureMeteorDockerfile](https://git.panter.ch/catladder/catladder/-/tree/main/runner-images/docker-build/scripts/ensureMeteorDockerfile)
|
|
64
|
-
*/
|
|
65
|
-
additionsBegin?: string[];
|
|
66
|
-
/**
|
|
67
|
-
* Custom Dockerfile lines integrated in the generated Dockerfile after the standard build steps.
|
|
68
|
-
*
|
|
69
|
-
* - [runner-images/docker-build/scripts/ensureNodeDockerfile](https://git.panter.ch/catladder/catladder/-/tree/main/runner-images/docker-build/scripts/ensureNodeDockerfile)
|
|
70
|
-
* - [runner-images/docker-build/scripts/ensureNginxDockerfile](https://git.panter.ch/catladder/catladder/-/tree/main/runner-images/docker-build/scripts/ensureNginxDockerfile)
|
|
71
|
-
* - [runner-images/docker-build/scripts/ensureMeteorDockerfile](https://git.panter.ch/catladder/catladder/-/tree/main/runner-images/docker-build/scripts/ensureMeteorDockerfile)
|
|
72
|
-
*/
|
|
73
|
-
additionsEnd?: string[];
|
|
74
|
-
};
|
|
75
|
-
|
|
76
104
|
/**
|
|
77
105
|
* customize lint, set false to disable
|
|
78
106
|
*/
|
|
@@ -102,6 +130,8 @@ export type BuildConfigBase = {
|
|
|
102
130
|
|
|
103
131
|
/**
|
|
104
132
|
* customize cache for the job
|
|
133
|
+
*
|
|
134
|
+
* @deprecated use cache
|
|
105
135
|
*/
|
|
106
136
|
jobCache?: CatladderJob["cache"];
|
|
107
137
|
|
|
@@ -113,7 +143,7 @@ export type BuildConfigBase = {
|
|
|
113
143
|
* custom image to use
|
|
114
144
|
*/
|
|
115
145
|
jobImage?: GitlabJobImage;
|
|
116
|
-
};
|
|
146
|
+
} & WithCacheConfig;
|
|
117
147
|
|
|
118
148
|
export type BuildConfigNodeBase = BuildConfigBase & {
|
|
119
149
|
/**
|
|
@@ -125,11 +155,16 @@ export type BuildConfigNodeBase = BuildConfigBase & {
|
|
|
125
155
|
|
|
126
156
|
export type BuildConfigNode = {
|
|
127
157
|
type: "node";
|
|
158
|
+
docker?: Omit<BuildConfigDockerBuiltInNode, "type"> | BuildConfigDocker;
|
|
128
159
|
} & BuildConfigNodeBase;
|
|
129
160
|
|
|
130
161
|
export type BuildConfigNodeStatic = BuildConfigNodeBase & {
|
|
162
|
+
/**
|
|
163
|
+
* @deprecated use type: "node" and docker: { type: "nginx" } instead
|
|
164
|
+
*/
|
|
131
165
|
type: "node-static";
|
|
132
166
|
startCommand?: never;
|
|
167
|
+
docker?: Omit<BuildConfigDockerBuiltInNgninx, "type"> | BuildConfigDocker;
|
|
133
168
|
};
|
|
134
169
|
|
|
135
170
|
export type BuildConfigMeteor = BuildConfigNodeBase & {
|
|
@@ -139,23 +174,64 @@ export type BuildConfigMeteor = BuildConfigNodeBase & {
|
|
|
139
174
|
* This is only required if you have custom scripts in your image
|
|
140
175
|
*/
|
|
141
176
|
installScripts?: boolean;
|
|
177
|
+
docker?: Omit<BuildConfigDockerBuiltInMeteor, "type"> | BuildConfigDocker;
|
|
142
178
|
};
|
|
143
179
|
|
|
144
|
-
export type
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
180
|
+
export type BuildConfigNodeLike =
|
|
181
|
+
| BuildConfigNode
|
|
182
|
+
| BuildConfigNodeStatic
|
|
183
|
+
| BuildConfigStorybook
|
|
184
|
+
| BuildConfigMeteor;
|
|
185
|
+
|
|
186
|
+
type BuildConfigDockerWithAdditions = {
|
|
187
|
+
/**
|
|
188
|
+
* Custom Dockerfile lines integrated in the generated Dockerfile before the standard build steps.
|
|
189
|
+
*
|
|
190
|
+
*/
|
|
191
|
+
additionsBegin?: string[];
|
|
192
|
+
/**
|
|
193
|
+
* Custom Dockerfile lines integrated in the generated Dockerfile after the standard build steps.
|
|
194
|
+
*
|
|
195
|
+
*/
|
|
196
|
+
additionsEnd?: string[];
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
type BuildConfigDockerBuiltInNode = {
|
|
200
|
+
type: "node";
|
|
201
|
+
} & BuildConfigDockerWithAdditions;
|
|
202
|
+
|
|
203
|
+
type BuildConfigDockerBuiltInMeteor = {
|
|
204
|
+
type: "meteor";
|
|
205
|
+
} & BuildConfigDockerWithAdditions;
|
|
206
|
+
|
|
207
|
+
type BuildConfigDockerBuiltInNgninx = {
|
|
208
|
+
/**
|
|
209
|
+
* use the built-in nginx image for simple static apps
|
|
210
|
+
*/
|
|
211
|
+
type: "nginx";
|
|
212
|
+
} & BuildConfigDockerWithAdditions;
|
|
213
|
+
type BuildConfigDockerBuiltIn =
|
|
214
|
+
| BuildConfigDockerBuiltInNgninx
|
|
215
|
+
| BuildConfigDockerBuiltInNode
|
|
216
|
+
| BuildConfigDockerBuiltInMeteor;
|
|
217
|
+
|
|
218
|
+
type BuildConfigDockerCustom = {
|
|
219
|
+
/**
|
|
220
|
+
* custom docker build, expect that a Dockerfile in your directory
|
|
221
|
+
*/
|
|
222
|
+
type: "custom";
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* where to run the docker build, defaults to the root of the repo.
|
|
226
|
+
*
|
|
227
|
+
* Depending on your Dockerfile you may want to change it to "component"
|
|
228
|
+
*/
|
|
229
|
+
buildContextLocation?: "root" | "component";
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
export type BuildConfigDocker =
|
|
233
|
+
| BuildConfigDockerBuiltIn
|
|
234
|
+
| BuildConfigDockerCustom;
|
|
159
235
|
|
|
160
236
|
export type BuildConfigCustom = Omit<
|
|
161
237
|
BuildConfigBase,
|
|
@@ -168,7 +244,7 @@ export type BuildConfigCustom = Omit<
|
|
|
168
244
|
*/
|
|
169
245
|
jobServices?: Services;
|
|
170
246
|
|
|
171
|
-
docker:
|
|
247
|
+
docker: BuildConfigDocker;
|
|
172
248
|
|
|
173
249
|
/**
|
|
174
250
|
* custom lint, disabled when not set
|
|
@@ -236,10 +312,24 @@ export type BuildConfigRails = BuildConfigBase & {
|
|
|
236
312
|
};
|
|
237
313
|
|
|
238
314
|
export type BuildConfigStorybook = BuildConfigNodeBase & {
|
|
315
|
+
/**
|
|
316
|
+
* @deprecated use type: "node" and docker: { type: "nginx" } instead
|
|
317
|
+
*/
|
|
239
318
|
type: "storybook";
|
|
240
319
|
startCommand?: never;
|
|
241
320
|
};
|
|
242
|
-
|
|
321
|
+
|
|
322
|
+
export type BuildConfigFromWorkspace = {
|
|
323
|
+
from: string;
|
|
324
|
+
docker?: BuildConfigDocker;
|
|
325
|
+
startCommand?: string;
|
|
326
|
+
/**
|
|
327
|
+
* additional paths for artifacts,
|
|
328
|
+
* by default "dist" and ".next" are allways included
|
|
329
|
+
*/
|
|
330
|
+
artifactsPaths?: string[];
|
|
331
|
+
} & WithCacheConfig;
|
|
332
|
+
export type BuildConfigStandalone =
|
|
243
333
|
| BuildConfigNode
|
|
244
334
|
| BuildConfigNodeStatic
|
|
245
335
|
| BuildConfigStorybook
|
|
@@ -247,16 +337,69 @@ export type BuildConfig =
|
|
|
247
337
|
| BuildConfigCustom
|
|
248
338
|
| BuildConfigRails;
|
|
249
339
|
|
|
250
|
-
export type
|
|
340
|
+
export type BuildConfig = BuildConfigFromWorkspace | BuildConfigStandalone;
|
|
341
|
+
|
|
342
|
+
export type BuildConfigStandaloneType = BuildConfigStandalone["type"];
|
|
251
343
|
|
|
252
|
-
export type BuildConfigGeneric<T extends
|
|
344
|
+
export type BuildConfigGeneric<T extends BuildConfigStandaloneType> = Extract<
|
|
253
345
|
BuildConfig,
|
|
254
346
|
{ type: T }
|
|
255
347
|
>;
|
|
256
348
|
|
|
257
|
-
export const
|
|
349
|
+
export const isStandaloneBuildConfig = (
|
|
350
|
+
t: BuildConfig | false,
|
|
351
|
+
): t is BuildConfigStandalone => {
|
|
352
|
+
if (!t) return false;
|
|
353
|
+
return !("from" in t);
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
export const isOfBuildType = <T extends Array<BuildConfigStandaloneType>>(
|
|
258
357
|
t: BuildConfig,
|
|
259
358
|
...types: T
|
|
260
359
|
): t is Extract<BuildConfig, { type: T[number] }> => {
|
|
360
|
+
if (!isStandaloneBuildConfig(t)) return false;
|
|
261
361
|
return types.includes(t.type);
|
|
262
362
|
};
|
|
363
|
+
|
|
364
|
+
export type WorkspaceBuildConfigBase = {
|
|
365
|
+
dir?: string;
|
|
366
|
+
/**
|
|
367
|
+
* customize lint, set false to disable
|
|
368
|
+
*/
|
|
369
|
+
lint?: false | TestJobCustom;
|
|
370
|
+
|
|
371
|
+
/**
|
|
372
|
+
* customize test, set false to disable
|
|
373
|
+
*/
|
|
374
|
+
test?: false | TestJobCustom;
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* customize audit, set false to disable
|
|
378
|
+
*/
|
|
379
|
+
audit?: false | TestJobCustom;
|
|
380
|
+
/**
|
|
381
|
+
* additional vars only for the runner.
|
|
382
|
+
* Also if you use services: that require env vars, you need to set them here.
|
|
383
|
+
*
|
|
384
|
+
*/
|
|
385
|
+
runnerVariables?: Record<string, string>;
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* additional CI/CD artifacts reports,
|
|
389
|
+
* use to display information in merge requests, pipeline views and security dashboards.
|
|
390
|
+
*/
|
|
391
|
+
artifactsReports?: BuildConfigArtifactsReports;
|
|
392
|
+
|
|
393
|
+
jobImage?: GitlabJobImage;
|
|
394
|
+
/**
|
|
395
|
+
* tags for the underlying job runner (e.g gitlab)
|
|
396
|
+
*/
|
|
397
|
+
jobTags?: string[];
|
|
398
|
+
} & WithCacheConfig;
|
|
399
|
+
|
|
400
|
+
export type WorkspaceBuildConfigNode = {
|
|
401
|
+
type: "node";
|
|
402
|
+
buildCommand?: string | string[];
|
|
403
|
+
} & WorkspaceBuildConfigBase;
|
|
404
|
+
|
|
405
|
+
export type WorkspaceBuildConfig = WorkspaceBuildConfigNode;
|
package/src/catladder-gitlab.ts
CHANGED
|
@@ -1,59 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { readConfigSync } from "./config";
|
|
4
|
-
import { PIPELINE_IMAGE_TAG } from "./constants";
|
|
5
|
-
import { createChildPipeline } from "./pipeline";
|
|
6
|
-
import type { PipelineTrigger } from "./types";
|
|
1
|
+
import { readConfig } from "./config";
|
|
2
|
+
import { generatePipelineFiles } from "./pipeline/generatePipelineFiles";
|
|
7
3
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
CI_COMMIT_TAG,
|
|
11
|
-
CI_COMMIT_BRANCH,
|
|
12
|
-
CI_DEFAULT_BRANCH,
|
|
13
|
-
} = process.env;
|
|
14
|
-
|
|
15
|
-
const isDefaultBranch =
|
|
16
|
-
Boolean(CI_DEFAULT_BRANCH) && CI_COMMIT_BRANCH === CI_DEFAULT_BRANCH;
|
|
17
|
-
const isHotfixBranch = CI_COMMIT_BRANCH
|
|
18
|
-
? /^[0-9]+\.([0-9]+|x)\.x$/.test(CI_COMMIT_BRANCH)
|
|
19
|
-
: false;
|
|
20
|
-
const isMergeRequest = Boolean(CI_MERGE_REQUEST_ID);
|
|
21
|
-
const isTaggedRelease = Boolean(CI_COMMIT_TAG);
|
|
22
|
-
|
|
23
|
-
console.info(`catladder version ${PIPELINE_IMAGE_TAG}`);
|
|
24
|
-
|
|
25
|
-
const trigger: PipelineTrigger | null =
|
|
26
|
-
isMergeRequest || isHotfixBranch
|
|
27
|
-
? "mr"
|
|
28
|
-
: isDefaultBranch
|
|
29
|
-
? "mainBranch"
|
|
30
|
-
: isTaggedRelease
|
|
31
|
-
? "taggedRelease"
|
|
32
|
-
: null;
|
|
33
|
-
if (trigger) {
|
|
34
|
-
const config = readConfigSync()?.config;
|
|
35
|
-
if (!config) {
|
|
4
|
+
readConfig().then(async (result) => {
|
|
5
|
+
if (!result?.config) {
|
|
36
6
|
throw new Error("no catladder config found");
|
|
37
7
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
writeFileSync(`__pipeline.yml`, dump({ ...jobs, ...mainPipeline }), {
|
|
42
|
-
encoding: "utf-8",
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
);
|
|
46
|
-
} else {
|
|
47
|
-
throw new Error(
|
|
48
|
-
"no matching trigger: " +
|
|
49
|
-
JSON.stringify(
|
|
50
|
-
{
|
|
51
|
-
isMergeRequest,
|
|
52
|
-
isDefaultBranch,
|
|
53
|
-
isTaggedRelease,
|
|
54
|
-
},
|
|
55
|
-
null,
|
|
56
|
-
2
|
|
57
|
-
)
|
|
58
|
-
);
|
|
59
|
-
}
|
|
8
|
+
|
|
9
|
+
await generatePipelineFiles(result.config, "gitlab");
|
|
10
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`getAllEnvs() should return all envs for app1 1`] = `
|
|
4
|
+
[
|
|
5
|
+
"dev",
|
|
6
|
+
"review",
|
|
7
|
+
"stage",
|
|
8
|
+
"prod",
|
|
9
|
+
"local",
|
|
10
|
+
]
|
|
11
|
+
`;
|
|
12
|
+
|
|
13
|
+
exports[`getAllEnvs() should return all envs for app2 1`] = `
|
|
14
|
+
[
|
|
15
|
+
"dev",
|
|
16
|
+
"review",
|
|
17
|
+
"stage",
|
|
18
|
+
"prod",
|
|
19
|
+
"local",
|
|
20
|
+
"dev2",
|
|
21
|
+
"review2",
|
|
22
|
+
"stage2",
|
|
23
|
+
"prod2",
|
|
24
|
+
]
|
|
25
|
+
`;
|
|
26
|
+
|
|
27
|
+
exports[`getAllEnvs() should return all envs for app3 1`] = `
|
|
28
|
+
[
|
|
29
|
+
"local",
|
|
30
|
+
]
|
|
31
|
+
`;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`getAllEnvsInAllComponents() should return all envs for SIMPLE_CONFIG1 1`] = `
|
|
4
|
+
[
|
|
5
|
+
"dev",
|
|
6
|
+
"review",
|
|
7
|
+
"stage",
|
|
8
|
+
"prod",
|
|
9
|
+
"local",
|
|
10
|
+
"dev2",
|
|
11
|
+
"review2",
|
|
12
|
+
"stage2",
|
|
13
|
+
"prod2",
|
|
14
|
+
]
|
|
15
|
+
`;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { type DeployConfigKubernetesCluster } from "../..";
|
|
2
|
+
import type { Config } from "../../types";
|
|
3
|
+
import { getAllEnvs } from "../configruedEnvs";
|
|
4
|
+
|
|
5
|
+
describe("getAllEnvs()", () => {
|
|
6
|
+
const cluster: DeployConfigKubernetesCluster = {
|
|
7
|
+
type: "gcloud",
|
|
8
|
+
name: "mega-cluster",
|
|
9
|
+
projectId: "super-google-project",
|
|
10
|
+
region: "ch-blabla",
|
|
11
|
+
};
|
|
12
|
+
const SIMPLE_CONFIG: Config = {
|
|
13
|
+
appName: "my-app",
|
|
14
|
+
customerName: "pan",
|
|
15
|
+
components: {
|
|
16
|
+
app1: {
|
|
17
|
+
dir: "dir1",
|
|
18
|
+
build: {
|
|
19
|
+
type: "node",
|
|
20
|
+
},
|
|
21
|
+
deploy: { type: "kubernetes", cluster },
|
|
22
|
+
},
|
|
23
|
+
app2: {
|
|
24
|
+
dir: "dir2",
|
|
25
|
+
build: {
|
|
26
|
+
type: "node",
|
|
27
|
+
},
|
|
28
|
+
deploy: { type: "kubernetes", cluster },
|
|
29
|
+
env: {
|
|
30
|
+
dev2: {
|
|
31
|
+
type: "dev",
|
|
32
|
+
},
|
|
33
|
+
review2: {
|
|
34
|
+
type: "review",
|
|
35
|
+
},
|
|
36
|
+
stage2: {
|
|
37
|
+
type: "stage",
|
|
38
|
+
},
|
|
39
|
+
prod2: {
|
|
40
|
+
type: "prod",
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
app3: {
|
|
45
|
+
dir: "dir2",
|
|
46
|
+
build: {
|
|
47
|
+
type: "node",
|
|
48
|
+
},
|
|
49
|
+
deploy: { type: "kubernetes", cluster },
|
|
50
|
+
env: {
|
|
51
|
+
dev: false,
|
|
52
|
+
review: false,
|
|
53
|
+
stage: false,
|
|
54
|
+
prod: false,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
it("should return all envs for app1", () => {
|
|
61
|
+
expect(getAllEnvs(SIMPLE_CONFIG, "app1")).toMatchSnapshot();
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
it("should return all envs for app2", () => {
|
|
65
|
+
expect(getAllEnvs(SIMPLE_CONFIG, "app2")).toMatchSnapshot();
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it("should return all envs for app3", () => {
|
|
69
|
+
expect(getAllEnvs(SIMPLE_CONFIG, "app3")).toMatchSnapshot();
|
|
70
|
+
});
|
|
71
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { type DeployConfigKubernetesCluster } from "../..";
|
|
2
|
+
import type { Config } from "../../types";
|
|
3
|
+
import { getAllEnvsInAllComponents } from "../configruedEnvs";
|
|
4
|
+
|
|
5
|
+
describe("getAllEnvsInAllComponents()", () => {
|
|
6
|
+
const cluster: DeployConfigKubernetesCluster = {
|
|
7
|
+
type: "gcloud",
|
|
8
|
+
name: "mega-cluster",
|
|
9
|
+
projectId: "super-google-project",
|
|
10
|
+
region: "ch-blabla",
|
|
11
|
+
};
|
|
12
|
+
const SIMPLE_CONFIG1: Config = {
|
|
13
|
+
appName: "my-app",
|
|
14
|
+
customerName: "pan",
|
|
15
|
+
components: {
|
|
16
|
+
app1: {
|
|
17
|
+
dir: "dir1",
|
|
18
|
+
build: {
|
|
19
|
+
type: "node",
|
|
20
|
+
},
|
|
21
|
+
deploy: { type: "kubernetes", cluster },
|
|
22
|
+
},
|
|
23
|
+
app2: {
|
|
24
|
+
dir: "dir2",
|
|
25
|
+
build: {
|
|
26
|
+
type: "node",
|
|
27
|
+
},
|
|
28
|
+
deploy: { type: "kubernetes", cluster },
|
|
29
|
+
env: {
|
|
30
|
+
dev2: {
|
|
31
|
+
type: "dev",
|
|
32
|
+
},
|
|
33
|
+
review2: {
|
|
34
|
+
type: "review",
|
|
35
|
+
},
|
|
36
|
+
stage2: {
|
|
37
|
+
type: "stage",
|
|
38
|
+
},
|
|
39
|
+
prod2: {
|
|
40
|
+
type: "prod",
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
app3: {
|
|
45
|
+
dir: "dir2",
|
|
46
|
+
build: {
|
|
47
|
+
type: "node",
|
|
48
|
+
},
|
|
49
|
+
deploy: { type: "kubernetes", cluster },
|
|
50
|
+
env: {
|
|
51
|
+
dev: false,
|
|
52
|
+
review: false,
|
|
53
|
+
stage: false,
|
|
54
|
+
prod: false,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
it("should return all envs for SIMPLE_CONFIG1", () => {
|
|
61
|
+
expect(getAllEnvsInAllComponents(SIMPLE_CONFIG1)).toMatchSnapshot();
|
|
62
|
+
});
|
|
63
|
+
});
|
|
@@ -4,25 +4,25 @@ import { DEFAULT_ENV_TYPES, getEnvTypesByTrigger } from "../types";
|
|
|
4
4
|
const getConfiguredAndDefaultEnvs = (
|
|
5
5
|
config: Config,
|
|
6
6
|
componentName: string,
|
|
7
|
-
envTypes: EnvType[]
|
|
7
|
+
envTypes: EnvType[],
|
|
8
8
|
) => {
|
|
9
9
|
const configuredEnvs = config.components[componentName].env ?? {};
|
|
10
10
|
// the default envs have the same name as the env types
|
|
11
11
|
// these can be disabled with settimg them to `false`
|
|
12
12
|
// this is the list of all not disabled envs. These are always returned
|
|
13
13
|
const enabledDefaultEnvs = envTypes.filter(
|
|
14
|
-
(e) => configuredEnvs[e] !== false
|
|
14
|
+
(e) => configuredEnvs[e] !== false,
|
|
15
15
|
);
|
|
16
16
|
|
|
17
17
|
const configuredCustomEnvs = Object.entries(
|
|
18
|
-
config.components[componentName].env ?? {}
|
|
18
|
+
config.components[componentName].env ?? {},
|
|
19
19
|
)
|
|
20
20
|
.filter(
|
|
21
21
|
([, config]) =>
|
|
22
22
|
config &&
|
|
23
23
|
"type" in config &&
|
|
24
24
|
config.type &&
|
|
25
|
-
envTypes.includes(config.type)
|
|
25
|
+
envTypes.includes(config.type),
|
|
26
26
|
)
|
|
27
27
|
.map(([envName]) => envName);
|
|
28
28
|
|
|
@@ -36,7 +36,7 @@ export const getAllEnvs = (config: Config, componentName: string) => {
|
|
|
36
36
|
export const getAllEnvsInAllComponents = (config: Config) => {
|
|
37
37
|
return [
|
|
38
38
|
...new Set(
|
|
39
|
-
Object.keys(config.components).flatMap((c) => getAllEnvs(config, c))
|
|
39
|
+
Object.keys(config.components).flatMap((c) => getAllEnvs(config, c)),
|
|
40
40
|
),
|
|
41
41
|
];
|
|
42
42
|
};
|
|
@@ -44,7 +44,7 @@ export const getAllEnvsInAllComponents = (config: Config) => {
|
|
|
44
44
|
export const getAllEnvsByTrigger = (
|
|
45
45
|
config: Config,
|
|
46
46
|
componentName: string,
|
|
47
|
-
trigger: PipelineTrigger
|
|
47
|
+
trigger: PipelineTrigger,
|
|
48
48
|
) => {
|
|
49
49
|
const envTypesByTrigger = getEnvTypesByTrigger(trigger);
|
|
50
50
|
return getConfiguredAndDefaultEnvs(config, componentName, envTypesByTrigger);
|
package/src/config/readConfig.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "fs";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
const tsx = require("tsx/cjs/api");
|
|
4
|
+
|
|
5
|
+
import { parse } from "yaml";
|
|
4
6
|
import type { Config } from "../types";
|
|
5
7
|
|
|
6
8
|
// allows us to load ts files
|
|
@@ -8,39 +10,30 @@ import type { Config } from "../types";
|
|
|
8
10
|
const fullPath = (directory: string, ext: string) =>
|
|
9
11
|
directory + "/catladder." + ext;
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export const readConfigSync = (
|
|
17
|
-
directory: string = process.cwd()
|
|
18
|
-
): { config: Config; path: string; ext: string } | null => {
|
|
19
|
-
register({
|
|
20
|
-
cwd: directory,
|
|
21
|
-
transpileOnly: true,
|
|
22
|
-
compilerOptions: {
|
|
23
|
-
module: "commonjs",
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
|
|
13
|
+
export const readConfig = async (
|
|
14
|
+
directory: string = process.cwd(),
|
|
15
|
+
): Promise<{ config: Config; path: string; ext: string } | null> => {
|
|
27
16
|
const found = ["ts", "js", "yml", "yaml"].find((extension) =>
|
|
28
|
-
existsSync(fullPath(directory, extension))
|
|
17
|
+
existsSync(fullPath(directory, extension)),
|
|
29
18
|
);
|
|
19
|
+
|
|
30
20
|
if (found) {
|
|
31
21
|
const filePath = fullPath(directory, found);
|
|
32
22
|
if (found === "ts" || found === "js") {
|
|
23
|
+
const result = await tsx.require(filePath, directory);
|
|
24
|
+
|
|
25
|
+
// weird: if target project is esm, result is under result.default, but if its commonjs, its under result.default.default
|
|
26
|
+
const config = result.default.default || result.default;
|
|
33
27
|
return {
|
|
34
28
|
path: filePath,
|
|
35
29
|
ext: found,
|
|
36
|
-
|
|
37
|
-
config: requireUncached(filePath).default,
|
|
30
|
+
config,
|
|
38
31
|
};
|
|
39
32
|
} else {
|
|
40
33
|
return {
|
|
41
34
|
path: filePath,
|
|
42
35
|
ext: found,
|
|
43
|
-
config:
|
|
36
|
+
config: parse(readFileSync(filePath, { encoding: "utf-8" })) as Config,
|
|
44
37
|
};
|
|
45
38
|
}
|
|
46
39
|
}
|
package/src/constants.ts
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
export const PIPELINE_IMAGE_TAG =
|
|
2
|
-
|
|
1
|
+
export const PIPELINE_IMAGE_TAG =
|
|
2
|
+
process.env.INLINE_PIPELINE_IMAGE_TAG || "latest";
|
|
3
|
+
export const DOCKER_REGISTRY =
|
|
4
|
+
process.env.INLINE_DOCKER_REGISTRY ||
|
|
5
|
+
"git.panter.ch:5001/catladder/catladder";
|