@catladder/pipeline 0.0.0-node16-ddfae617 → 0.0.0-perf-cli-reduce-bundle-size-with-tsconfig-optimization-3556aaa4
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/bin/catladder-gitlab-dev.js +3 -0
- package/bin/catladder-gitlab.js +1 -1
- package/dist/bash/BashExpression.d.ts +40 -0
- package/dist/bash/BashExpression.js +124 -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 +46 -0
- package/dist/bash/getInjectVarsScript.d.ts +2 -0
- package/dist/bash/getInjectVarsScript.js +45 -0
- package/dist/bash/replaceAsync.d.ts +2 -0
- package/dist/bash/replaceAsync.js +171 -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 +42 -0
- package/dist/build/base/constants.d.ts +0 -1
- package/dist/build/base/constants.js +4 -3
- package/dist/build/base/createAppBuildJob.d.ts +9 -0
- package/dist/build/base/createAppBuildJob.js +87 -0
- package/dist/build/base/createArtifactsConfig.d.ts +4 -0
- package/dist/build/base/createArtifactsConfig.js +65 -0
- package/dist/build/base/index.d.ts +12 -0
- package/dist/build/base/index.js +68 -0
- package/dist/build/base/writeBuildInfo.d.ts +2 -0
- package/dist/build/base/writeBuildInfo.js +10 -0
- package/dist/build/base/writeDotEnv.d.ts +8 -0
- package/dist/build/base/writeDotEnv.js +66 -0
- package/dist/build/custom/__tests__/testJob.test.js +36 -0
- package/dist/build/custom/buildJob.d.ts +3 -0
- package/dist/build/custom/buildJob.js +67 -0
- package/dist/build/custom/index.d.ts +3 -0
- package/dist/build/custom/index.js +43 -0
- package/dist/build/custom/testJob.d.ts +7 -0
- package/dist/build/custom/testJob.js +100 -0
- package/dist/build/docker.d.ts +61 -22
- package/dist/build/docker.js +110 -73
- package/dist/build/index.d.ts +16 -8
- package/dist/build/index.js +61 -19
- package/dist/build/node/buildJob.d.ts +8 -3
- package/dist/build/node/buildJob.js +48 -68
- package/dist/build/node/cache.d.ts +4 -3
- package/dist/build/node/cache.js +45 -32
- package/dist/build/node/constants.d.ts +0 -1
- package/dist/build/node/constants.js +5 -4
- package/dist/build/node/index.d.ts +5 -5
- package/dist/build/node/index.js +6 -17
- package/dist/build/node/meteor.d.ts +3 -3
- package/dist/build/node/meteor.js +26 -37
- package/dist/build/node/testJob.d.ts +4 -3
- package/dist/build/node/testJob.js +35 -36
- package/dist/build/node/yarn.d.ts +6 -6
- package/dist/build/node/yarn.js +40 -25
- package/dist/build/rails/build.d.ts +3 -0
- package/dist/build/rails/build.js +90 -0
- package/dist/build/rails/index.d.ts +3 -0
- package/dist/build/rails/index.js +43 -0
- package/dist/build/rails/test.d.ts +3 -0
- package/dist/build/rails/test.js +103 -0
- package/dist/build/sbom.d.ts +5 -0
- package/dist/build/sbom.js +32 -0
- package/dist/build/types.d.ts +251 -33
- package/dist/build/types.js +10 -6
- package/dist/bundles/catladder-gitlab/index.js +41626 -0
- package/dist/catladder-gitlab.js +130 -68
- package/dist/config/{configruedEnvs.test.js → __tests__/configruedEnvs.test.js} +13 -13
- 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.d.ts +1 -1
- package/dist/config/configruedEnvs.js +10 -23
- package/dist/config/index.js +13 -11
- package/dist/config/readConfig.d.ts +3 -3
- package/dist/config/readConfig.js +193 -52
- package/dist/constants.js +5 -3
- package/dist/context/__tests__/resolveReferences.test.d.ts +1 -0
- package/dist/context/__tests__/resolveReferences.test.js +368 -0
- package/dist/context/createAllComponentsContext.d.ts +12 -0
- package/dist/context/createAllComponentsContext.js +159 -0
- package/dist/context/createComponentContext.d.ts +11 -0
- package/dist/context/createComponentContext.js +256 -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.d.ts +2 -0
- package/dist/context/getEnvConfig.js +20 -0
- package/dist/context/getEnvType.d.ts +4 -0
- package/dist/context/getEnvType.js +15 -0
- package/dist/context/getEnvironment.d.ts +3 -0
- package/dist/{pipeline/createChildPipeline.test.js → context/getEnvironment.js} +50 -86
- package/dist/context/getEnvironmentContext.d.ts +8 -0
- package/dist/context/getEnvironmentContext.js +43 -0
- package/dist/context/getEnvironmentVariables.d.ts +27 -0
- package/dist/context/getEnvironmentVariables.js +285 -0
- package/dist/context/getLabels.d.ts +9 -0
- package/dist/context/getLabels.js +41 -0
- package/dist/context/getReviewSlug.d.ts +4 -0
- package/dist/context/getReviewSlug.js +22 -0
- package/dist/context/index.d.ts +3 -6
- package/dist/context/index.js +22 -219
- package/dist/context/resolveReferences.d.ts +3 -3
- package/dist/context/resolveReferences.js +248 -55
- package/dist/context/transformJobOnlyVars.d.ts +13 -0
- package/dist/{build/tests/storybook.test.js → context/transformJobOnlyVars.js} +54 -106
- package/dist/context/utils/envVars.d.ts +8 -0
- package/dist/context/utils/envVars.js +55 -0
- package/dist/defaults/index.d.ts +1 -1
- package/dist/defaults/index.js +3 -1
- package/dist/deploy/base/deploy.d.ts +5 -0
- package/dist/deploy/base/deploy.js +121 -0
- package/dist/deploy/base/index.d.ts +10 -0
- package/dist/deploy/base/index.js +44 -0
- package/dist/deploy/base/rollback.d.ts +5 -0
- package/dist/deploy/base/rollback.js +41 -0
- package/dist/deploy/base/stop.d.ts +5 -0
- package/dist/deploy/base/stop.js +46 -0
- package/dist/deploy/base/types.d.ts +2 -0
- package/dist/deploy/base/types.js +5 -0
- package/dist/deploy/base/variables.d.ts +5 -0
- package/dist/deploy/base/variables.js +11 -0
- 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 +187 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunServices.d.ts +4 -0
- package/dist/deploy/cloudRun/createJobs/cloudRunServices.js +93 -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 +58 -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 +4 -0
- package/dist/deploy/cloudRun/index.js +128 -0
- package/dist/deploy/cloudRun/utils/createArgsString.d.ts +13 -0
- package/dist/deploy/cloudRun/utils/createArgsString.js +63 -0
- package/dist/deploy/cloudRun/utils/database.d.ts +6 -0
- package/dist/deploy/cloudRun/utils/database.js +77 -0
- package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.d.ts +2 -0
- package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +12 -0
- 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 -0
- package/dist/deploy/cloudRun/utils/jobName.js +10 -0
- 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 +4 -0
- package/dist/deploy/cloudSql/utils.js +14 -0
- package/dist/deploy/custom/deployJob.d.ts +3 -3
- package/dist/deploy/custom/deployJob.js +28 -25
- package/dist/deploy/custom/index.d.ts +2 -1
- package/dist/deploy/custom/index.js +16 -19
- package/dist/deploy/dockerTag/deployJob.d.ts +3 -0
- package/dist/deploy/dockerTag/deployJob.js +65 -0
- package/dist/deploy/dockerTag/index.d.ts +2 -0
- package/dist/deploy/dockerTag/index.js +19 -0
- package/dist/deploy/index.d.ts +15 -9
- package/dist/deploy/index.js +20 -27
- package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +8 -0
- package/dist/deploy/kubernetes/additionalSecretKeys.js +30 -0
- package/dist/deploy/kubernetes/cloudSql/index.d.ts +14 -0
- package/dist/deploy/kubernetes/cloudSql/index.js +55 -0
- package/dist/deploy/kubernetes/deployJob.d.ts +3 -3
- package/dist/deploy/kubernetes/deployJob.js +43 -124
- package/dist/deploy/kubernetes/index.d.ts +3 -1
- package/dist/deploy/kubernetes/index.js +86 -11
- package/dist/deploy/kubernetes/kubeEnv.d.ts +10 -0
- package/dist/deploy/kubernetes/kubeEnv.js +76 -0
- package/dist/deploy/kubernetes/kubeValues.d.ts +90 -0
- package/dist/deploy/kubernetes/kubeValues.js +123 -0
- package/dist/deploy/kubernetes/mongodb.d.ts +19 -6
- package/dist/deploy/kubernetes/mongodb.js +100 -11
- package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +27 -29
- package/dist/deploy/kubernetes/processSecretsAsFiles.js +5 -11
- package/dist/deploy/sbom.d.ts +4 -0
- package/dist/deploy/sbom.js +20 -0
- package/dist/deploy/types/base.d.ts +36 -0
- package/dist/deploy/types/base.js +5 -0
- package/dist/deploy/types/custom.d.ts +33 -0
- package/dist/deploy/types/custom.js +5 -0
- package/dist/deploy/types/dockerTag.d.ts +12 -0
- package/dist/deploy/types/dockerTag.js +5 -0
- package/dist/deploy/types/googleCloudRun.d.ts +208 -0
- package/dist/deploy/types/googleCloudRun.js +5 -0
- package/dist/deploy/types/index.d.ts +22 -0
- package/dist/deploy/types/index.js +37 -0
- package/dist/deploy/types/kubernetes.d.ts +355 -0
- package/dist/deploy/types/kubernetes.js +5 -0
- package/dist/deploy/utils.d.ts +3 -3
- package/dist/deploy/utils.js +8 -12
- package/dist/index.d.ts +3 -2
- package/dist/index.js +16 -19
- 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 +18 -0
- package/dist/pipeline/createAllJobs.js +236 -0
- package/dist/pipeline/createChildPipeline.d.ts +3 -3
- package/dist/pipeline/createChildPipeline.js +45 -157
- package/dist/pipeline/createJobsForComponent.d.ts +3 -0
- package/dist/{build/base/createBuildJob.js → pipeline/createJobsForComponent.js} +32 -51
- 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 +269 -0
- package/dist/pipeline/generatePipelineFiles.d.ts +40 -0
- package/dist/pipeline/generatePipelineFiles.js +240 -0
- package/dist/pipeline/getPipelineStages.d.ts +7 -0
- package/dist/pipeline/getPipelineStages.js +56 -0
- package/dist/pipeline/gitlab/createGitlabJobs.d.ts +11 -0
- package/dist/pipeline/gitlab/createGitlabJobs.js +461 -0
- package/dist/pipeline/gitlab/createGitlabPipeline.d.ts +8 -0
- package/dist/pipeline/gitlab/createGitlabPipeline.js +41 -0
- package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.d.ts +1 -0
- package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.js +29 -0
- package/dist/pipeline/gitlab/gitlabReleaseJobs.d.ts +35 -0
- package/dist/pipeline/gitlab/gitlabReleaseJobs.js +27 -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 -1
- package/dist/pipeline/index.js +16 -12
- package/dist/pipeline/packageManager.d.ts +3 -2
- package/dist/pipeline/packageManager.js +69 -196
- package/dist/pipeline/yarn/yarnUtils.d.ts +5 -0
- package/dist/pipeline/yarn/yarnUtils.js +241 -0
- package/dist/rules/index.d.ts +10 -2
- package/dist/rules/index.js +36 -16
- package/dist/runner/index.d.ts +2 -3
- package/dist/runner/index.js +3 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +56 -32
- package/dist/types/config.js +11 -18
- package/dist/types/context.d.ts +143 -27
- package/dist/types/context.js +12 -1
- package/dist/types/environmentContext.d.ts +31 -0
- package/dist/types/environmentContext.js +5 -0
- package/dist/types/gitlab-ci-yml.d.ts +769 -0
- package/dist/types/gitlab-ci-yml.js +10 -0
- package/dist/types/gitlab-types.d.ts +12 -60
- package/dist/types/gitlab-types.js +3 -1
- package/dist/types/index.js +13 -13
- package/dist/types/jobs.d.ts +55 -21
- package/dist/types/jobs.js +4 -2
- package/dist/types/pipeline.d.ts +5 -4
- package/dist/types/pipeline.js +3 -1
- package/dist/types/utils.d.ts +1 -0
- package/dist/types/utils.js +5 -0
- package/dist/utils/gitlab.d.ts +6 -0
- package/dist/utils/gitlab.js +56 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +8 -16
- 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/utils/writeFiles.js +180 -0
- package/examples/.test-gen-ignore +1 -0
- package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +3260 -0
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +3404 -0
- package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +3322 -0
- package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +3388 -0
- package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +2900 -0
- package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +3300 -0
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +6760 -0
- package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +6030 -0
- package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +3316 -0
- package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +2983 -0
- package/examples/__snapshots__/custom-build-job.test.ts.snap +2572 -0
- package/examples/__snapshots__/custom-deploy.test.ts.snap +2824 -0
- package/examples/__snapshots__/custom-envs.test.ts.snap +1884 -0
- package/examples/__snapshots__/custom-sbom-java.test.ts.snap +2588 -0
- package/examples/__snapshots__/git-submodule.test.ts.snap +3304 -0
- package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +4228 -0
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.test.ts.snap +4252 -0
- package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +4268 -0
- package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +7910 -0
- package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +4476 -0
- package/examples/__snapshots__/local-dot-env.test.ts.snap +3300 -0
- package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +4342 -0
- package/examples/__snapshots__/multiline-var.test.ts.snap +7864 -0
- package/examples/__snapshots__/native-app.test.ts.snap +5316 -0
- package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +3300 -0
- package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +3316 -0
- package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +2011 -0
- package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +3465 -0
- package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +3380 -0
- package/examples/__utils__/helpers.ts +27 -0
- package/examples/cloud-run-memory-limit.test.ts +18 -0
- package/examples/cloud-run-memory-limit.ts +33 -0
- package/examples/cloud-run-meteor-with-worker.test.ts +18 -0
- package/examples/cloud-run-meteor-with-worker.ts +37 -0
- package/examples/cloud-run-no-cpu-throttling.test.ts +18 -0
- package/examples/cloud-run-no-cpu-throttling.ts +35 -0
- package/examples/cloud-run-no-service.test.ts +18 -0
- package/examples/cloud-run-no-service.ts +33 -0
- package/examples/cloud-run-non-public.test.ts +18 -0
- package/examples/cloud-run-non-public.ts +28 -0
- package/examples/cloud-run-post-stop-job.test.ts +18 -0
- package/examples/cloud-run-post-stop-job.ts +42 -0
- package/examples/cloud-run-service-gen2.test.ts +18 -0
- package/examples/cloud-run-service-gen2.ts +29 -0
- package/examples/cloud-run-service-increase-timout.test.ts +18 -0
- package/examples/cloud-run-service-increase-timout.ts +29 -0
- package/examples/cloud-run-service-with-volumes.test.ts +18 -0
- package/examples/cloud-run-service-with-volumes.ts +56 -0
- package/examples/cloud-run-storybook.test.ts +18 -0
- package/examples/cloud-run-storybook.ts +33 -0
- package/examples/cloud-run-with-ngnix.test.ts +18 -0
- package/examples/cloud-run-with-ngnix.ts +29 -0
- package/examples/cloud-run-with-sql-reuse-db.test.ts +18 -0
- package/examples/cloud-run-with-sql-reuse-db.ts +55 -0
- package/examples/cloud-run-with-sql.test.ts +18 -0
- package/examples/cloud-run-with-sql.ts +71 -0
- package/examples/cloud-run-with-worker.test.ts +18 -0
- package/examples/cloud-run-with-worker.ts +37 -0
- package/examples/custom-build-job-with-tests.test.ts +18 -0
- package/examples/custom-build-job-with-tests.ts +56 -0
- package/examples/custom-build-job.test.ts +18 -0
- package/examples/custom-build-job.ts +29 -0
- package/examples/custom-deploy.test.ts +18 -0
- package/examples/custom-deploy.ts +36 -0
- package/examples/custom-envs.test.ts +18 -0
- package/examples/custom-envs.ts +32 -0
- package/examples/custom-sbom-java.test.ts +18 -0
- package/examples/custom-sbom-java.ts +38 -0
- package/examples/git-submodule.test.ts +18 -0
- package/examples/git-submodule.ts +30 -0
- package/examples/kubernetes-application-customization.test.ts +18 -0
- package/examples/kubernetes-application-customization.ts +59 -0
- package/examples/kubernetes-with-cloud-sql-legacy.test.ts +18 -0
- package/examples/kubernetes-with-cloud-sql-legacy.ts +35 -0
- package/examples/kubernetes-with-cloud-sql.test.ts +18 -0
- package/examples/kubernetes-with-cloud-sql.ts +37 -0
- package/examples/kubernetes-with-jobs.test.ts +18 -0
- package/examples/kubernetes-with-jobs.ts +70 -0
- package/examples/kubernetes-with-mongodb.test.ts +18 -0
- package/examples/kubernetes-with-mongodb.ts +51 -0
- package/examples/local-dot-env.test.ts +18 -0
- package/examples/local-dot-env.ts +27 -0
- package/examples/meteor-kubernetes.test.ts +18 -0
- package/examples/meteor-kubernetes.ts +64 -0
- package/examples/multiline-var.test.ts +18 -0
- package/examples/multiline-var.ts +65 -0
- package/examples/native-app.test.ts +18 -0
- package/examples/native-app.ts +83 -0
- package/examples/node-build-with-custom-image.test.ts +18 -0
- package/examples/node-build-with-custom-image.ts +26 -0
- package/examples/node-build-with-docker-additions.test.ts +18 -0
- package/examples/node-build-with-docker-additions.ts +29 -0
- package/examples/rails-k8s-with-worker-dockerfile.test.ts +9 -0
- package/examples/rails-k8s-with-worker.test.ts +18 -0
- package/examples/rails-k8s-with-worker.ts +95 -0
- package/examples/wait-for-other-deploy.test.ts +18 -0
- package/examples/wait-for-other-deploy.ts +37 -0
- package/package.json +76 -17
- package/scripts/bundle +2 -0
- package/scripts/generate-examples-test.ts +93 -0
- package/scripts/generate-gitlab-ci-types.ts +51 -0
- package/scripts/tsconfig.json +7 -0
- package/src/bash/BashExpression.ts +81 -0
- package/src/bash/bashExpressionPerPipelineType.ts +16 -0
- package/src/bash/bashYaml.ts +46 -0
- package/src/bash/getInjectVarsScript.ts +12 -0
- package/src/bash/replaceAsync.ts +50 -0
- package/src/build/artifacts/createBuildJobArtifact.ts +61 -0
- package/src/build/base/__tests__/__snapshots__/createArtifactsConfig.test.ts.snap +49 -0
- package/src/build/base/__tests__/createArtifactsConfig.test.ts +41 -0
- package/src/build/base/constants.ts +2 -2
- package/src/build/base/createAppBuildJob.ts +70 -0
- package/src/build/base/createArtifactsConfig.ts +34 -0
- package/src/build/base/index.ts +62 -0
- package/src/build/base/writeBuildInfo.ts +7 -0
- package/src/build/base/writeDotEnv.ts +40 -0
- package/src/build/custom/__tests__/testJob.test.ts +29 -0
- package/src/build/custom/buildJob.ts +41 -0
- package/src/build/custom/index.ts +8 -0
- package/src/build/custom/testJob.ts +93 -0
- package/src/build/docker.ts +173 -63
- package/src/build/index.ts +59 -8
- package/src/build/node/buildJob.ts +84 -64
- package/src/build/node/cache.ts +59 -24
- package/src/build/node/constants.ts +2 -3
- package/src/build/node/index.ts +9 -5
- package/src/build/node/meteor.ts +41 -44
- package/src/build/node/testJob.ts +57 -16
- package/src/build/node/yarn.ts +81 -25
- package/src/build/rails/build.ts +69 -0
- package/src/build/rails/index.ts +8 -0
- package/src/build/rails/test.ts +103 -0
- package/src/build/sbom.ts +48 -0
- package/src/build/types.ts +301 -27
- package/src/catladder-gitlab.ts +12 -52
- 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/{configruedEnvs.test.ts → __tests__/configruedEnvs.test.ts} +3 -3
- package/src/config/__tests__/getAllEnvs.test.ts +71 -0
- package/src/config/__tests__/getAllEnvsInAllComponents.test.ts +63 -0
- package/src/config/configruedEnvs.ts +8 -13
- package/src/config/readConfig.ts +17 -23
- package/src/constants.ts +5 -2
- package/src/context/{resolveReferences.test.ts → __tests__/resolveReferences.test.ts} +34 -44
- package/src/context/createAllComponentsContext.ts +31 -0
- package/src/context/createComponentContext.ts +135 -0
- package/src/context/createWorkspaceContext.ts +56 -0
- package/src/context/getBuildInfoVariables.ts +36 -0
- package/src/context/getEnvConfig.ts +21 -0
- package/src/context/getEnvType.ts +17 -0
- package/src/context/getEnvironment.ts +26 -0
- package/src/context/getEnvironmentContext.ts +53 -0
- package/src/context/getEnvironmentVariables.ts +210 -0
- package/src/context/getLabels.ts +21 -0
- package/src/context/getReviewSlug.ts +27 -0
- package/src/context/index.ts +3 -232
- package/src/context/resolveReferences.ts +67 -40
- package/src/context/transformJobOnlyVars.ts +45 -0
- package/src/context/utils/envVars.ts +27 -0
- package/src/defaults/index.ts +1 -1
- package/src/deploy/base/deploy.ts +136 -0
- package/src/deploy/base/index.ts +22 -0
- package/src/deploy/base/rollback.ts +38 -0
- package/src/deploy/base/stop.ts +43 -0
- package/src/deploy/base/types.ts +3 -0
- package/src/deploy/base/variables.ts +5 -0
- 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 +198 -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 +79 -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 +127 -0
- package/src/deploy/cloudRun/utils/createArgsString.ts +34 -0
- package/src/deploy/cloudRun/utils/database.ts +77 -0
- package/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.ts +12 -0
- package/src/deploy/cloudRun/utils/getServiceName.ts +3 -0
- package/src/deploy/cloudRun/utils/jobName.ts +7 -0
- package/src/deploy/cloudRun/utils/removeFirstLinesFromCommandOutput.ts +12 -0
- package/src/deploy/cloudSql/utils.ts +26 -0
- package/src/deploy/custom/deployJob.ts +41 -16
- package/src/deploy/custom/index.ts +9 -1
- package/src/deploy/dockerTag/deployJob.ts +29 -0
- package/src/deploy/dockerTag/index.ts +10 -0
- package/src/deploy/index.ts +32 -17
- package/src/deploy/kubernetes/additionalSecretKeys.ts +25 -0
- package/src/deploy/kubernetes/cloudSql/index.ts +76 -0
- package/src/deploy/kubernetes/deployJob.ts +61 -115
- package/src/deploy/kubernetes/index.ts +50 -1
- package/src/deploy/kubernetes/kubeEnv.ts +50 -0
- package/src/deploy/kubernetes/kubeValues.ts +100 -0
- package/src/deploy/kubernetes/mongodb.ts +106 -8
- package/src/deploy/kubernetes/processSecretsAsFiles.ts +6 -5
- package/src/deploy/sbom.ts +32 -0
- package/src/deploy/types/base.ts +43 -0
- package/src/deploy/types/custom.ts +36 -0
- package/src/deploy/types/dockerTag.ts +14 -0
- package/src/deploy/types/googleCloudRun.ts +282 -0
- package/src/deploy/types/index.ts +28 -0
- package/src/deploy/types/kubernetes.ts +390 -0
- package/src/deploy/utils.ts +10 -6
- package/src/index.ts +2 -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 +72 -0
- package/src/pipeline/createChildPipeline.ts +24 -43
- package/src/pipeline/createJobsForComponent.ts +35 -0
- package/src/pipeline/createJobsForWorkspace.ts +12 -0
- package/src/pipeline/createMainPipeline.ts +111 -0
- package/src/pipeline/generatePipelineFiles.ts +76 -0
- package/src/pipeline/getPipelineStages.ts +23 -0
- package/src/pipeline/gitlab/createGitlabJobs.ts +445 -0
- package/src/pipeline/gitlab/createGitlabPipeline.ts +28 -0
- package/src/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.ts +46 -0
- package/src/pipeline/gitlab/gitlabReleaseJobs.ts +25 -0
- package/src/pipeline/gitlab/sortGitLabJobDefProps.ts +59 -0
- package/src/pipeline/index.ts +3 -1
- package/src/pipeline/packageManager.ts +47 -64
- package/src/pipeline/yarn/yarnUtils.ts +66 -0
- package/src/rules/index.ts +46 -13
- package/src/runner/index.ts +2 -1
- package/src/types/config.ts +72 -16
- package/src/types/context.ts +194 -25
- package/src/types/environmentContext.ts +38 -0
- package/src/types/gitlab-ci-yml.ts +891 -0
- package/src/types/gitlab-types.ts +52 -57
- package/src/types/jobs.ts +66 -11
- package/src/types/pipeline.ts +5 -1
- package/src/types/utils.ts +7 -0
- package/src/utils/gitlab.ts +33 -0
- package/src/utils/index.ts +3 -3
- package/src/utils/jsonParse.ts +7 -0
- package/src/utils/removeUndefined.ts +4 -0
- package/src/utils/writeFiles.ts +53 -0
- package/tsconfig.json +4 -2
- package/dist/build/base/createBuildJob.d.ts +0 -7
- package/dist/build/base/getBuildInfo.d.ts +0 -2
- package/dist/build/base/getBuildInfo.js +0 -12
- package/dist/context/resolveReferences.test.js +0 -141
- package/dist/deploy/base.d.ts +0 -8
- package/dist/deploy/base.js +0 -107
- package/dist/deploy/kubernetes/cloudsql.d.ts +0 -6
- package/dist/deploy/kubernetes/cloudsql.js +0 -16
- package/dist/deploy/types.d.ts +0 -196
- package/dist/deploy/types.js +0 -16
- package/dist/pipeline/createJobs.d.ts +0 -3
- package/dist/pipeline/createJobs.js +0 -383
- package/dist/pipeline/gitlab/makeGitlabJob.d.ts +0 -8
- package/dist/pipeline/gitlab/makeGitlabJob.js +0 -45
- package/src/build/base/createBuildJob.ts +0 -43
- package/src/build/base/getBuildInfo.ts +0 -7
- package/src/build/tests/storybook.test.ts +0 -54
- package/src/deploy/base.ts +0 -120
- package/src/deploy/kubernetes/cloudsql.ts +0 -12
- package/src/deploy/types.ts +0 -189
- package/src/pipeline/createChildPipeline.test.ts +0 -49
- package/src/pipeline/createJobs.ts +0 -195
- package/src/pipeline/gitlab/makeGitlabJob.ts +0 -16
- /package/dist/build/{tests/storybook.test.d.ts → base/__tests__/createArtifactsConfig.test.d.ts} +0 -0
- /package/dist/{config/configruedEnvs.test.d.ts → build/custom/__tests__/testJob.test.d.ts} +0 -0
- /package/dist/{context/resolveReferences.test.d.ts → config/__tests__/configruedEnvs.test.d.ts} +0 -0
- /package/dist/{pipeline/createChildPipeline.test.d.ts → config/__tests__/getAllEnvs.test.d.ts} +0 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __assign = this && this.__assign || function () {
|
|
4
|
+
__assign = Object.assign || function (t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __read = this && this.__read || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o),
|
|
17
|
+
r,
|
|
18
|
+
ar = [],
|
|
19
|
+
e;
|
|
20
|
+
try {
|
|
21
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
e = {
|
|
24
|
+
error: error
|
|
25
|
+
};
|
|
26
|
+
} finally {
|
|
27
|
+
try {
|
|
28
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
29
|
+
} finally {
|
|
30
|
+
if (e) throw e.error;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
36
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
37
|
+
if (ar || !(i in from)) {
|
|
38
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
39
|
+
ar[i] = from[i];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", {
|
|
45
|
+
value: true
|
|
46
|
+
});
|
|
47
|
+
exports.createRailsBuildJobs = void 0;
|
|
48
|
+
var __1 = require("../..");
|
|
49
|
+
var base_1 = require("../base");
|
|
50
|
+
var docker_1 = require("../docker");
|
|
51
|
+
var types_1 = require("../types");
|
|
52
|
+
var createRailsBuildJobs = function (context) {
|
|
53
|
+
var _a, _b, _c;
|
|
54
|
+
var buildConfig = context.build.config;
|
|
55
|
+
if (!(0, types_1.isOfBuildType)(buildConfig, "rails")) {
|
|
56
|
+
// should not happen
|
|
57
|
+
throw new Error("build type is not rails");
|
|
58
|
+
}
|
|
59
|
+
// if its not a standalone build, we don't need to run tests
|
|
60
|
+
if (!(0, __1.componentContextIsStandaloneBuild)(context)) {
|
|
61
|
+
throw new Error("workspace builds are not supported for rails apps");
|
|
62
|
+
}
|
|
63
|
+
if ((0, docker_1.hasDockerfile)(context)) {
|
|
64
|
+
return (0, base_1.createComponentBuildJobs)(context, {
|
|
65
|
+
appBuild: undefined,
|
|
66
|
+
dockerBuild: {
|
|
67
|
+
script: (0, docker_1.getDockerBuildDefaultScript)(context),
|
|
68
|
+
variables: {}
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
var cnbConf = buildConfig.cnbBuilder;
|
|
73
|
+
var packEnvArgs = Object.entries((_a = cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.buildVars) !== null && _a !== void 0 ? _a : {}).map(function (_a) {
|
|
74
|
+
var _b = __read(_a, 2),
|
|
75
|
+
k = _b[0],
|
|
76
|
+
v = _b[1];
|
|
77
|
+
return "--env '".concat(k).concat(v ? "=".concat(v) : "", "'");
|
|
78
|
+
}).join(" ");
|
|
79
|
+
return (0, base_1.createComponentBuildJobs)(context, {
|
|
80
|
+
appBuild: undefined,
|
|
81
|
+
dockerBuild: {
|
|
82
|
+
variables: __assign(__assign({}, context.environment.jobOnlyVars.build.envVars), context.build.config.extraVars),
|
|
83
|
+
// custom script
|
|
84
|
+
script: __spreadArray(__spreadArray([], __read((0, docker_1.gitlabDockerLogin)(context)), false), ["cd ".concat(context.build.dir), "docker pull $DOCKER_CACHE_IMAGE || true", "wget --output-document=- https://github.com/buildpacks/pack/releases/download/v".concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packVersion, "/pack-v").concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packVersion, "-linux.tgz | tar -zx --directory /usr/local/bin pack"), "chmod +x /usr/local/bin/pack",
|
|
85
|
+
// replace private git ssh gem sources with https to make bundler with credentials via env var work
|
|
86
|
+
"sed --in-place 's|git@\\([^:]*\\):|https://\\1/|g' Gemfile Gemfile.lock", "pack build \"$DOCKER_IMAGE:$DOCKER_IMAGE_TAG\" --builder '".concat(cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.image, "' --publish --cache-image \"$DOCKER_CACHE_IMAGE\" ").concat(packEnvArgs, " ").concat((_c = (_b = cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.packExtraArgs) === null || _b === void 0 ? void 0 : _b.join(" ")) !== null && _c !== void 0 ? _c : "")], false)
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
exports.createRailsBuildJobs = createRailsBuildJobs;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __read = this && this.__read || function (o, n) {
|
|
4
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
|
+
if (!m) return o;
|
|
6
|
+
var i = m.call(o),
|
|
7
|
+
r,
|
|
8
|
+
ar = [],
|
|
9
|
+
e;
|
|
10
|
+
try {
|
|
11
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
12
|
+
} catch (error) {
|
|
13
|
+
e = {
|
|
14
|
+
error: error
|
|
15
|
+
};
|
|
16
|
+
} finally {
|
|
17
|
+
try {
|
|
18
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
19
|
+
} finally {
|
|
20
|
+
if (e) throw e.error;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
26
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
27
|
+
if (ar || !(i in from)) {
|
|
28
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
29
|
+
ar[i] = from[i];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", {
|
|
35
|
+
value: true
|
|
36
|
+
});
|
|
37
|
+
exports.createRailsJobs = void 0;
|
|
38
|
+
var build_1 = require("./build");
|
|
39
|
+
var test_1 = require("./test");
|
|
40
|
+
var createRailsJobs = function (context) {
|
|
41
|
+
return __spreadArray(__spreadArray([], __read((0, test_1.createRailsTestJobs)(context)), false), __read((0, build_1.createRailsBuildJobs)(context)), false);
|
|
42
|
+
};
|
|
43
|
+
exports.createRailsJobs = createRailsJobs;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __assign = this && this.__assign || function () {
|
|
4
|
+
__assign = Object.assign || function (t) {
|
|
5
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
+
s = arguments[i];
|
|
7
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __read = this && this.__read || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o),
|
|
17
|
+
r,
|
|
18
|
+
ar = [],
|
|
19
|
+
e;
|
|
20
|
+
try {
|
|
21
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
22
|
+
} catch (error) {
|
|
23
|
+
e = {
|
|
24
|
+
error: error
|
|
25
|
+
};
|
|
26
|
+
} finally {
|
|
27
|
+
try {
|
|
28
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
29
|
+
} finally {
|
|
30
|
+
if (e) throw e.error;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
36
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
37
|
+
if (ar || !(i in from)) {
|
|
38
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
39
|
+
ar[i] = from[i];
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", {
|
|
45
|
+
value: true
|
|
46
|
+
});
|
|
47
|
+
exports.createRailsTestJobs = void 0;
|
|
48
|
+
var __1 = require("../..");
|
|
49
|
+
var utils_1 = require("../../utils");
|
|
50
|
+
var createRailsTestJobs = function (context) {
|
|
51
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
52
|
+
// don't run tests after release
|
|
53
|
+
// TODO: this will be replaced by using rules
|
|
54
|
+
if (context.trigger === "taggedRelease") {
|
|
55
|
+
return [];
|
|
56
|
+
}
|
|
57
|
+
// if its not a standalone build, we don't need to run tests
|
|
58
|
+
if (!(0, __1.componentContextIsStandaloneBuild)(context)) {
|
|
59
|
+
return [];
|
|
60
|
+
}
|
|
61
|
+
var buildConfig = context.build.config;
|
|
62
|
+
var base = {
|
|
63
|
+
variables: __assign(__assign({}, context.environment.jobOnlyVars.build.envVars), (_a = buildConfig.extraVars) !== null && _a !== void 0 ? _a : {}),
|
|
64
|
+
stage: "test",
|
|
65
|
+
needs: [],
|
|
66
|
+
envMode: "none"
|
|
67
|
+
};
|
|
68
|
+
var defaultImage = "docker.io/ruby";
|
|
69
|
+
var bundlerCacheDir = "tmp/cache";
|
|
70
|
+
var bundlerInstall = ["bundle config set path '".concat(bundlerCacheDir, "'"), "bundle install -j $(nproc)"];
|
|
71
|
+
var bundlerCache = {
|
|
72
|
+
key: {
|
|
73
|
+
files: ["Gemfile.lock"],
|
|
74
|
+
prefix: "$CI_JOB_IMAGE" // a changed image might have different OS libraries which no longer work with the cached gems
|
|
75
|
+
},
|
|
76
|
+
|
|
77
|
+
paths: [bundlerCacheDir]
|
|
78
|
+
};
|
|
79
|
+
var auditJob = buildConfig.audit !== false ? __assign(__assign({
|
|
80
|
+
name: "🛡 audit"
|
|
81
|
+
}, base), {
|
|
82
|
+
cache: undefined,
|
|
83
|
+
image: (_d = (_c = (_b = buildConfig.audit) === null || _b === void 0 ? void 0 : _b.jobImage) !== null && _c !== void 0 ? _c : buildConfig.jobImage) !== null && _d !== void 0 ? _d : defaultImage,
|
|
84
|
+
script: __spreadArray(["cd ".concat(context.build.dir)], __read((_f = (0, utils_1.ensureArray)((_e = buildConfig.audit) === null || _e === void 0 ? void 0 : _e.command)) !== null && _f !== void 0 ? _f : ["gem install bundler-audit", "bundle audit check"]), false),
|
|
85
|
+
allow_failure: true
|
|
86
|
+
}) : null;
|
|
87
|
+
var lintJob = buildConfig.lint !== false ? __assign(__assign({
|
|
88
|
+
name: "👮 lint"
|
|
89
|
+
}, base), {
|
|
90
|
+
cache: bundlerCache,
|
|
91
|
+
image: (_j = (_h = (_g = buildConfig.lint) === null || _g === void 0 ? void 0 : _g.jobImage) !== null && _h !== void 0 ? _h : buildConfig.jobImage) !== null && _j !== void 0 ? _j : defaultImage,
|
|
92
|
+
script: __spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(bundlerInstall), false), __read((_l = (0, utils_1.ensureArray)((_k = buildConfig.lint) === null || _k === void 0 ? void 0 : _k.command)) !== null && _l !== void 0 ? _l : ["bundle exec rubocop"]), false)
|
|
93
|
+
}) : null;
|
|
94
|
+
var testJob = buildConfig.test !== false ? __assign(__assign({
|
|
95
|
+
name: "🧪 test"
|
|
96
|
+
}, base), {
|
|
97
|
+
cache: bundlerCache,
|
|
98
|
+
image: (_p = (_o = (_m = buildConfig.test) === null || _m === void 0 ? void 0 : _m.jobImage) !== null && _o !== void 0 ? _o : buildConfig.jobImage) !== null && _p !== void 0 ? _p : defaultImage,
|
|
99
|
+
script: __spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(bundlerInstall), false), __read((_r = (0, utils_1.ensureArray)((_q = buildConfig.test) === null || _q === void 0 ? void 0 : _q.command)) !== null && _r !== void 0 ? _r : ["bundle exec rspec"]), false)
|
|
100
|
+
}) : null;
|
|
101
|
+
return [auditJob, lintJob, testJob].filter(utils_1.notNil);
|
|
102
|
+
};
|
|
103
|
+
exports.createRailsTestJobs = createRailsTestJobs;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ComponentContext } from "../types/context";
|
|
2
|
+
import type { CatladderJob } from "../types/jobs";
|
|
3
|
+
export declare const SBOM_BUILD_JOB_NAME = "\uD83E\uDDFE sbom";
|
|
4
|
+
export declare const SBOM_FILE = "__sbom.json";
|
|
5
|
+
export declare const createSbomBuildJob: (context: ComponentContext) => CatladderJob;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createSbomBuildJob = exports.SBOM_FILE = exports.SBOM_BUILD_JOB_NAME = void 0;
|
|
7
|
+
var _1 = require(".");
|
|
8
|
+
var utils_1 = require("../utils");
|
|
9
|
+
exports.SBOM_BUILD_JOB_NAME = "🧾 sbom";
|
|
10
|
+
exports.SBOM_FILE = "__sbom.json";
|
|
11
|
+
var createSbomBuildJob = function (context) {
|
|
12
|
+
var _a, _b, _c, _d;
|
|
13
|
+
var buildConfig = context.build.config;
|
|
14
|
+
var defaultImage = "aquasec/trivy:0.38.3";
|
|
15
|
+
var defaultScript = ["trivy fs --quiet --format cyclonedx --output \"".concat(exports.SBOM_FILE, "\" ").concat(context.packageManagerInfo.componentIsInWorkspace ? "." : context.build.dir)];
|
|
16
|
+
var image = (0, _1.isStandaloneBuildConfig)(buildConfig) && buildConfig.type === "custom" && buildConfig.sbom !== false ? (_b = (_a = buildConfig.sbom) === null || _a === void 0 ? void 0 : _a.jobImage) !== null && _b !== void 0 ? _b : defaultImage : defaultImage;
|
|
17
|
+
var script = (0, _1.isStandaloneBuildConfig)(buildConfig) && buildConfig.type === "custom" && buildConfig.sbom !== false ? (_d = (0, utils_1.ensureArray)((_c = buildConfig.sbom) === null || _c === void 0 ? void 0 : _c.command)) !== null && _d !== void 0 ? _d : defaultScript : defaultScript;
|
|
18
|
+
return {
|
|
19
|
+
name: exports.SBOM_BUILD_JOB_NAME,
|
|
20
|
+
stage: "build",
|
|
21
|
+
envMode: "jobPerEnv",
|
|
22
|
+
variables: {},
|
|
23
|
+
cache: undefined,
|
|
24
|
+
image: image,
|
|
25
|
+
script: script,
|
|
26
|
+
allow_failure: true,
|
|
27
|
+
artifacts: {
|
|
28
|
+
paths: [exports.SBOM_FILE]
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
exports.createSbomBuildJob = createSbomBuildJob;
|
package/dist/build/types.d.ts
CHANGED
|
@@ -1,76 +1,294 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Artifacts, EnvVars, GitlabJobImage } from "../types";
|
|
2
|
+
import type { Services } from "../types/gitlab-ci-yml";
|
|
3
|
+
import type { CatladderJob } from "../types/jobs";
|
|
4
|
+
export type BuildConfigArtifactsReports = {
|
|
5
|
+
/**
|
|
6
|
+
* The junit report collects JUnit report format XML files.
|
|
7
|
+
* The collected Unit test reports upload to GitLab as an artifact.
|
|
8
|
+
* Paths are prefixed with component's root folder.
|
|
9
|
+
* eg. `["dist/test-results/TEST-*.xml", "dist/rspec.xml", ...]`
|
|
10
|
+
*/
|
|
11
|
+
junit?: string[];
|
|
12
|
+
};
|
|
13
|
+
export type TestJobCustom = {
|
|
14
|
+
command?: string | string[];
|
|
15
|
+
jobImage?: GitlabJobImage;
|
|
16
|
+
/**
|
|
17
|
+
* additional CI/CD artifacts reports,
|
|
18
|
+
* use to display information in merge requests, pipeline views and security dashboards.
|
|
19
|
+
*/
|
|
20
|
+
artifactsReports?: BuildConfigArtifactsReports;
|
|
21
|
+
/**
|
|
22
|
+
* GitLab {@link Artifacts} configuration.
|
|
23
|
+
*
|
|
24
|
+
* {@link TestJobCustom.artifacts}.reports.junit is merged with {@link TestJobCustom.artifactsReports} in case both given.
|
|
25
|
+
*/
|
|
26
|
+
artifacts?: Artifacts;
|
|
27
|
+
};
|
|
28
|
+
export type BuildConfigBase = {
|
|
2
29
|
/**
|
|
3
30
|
* command to run on the image to start the app (e.g. yarn start)
|
|
4
31
|
*/
|
|
5
32
|
startCommand?: string;
|
|
33
|
+
/**
|
|
34
|
+
* vars that only exist in the build jobs.
|
|
35
|
+
* Can curently not reference other variables from other components
|
|
36
|
+
*/
|
|
37
|
+
jobVars?: EnvVars;
|
|
6
38
|
/**
|
|
7
39
|
* additional env vars for the buid jobs
|
|
40
|
+
*
|
|
41
|
+
* @deprecated use jobVars or runnerVariables
|
|
8
42
|
*/
|
|
9
|
-
|
|
10
43
|
extraVars?: Record<string, string>;
|
|
11
44
|
/**
|
|
12
|
-
*
|
|
45
|
+
* additional vars only for the runner.
|
|
46
|
+
* Also if you use services: that require env vars, you need to set them here.
|
|
47
|
+
*
|
|
13
48
|
*/
|
|
14
|
-
|
|
15
|
-
buildCommand?: string | string[] | null;
|
|
49
|
+
runnerVariables?: Record<string, string>;
|
|
16
50
|
/**
|
|
17
|
-
*
|
|
51
|
+
* define the build command
|
|
18
52
|
*/
|
|
19
|
-
|
|
20
|
-
docker?: {
|
|
21
|
-
additionsBegin?: string[];
|
|
22
|
-
additionsEnd?: string[];
|
|
23
|
-
};
|
|
53
|
+
buildCommand?: string | string[] | null;
|
|
24
54
|
/**
|
|
25
55
|
* customize lint, set false to disable
|
|
26
56
|
*/
|
|
27
|
-
|
|
28
|
-
lint?: false | {
|
|
29
|
-
command?: string | string[];
|
|
30
|
-
};
|
|
57
|
+
lint?: false | TestJobCustom;
|
|
31
58
|
/**
|
|
32
59
|
* customize test, set false to disable
|
|
33
60
|
*/
|
|
34
|
-
|
|
35
|
-
test?: false | {
|
|
36
|
-
command?: string | string[];
|
|
37
|
-
};
|
|
61
|
+
test?: false | TestJobCustom;
|
|
38
62
|
/**
|
|
39
63
|
* customize audit, set false to disable
|
|
40
64
|
*/
|
|
41
|
-
|
|
42
|
-
audit?: false | {
|
|
43
|
-
command?: string | string[];
|
|
44
|
-
};
|
|
65
|
+
audit?: false | TestJobCustom;
|
|
45
66
|
/**
|
|
46
67
|
* additional paths for artifacts,
|
|
47
68
|
* by default "dist" and ".next" are allways included
|
|
48
69
|
*/
|
|
49
|
-
|
|
50
70
|
artifactsPaths?: string[];
|
|
71
|
+
/**
|
|
72
|
+
* additional CI/CD artifacts reports,
|
|
73
|
+
* use to display information in merge requests, pipeline views and security dashboards.
|
|
74
|
+
*/
|
|
75
|
+
artifactsReports?: BuildConfigArtifactsReports;
|
|
76
|
+
/**
|
|
77
|
+
* customize cache for the job
|
|
78
|
+
*/
|
|
79
|
+
jobCache?: CatladderJob["cache"];
|
|
80
|
+
/**
|
|
81
|
+
* tags for the underlying job runner (e.g gitlab)
|
|
82
|
+
*/
|
|
83
|
+
jobTags?: string[];
|
|
84
|
+
/**
|
|
85
|
+
* custom image to use
|
|
86
|
+
*/
|
|
87
|
+
jobImage?: GitlabJobImage;
|
|
88
|
+
};
|
|
89
|
+
export type BuildConfigNodeBase = BuildConfigBase & {
|
|
90
|
+
/**
|
|
91
|
+
* runs a command after yarn install. postinstall in package.json won't work for yarn plug and play.
|
|
92
|
+
* the command will be invoked in the component dir.
|
|
93
|
+
*/
|
|
94
|
+
postInstall?: string | string[];
|
|
51
95
|
};
|
|
52
|
-
export
|
|
53
|
-
export declare type BuildConfigNode = {
|
|
96
|
+
export type BuildConfigNode = {
|
|
54
97
|
type: "node";
|
|
98
|
+
docker?: Omit<BuildConfigDockerBuiltInNode, "type"> | BuildConfigDocker;
|
|
55
99
|
} & BuildConfigNodeBase;
|
|
56
|
-
export
|
|
100
|
+
export type BuildConfigNodeStatic = BuildConfigNodeBase & {
|
|
101
|
+
/**
|
|
102
|
+
* @deprecated use type: "node" and docker: { type: "nginx" } instead
|
|
103
|
+
*/
|
|
57
104
|
type: "node-static";
|
|
58
105
|
startCommand?: never;
|
|
106
|
+
docker?: Omit<BuildConfigDockerBuiltInNgninx, "type"> | BuildConfigDocker;
|
|
59
107
|
};
|
|
60
|
-
export
|
|
108
|
+
export type BuildConfigMeteor = BuildConfigNodeBase & {
|
|
61
109
|
type: "meteor";
|
|
110
|
+
/**
|
|
111
|
+
* whether to run yarn install inside the source folder in the docker image.
|
|
112
|
+
* This is only required if you have custom scripts in your image
|
|
113
|
+
*/
|
|
114
|
+
installScripts?: boolean;
|
|
115
|
+
docker?: Omit<BuildConfigDockerBuiltInMeteor, "type"> | BuildConfigDocker;
|
|
62
116
|
};
|
|
63
|
-
export
|
|
117
|
+
export type BuildConfigNodeLike = BuildConfigNode | BuildConfigNodeStatic | BuildConfigStorybook | BuildConfigMeteor;
|
|
118
|
+
type BuildConfigDockerWithAdditions = {
|
|
119
|
+
/**
|
|
120
|
+
* Custom Dockerfile lines integrated in the generated Dockerfile before the standard build steps.
|
|
121
|
+
*
|
|
122
|
+
*/
|
|
123
|
+
additionsBegin?: string[];
|
|
124
|
+
/**
|
|
125
|
+
* Custom Dockerfile lines integrated in the generated Dockerfile after the standard build steps.
|
|
126
|
+
*
|
|
127
|
+
*/
|
|
128
|
+
additionsEnd?: string[];
|
|
129
|
+
};
|
|
130
|
+
type BuildConfigDockerBuiltInNode = {
|
|
131
|
+
type: "node";
|
|
132
|
+
} & BuildConfigDockerWithAdditions;
|
|
133
|
+
type BuildConfigDockerBuiltInMeteor = {
|
|
134
|
+
type: "meteor";
|
|
135
|
+
} & BuildConfigDockerWithAdditions;
|
|
136
|
+
type BuildConfigDockerBuiltInNgninx = {
|
|
137
|
+
/**
|
|
138
|
+
* use the built-in nginx image for simple static apps
|
|
139
|
+
*/
|
|
140
|
+
type: "nginx";
|
|
141
|
+
} & BuildConfigDockerWithAdditions;
|
|
142
|
+
type BuildConfigDockerBuiltIn = BuildConfigDockerBuiltInNgninx | BuildConfigDockerBuiltInNode | BuildConfigDockerBuiltInMeteor;
|
|
143
|
+
type BuildConfigDockerCustom = {
|
|
144
|
+
/**
|
|
145
|
+
* custom docker build, expect that a Dockerfile in your directory
|
|
146
|
+
*/
|
|
147
|
+
type: "custom";
|
|
148
|
+
/**
|
|
149
|
+
* where to run the docker build, defaults to the root of the repo.
|
|
150
|
+
*
|
|
151
|
+
* Depending on your Dockerfile you may want to change it to "component"
|
|
152
|
+
*/
|
|
153
|
+
buildContextLocation?: "root" | "component";
|
|
154
|
+
};
|
|
155
|
+
export type BuildConfigDocker = BuildConfigDockerBuiltIn | BuildConfigDockerCustom;
|
|
156
|
+
/**
|
|
157
|
+
* @deprecated this type is no longer used. Use {@link BuildConfigDocker} instead.
|
|
158
|
+
*/
|
|
159
|
+
export type BuildConfigCustomDocker = BuildConfigDockerCustom | BuildConfigDockerBuiltInNgninx;
|
|
160
|
+
export type BuildConfigCustom = Omit<BuildConfigBase, "lint" | "test" | "audit"> & {
|
|
161
|
+
type: "custom";
|
|
162
|
+
jobImage: GitlabJobImage;
|
|
163
|
+
/**
|
|
164
|
+
* {@link Services}s used in lint, test, audit, and build jobs.
|
|
165
|
+
*/
|
|
166
|
+
jobServices?: Services;
|
|
167
|
+
docker: BuildConfigDocker;
|
|
168
|
+
/**
|
|
169
|
+
* custom lint, disabled when not set
|
|
170
|
+
*/
|
|
171
|
+
lint?: TestJobCustom;
|
|
172
|
+
/**
|
|
173
|
+
* custom test, disabled when not set
|
|
174
|
+
*/
|
|
175
|
+
test?: TestJobCustom;
|
|
176
|
+
/**
|
|
177
|
+
* custom audit, disabled when not set
|
|
178
|
+
*/
|
|
179
|
+
audit?: TestJobCustom;
|
|
180
|
+
/**
|
|
181
|
+
* custom sbom (software bill of materials), set false to disable
|
|
182
|
+
*/
|
|
183
|
+
sbom?: false | {
|
|
184
|
+
/**
|
|
185
|
+
* needs to create a file at `/__sbom.json` in CycloneDX format
|
|
186
|
+
*/
|
|
187
|
+
command: string | string[];
|
|
188
|
+
jobImage: GitlabJobImage;
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
export type BuildConfigRails = BuildConfigBase & {
|
|
192
|
+
type: "rails";
|
|
193
|
+
/**
|
|
194
|
+
* The [Cloud Native Buildpacks](https://buildpacks.io/) builder configuration.
|
|
195
|
+
*
|
|
196
|
+
* Only applies when there is no `Dockerfile`.
|
|
197
|
+
*/
|
|
198
|
+
cnbBuilder?: {
|
|
199
|
+
/**
|
|
200
|
+
* The Cloud Native Buildpacks builder image to use.
|
|
201
|
+
* See e.g. https://github.com/heroku/builder or others.
|
|
202
|
+
* Default: heroku/buildpacks:20
|
|
203
|
+
*/
|
|
204
|
+
image?: string;
|
|
205
|
+
/**
|
|
206
|
+
* The version of the Cloud Native Buildpacks pack command to use.
|
|
207
|
+
* See https://buildpacks.io/docs/tools/pack/
|
|
208
|
+
* Default: 0.28.0
|
|
209
|
+
*/
|
|
210
|
+
packVersion?: string;
|
|
211
|
+
/**
|
|
212
|
+
* Additional command arguments passed to the pack command.
|
|
213
|
+
* See https://buildpacks.io/docs/tools/pack/
|
|
214
|
+
*/
|
|
215
|
+
packExtraArgs?: string[];
|
|
216
|
+
/**
|
|
217
|
+
* Variables needed for Bundler and Rails asset precompilation.
|
|
218
|
+
*
|
|
219
|
+
* Specify a key with the value `undefined` to inherit it from the EnvVars.
|
|
220
|
+
*
|
|
221
|
+
* See https://github.com/rails/rails/issues/32947
|
|
222
|
+
*/
|
|
223
|
+
buildVars?: Record<string, string | undefined>;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
export type BuildConfigStorybook = BuildConfigNodeBase & {
|
|
227
|
+
/**
|
|
228
|
+
* @deprecated use type: "node" and docker: { type: "nginx" } instead
|
|
229
|
+
*/
|
|
64
230
|
type: "storybook";
|
|
65
231
|
startCommand?: never;
|
|
66
232
|
};
|
|
67
|
-
export
|
|
68
|
-
|
|
233
|
+
export type BuildConfigFromWorkspace = {
|
|
234
|
+
from: string;
|
|
235
|
+
docker?: BuildConfigDocker;
|
|
236
|
+
startCommand?: string;
|
|
237
|
+
/**
|
|
238
|
+
* additional paths for artifacts,
|
|
239
|
+
* by default "dist" and ".next" are allways included
|
|
240
|
+
*/
|
|
241
|
+
artifactsPaths?: string[];
|
|
242
|
+
};
|
|
243
|
+
export type BuildConfigStandalone = BuildConfigNode | BuildConfigNodeStatic | BuildConfigStorybook | BuildConfigMeteor | BuildConfigCustom | BuildConfigRails;
|
|
244
|
+
export type BuildConfig = BuildConfigFromWorkspace | BuildConfigStandalone;
|
|
245
|
+
export type BuildConfigStandaloneType = BuildConfigStandalone["type"];
|
|
246
|
+
export type BuildConfigGeneric<T extends BuildConfigStandaloneType> = Extract<BuildConfig, {
|
|
247
|
+
type: T;
|
|
248
|
+
}>;
|
|
249
|
+
export declare const isStandaloneBuildConfig: (t: BuildConfig | false) => t is BuildConfigStandalone;
|
|
250
|
+
export declare const isOfBuildType: <T extends ("custom" | "rails" | "node" | "meteor" | "node-static" | "storybook")[]>(t: BuildConfig, ...types: T) => t is Extract<BuildConfigNode, {
|
|
69
251
|
type: T[number];
|
|
70
252
|
}> | Extract<BuildConfigNodeStatic, {
|
|
71
253
|
type: T[number];
|
|
254
|
+
}> | Extract<BuildConfigStorybook, {
|
|
255
|
+
type: T[number];
|
|
72
256
|
}> | Extract<BuildConfigMeteor, {
|
|
73
257
|
type: T[number];
|
|
74
|
-
}> | Extract<
|
|
258
|
+
}> | Extract<BuildConfigCustom, {
|
|
75
259
|
type: T[number];
|
|
76
|
-
}
|
|
260
|
+
}> | Extract<BuildConfigRails, {
|
|
261
|
+
type: T[number];
|
|
262
|
+
}>;
|
|
263
|
+
export type WorkspaceBuildConfigBase = {
|
|
264
|
+
dir?: string;
|
|
265
|
+
/**
|
|
266
|
+
* customize lint, set false to disable
|
|
267
|
+
*/
|
|
268
|
+
lint?: false | TestJobCustom;
|
|
269
|
+
/**
|
|
270
|
+
* customize test, set false to disable
|
|
271
|
+
*/
|
|
272
|
+
test?: false | TestJobCustom;
|
|
273
|
+
/**
|
|
274
|
+
* customize audit, set false to disable
|
|
275
|
+
*/
|
|
276
|
+
audit?: false | TestJobCustom;
|
|
277
|
+
/**
|
|
278
|
+
* additional vars only for the runner.
|
|
279
|
+
* Also if you use services: that require env vars, you need to set them here.
|
|
280
|
+
*
|
|
281
|
+
*/
|
|
282
|
+
runnerVariables?: Record<string, string>;
|
|
283
|
+
/**
|
|
284
|
+
* additional CI/CD artifacts reports,
|
|
285
|
+
* use to display information in merge requests, pipeline views and security dashboards.
|
|
286
|
+
*/
|
|
287
|
+
artifactsReports?: BuildConfigArtifactsReports;
|
|
288
|
+
};
|
|
289
|
+
export type WorkspaceBuildConfigNode = {
|
|
290
|
+
type: "node";
|
|
291
|
+
buildCommand?: string | string[];
|
|
292
|
+
} & WorkspaceBuildConfigBase;
|
|
293
|
+
export type WorkspaceBuildConfig = WorkspaceBuildConfigNode;
|
|
294
|
+
export {};
|
package/dist/build/types.js
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
exports
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isOfBuildType = exports.isStandaloneBuildConfig = void 0;
|
|
7
|
+
var isStandaloneBuildConfig = function (t) {
|
|
8
|
+
if (!t) return false;
|
|
9
|
+
return !("from" in t);
|
|
10
|
+
};
|
|
11
|
+
exports.isStandaloneBuildConfig = isStandaloneBuildConfig;
|
|
6
12
|
var isOfBuildType = function (t) {
|
|
7
13
|
var types = [];
|
|
8
|
-
|
|
9
14
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
10
15
|
types[_i - 1] = arguments[_i];
|
|
11
16
|
}
|
|
12
|
-
|
|
17
|
+
if (!(0, exports.isStandaloneBuildConfig)(t)) return false;
|
|
13
18
|
return types.includes(t.type);
|
|
14
19
|
};
|
|
15
|
-
|
|
16
20
|
exports.isOfBuildType = isOfBuildType;
|