@catladder/pipeline 0.0.0-mongodb-tolerations-bc2a3387 → 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 +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 +10 -0
- package/dist/build/base/{createBuildJob.js → createAppBuildJob.js} +22 -18
- package/dist/build/base/createArtifactsConfig.d.ts +4 -0
- package/dist/build/base/createArtifactsConfig.js +65 -0
- package/dist/build/base/createBuildJobDefinition.d.ts +6 -0
- package/dist/build/base/createBuildJobDefinition.js +58 -0
- package/dist/build/base/index.d.ts +11 -0
- package/dist/build/base/index.js +68 -0
- package/dist/build/base/writeBuildInfo.d.ts +2 -2
- package/dist/build/base/writeBuildInfo.js +4 -3
- package/dist/build/base/writeDotEnv.d.ts +8 -0
- package/dist/build/base/writeDotEnv.js +67 -0
- 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.d.ts +1 -0
- package/dist/build/custom/__tests__/testJob.test.js +36 -0
- package/dist/build/custom/buildJob.d.ts +2 -2
- package/dist/build/custom/buildJob.js +12 -71
- package/dist/build/custom/index.d.ts +2 -2
- package/dist/build/custom/index.js +3 -1
- package/dist/build/custom/testJob.d.ts +6 -2
- package/dist/build/custom/testJob.js +27 -22
- package/dist/build/docker.d.ts +51 -36
- package/dist/build/docker.js +92 -50
- 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 +37 -47
- 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 +22 -24
- package/dist/build/node/testJob.d.ts +3 -2
- package/dist/build/node/testJob.js +33 -19
- package/dist/build/node/yarn.d.ts +5 -5
- package/dist/build/node/yarn.js +35 -20
- package/dist/build/rails/build.d.ts +2 -2
- package/dist/build/rails/build.js +49 -10
- 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 +5 -0
- package/dist/build/sbom.js +32 -0
- package/dist/build/types.d.ts +214 -67
- 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.d.ts +1 -0
- 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 -16
- 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 +26 -21
- package/dist/context/getEnvironmentContext.d.ts +7 -3
- package/dist/context/getEnvironmentContext.js +21 -11
- package/dist/context/getEnvironmentVariables.d.ts +22 -10
- package/dist/context/getEnvironmentVariables.js +85 -54
- package/dist/context/getLabels.d.ts +3 -2
- package/dist/context/getLabels.js +9 -6
- 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 +13 -0
- package/dist/{pipeline/commitInfo/getBuildId.js → context/transformJobOnlyVars.js} +41 -14
- package/dist/context/utils/envVars.d.ts +8 -0
- package/dist/context/utils/envVars.js +55 -0
- package/dist/defaults/index.js +3 -1
- package/dist/deploy/base/deploy.d.ts +5 -0
- package/dist/deploy/base/deploy.js +122 -0
- package/dist/deploy/base/index.d.ts +8 -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 +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 +24 -16
- 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 +51 -10
- 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 +35 -45
- 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 +6 -9
- package/dist/deploy/kubernetes/kubeValues.js +16 -18
- package/dist/deploy/kubernetes/mongodb.d.ts +2 -2
- package/dist/deploy/kubernetes/mongodb.js +19 -16
- package/dist/deploy/sbom.d.ts +4 -0
- package/dist/deploy/sbom.js +20 -0
- package/dist/deploy/types/base.d.ts +18 -2
- 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 +133 -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 +41 -55
- 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 +10 -152
- 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 -12
- package/dist/pipeline/gitlab/createGitlabJobs.js +259 -60
- 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 +52 -26
- 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 +52 -25
- package/dist/types/config.js +5 -2
- package/dist/types/context.d.ts +132 -37
- 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 +769 -0
- package/dist/types/gitlab-ci-yml.js +10 -0
- package/dist/types/gitlab-types.d.ts +15 -96
- 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 +35 -16
- 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.d.ts +2 -1
- package/dist/utils/gitlab.js +14 -3
- 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/utils/writeFiles.js +172 -0
- 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 +7 -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 +14 -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 +15 -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 +64 -0
- 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 +86 -0
- package/examples/node-build-with-custom-image.test.ts +11 -0
- package/examples/node-build-with-custom-image.ts +26 -0
- 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 +23 -17
- 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 +77 -26
- package/scripts/generate-examples-test.ts +84 -0
- package/scripts/generate-gitlab-ci-types.ts +51 -0
- 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__/__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/createBuildJobDefinition.ts +37 -0
- package/src/build/base/index.ts +64 -0
- package/src/build/base/writeBuildInfo.ts +3 -3
- package/src/build/base/writeDotEnv.ts +40 -0
- 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 +29 -0
- package/src/build/custom/buildJob.ts +18 -53
- package/src/build/custom/index.ts +2 -2
- package/src/build/custom/testJob.ts +40 -14
- package/src/build/docker.ts +149 -63
- package/src/build/index.ts +42 -10
- package/src/build/node/buildJob.ts +68 -69
- 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 +37 -47
- package/src/build/node/testJob.ts +61 -22
- package/src/build/node/yarn.ts +72 -27
- package/src/build/rails/build.ts +42 -12
- package/src/build/rails/index.ts +2 -2
- package/src/build/rails/test.ts +31 -15
- package/src/build/sbom.ts +48 -0
- package/src/build/types.ts +262 -79
- 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 +9 -23
- package/src/context/getEnvironmentContext.ts +25 -29
- package/src/context/getEnvironmentVariables.ts +127 -84
- package/src/context/getLabels.ts +5 -4
- package/src/context/getReviewSlug.ts +27 -0
- package/src/context/index.ts +1 -65
- package/src/context/transformJobOnlyVars.ts +45 -0
- package/src/context/utils/envVars.ts +27 -0
- package/src/deploy/base/deploy.ts +130 -0
- package/src/deploy/base/index.ts +27 -0
- package/src/deploy/base/rollback.ts +35 -0
- package/src/deploy/base/stop.ts +40 -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 +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 +35 -25
- package/src/deploy/custom/index.ts +2 -2
- package/src/deploy/dockerTag/deployJob.ts +12 -14
- 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 +52 -51
- 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 +17 -16
- package/src/deploy/sbom.ts +32 -0
- package/src/deploy/types/base.ts +20 -0
- package/src/deploy/types/custom.ts +3 -7
- package/src/deploy/types/dockerTag.ts +2 -0
- package/src/deploy/types/googleCloudRun.ts +140 -10
- package/src/deploy/types/index.ts +2 -2
- package/src/deploy/types/kubernetes.ts +24 -37
- 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 +11 -41
- 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 +391 -98
- 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 +50 -31
- 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 +52 -12
- package/src/types/context.ts +176 -35
- package/src/types/environmentContext.ts +18 -13
- package/src/types/gitlab-ci-yml.ts +891 -0
- package/src/types/gitlab-types.ts +54 -87
- package/src/types/index.ts +1 -0
- package/src/types/jobDefinition.ts +34 -0
- package/src/types/jobs.ts +37 -17
- package/src/types/utils.ts +4 -4
- package/src/utils/gitlab.ts +28 -1
- 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/tsconfig.json +1 -1
- package/bin/catladder-gitlab-dev.js +0 -3
- package/bin/catladder-gitlab.js +0 -3
- package/dist/build/base/createBuildJob.d.ts +0 -7
- package/dist/bundles/catladder-gitlab/index.js +0 -33200
- 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/base.d.ts +0 -10
- package/dist/deploy/base.js +0 -112
- package/dist/deploy/cloudRun/deployJob.d.ts +0 -3
- package/dist/deploy/cloudRun/deployJob.js +0 -242
- package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +0 -86
- package/dist/deploy/kubernetes/processSecretsAsFiles.js +0 -31
- package/dist/pipeline/commitInfo/getBuildId.d.ts +0 -1
- package/dist/pipeline/commitInfo/getCommitInfo.d.ts +0 -2
- package/dist/pipeline/createChildPipeline.d.ts +0 -3
- package/dist/verify/reporting.d.ts +0 -3
- package/dist/verify/reporting.js +0 -48
- package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +0 -1776
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +0 -1776
- package/examples/__snapshots__/cloud-run-non-public.ts.snap +0 -1776
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +0 -3524
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +0 -3535
- package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +0 -1630
- package/examples/__snapshots__/custom-build-job.ts.snap +0 -1378
- package/examples/__snapshots__/custom-deploy.ts.snap +0 -1580
- package/examples/__snapshots__/custom-envs.ts.snap +0 -1164
- package/examples/__snapshots__/custom-sbom-java.ts.snap +0 -1386
- package/examples/__snapshots__/kubernetes-application-customization.ts.snap +0 -2476
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +0 -2436
- package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +0 -2448
- package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +0 -4469
- package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +0 -2640
- package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +0 -2143
- package/examples/__snapshots__/wait-for-other-deploy.ts.snap +0 -2018
- package/examples/kubernetes-with-cloud-sql-legacy.ts +0 -33
- package/scripts/bundle +0 -2
- package/src/build/base/createBuildJob.ts +0 -50
- package/src/context/__tests__/resolveReferences.test.ts +0 -143
- package/src/context/resolveReferences.ts +0 -70
- package/src/deploy/base.ts +0 -144
- package/src/deploy/cloudRun/deployJob.ts +0 -275
- package/src/deploy/kubernetes/processSecretsAsFiles.ts +0 -34
- package/src/pipeline/commitInfo/getBuildId.ts +0 -6
- package/src/pipeline/commitInfo/getCommitInfo.ts +0 -12
- package/src/pipeline/createChildPipeline.ts +0 -45
- package/src/verify/reporting.ts +0 -69
- /package/dist/{context/__tests__/resolveReferences.test.d.ts → build/base/__tests__/createArtifactsConfig.test.d.ts} +0 -0
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
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
|
+
};
|
|
3
13
|
var __read = this && this.__read || function (o, n) {
|
|
4
14
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
5
15
|
if (!m) return o;
|
|
@@ -22,17 +32,43 @@ var __read = this && this.__read || function (o, n) {
|
|
|
22
32
|
}
|
|
23
33
|
return ar;
|
|
24
34
|
};
|
|
25
|
-
|
|
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
|
+
});
|
|
26
47
|
exports.createRailsBuildJobs = void 0;
|
|
27
|
-
var
|
|
48
|
+
var __1 = require("../..");
|
|
49
|
+
var base_1 = require("../base");
|
|
28
50
|
var docker_1 = require("../docker");
|
|
51
|
+
var types_1 = require("../types");
|
|
29
52
|
var createRailsBuildJobs = function (context) {
|
|
30
53
|
var _a, _b, _c;
|
|
31
|
-
var buildConfig = context.
|
|
54
|
+
var buildConfig = context.build.config;
|
|
32
55
|
if (!(0, types_1.isOfBuildType)(buildConfig, "rails")) {
|
|
33
56
|
// should not happen
|
|
34
57
|
throw new Error("build type is not rails");
|
|
35
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
|
+
}
|
|
36
72
|
var cnbConf = buildConfig.cnbBuilder;
|
|
37
73
|
var packEnvArgs = Object.entries((_a = cnbConf === null || cnbConf === void 0 ? void 0 : cnbConf.buildVars) !== null && _a !== void 0 ? _a : {}).map(function (_a) {
|
|
38
74
|
var _b = __read(_a, 2),
|
|
@@ -40,12 +76,15 @@ var createRailsBuildJobs = function (context) {
|
|
|
40
76
|
v = _b[1];
|
|
41
77
|
return "--env '".concat(k).concat(v ? "=".concat(v) : "", "'");
|
|
42
78
|
}).join(" ");
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
79
|
+
return (0, base_1.createComponentBuildJobs)(context, {
|
|
80
|
+
appBuild: undefined,
|
|
81
|
+
dockerBuild: {
|
|
82
|
+
variables: __assign({}, context.environment.jobOnlyVars.build.envVars),
|
|
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
|
+
});
|
|
50
89
|
};
|
|
51
90
|
exports.createRailsBuildJobs = createRailsBuildJobs;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ComponentContext } from "../../types";
|
|
2
2
|
import type { CatladderJob } from "../../types/jobs";
|
|
3
|
-
export declare const createRailsJobs: (context:
|
|
3
|
+
export declare const createRailsJobs: (context: ComponentContext) => CatladderJob[];
|
|
@@ -31,7 +31,9 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
|
31
31
|
}
|
|
32
32
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
33
|
};
|
|
34
|
-
exports
|
|
34
|
+
Object.defineProperty(exports, "__esModule", {
|
|
35
|
+
value: true
|
|
36
|
+
});
|
|
35
37
|
exports.createRailsJobs = void 0;
|
|
36
38
|
var build_1 = require("./build");
|
|
37
39
|
var test_1 = require("./test");
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ComponentContext } from "../..";
|
|
2
2
|
import type { CatladderJob } from "../../types/jobs";
|
|
3
|
-
export declare const createRailsTestJobs: (context:
|
|
3
|
+
export declare const createRailsTestJobs: (context: ComponentContext) => CatladderJob[];
|
package/dist/build/rails/test.js
CHANGED
|
@@ -41,18 +41,26 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
|
41
41
|
}
|
|
42
42
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
43
43
|
};
|
|
44
|
-
exports
|
|
44
|
+
Object.defineProperty(exports, "__esModule", {
|
|
45
|
+
value: true
|
|
46
|
+
});
|
|
45
47
|
exports.createRailsTestJobs = void 0;
|
|
48
|
+
var __1 = require("../..");
|
|
46
49
|
var utils_1 = require("../../utils");
|
|
47
50
|
var createRailsTestJobs = function (context) {
|
|
48
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
51
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
49
52
|
// don't run tests after release
|
|
50
|
-
|
|
53
|
+
// TODO: this will be replaced by using rules
|
|
54
|
+
if (context.trigger === "taggedRelease") {
|
|
51
55
|
return [];
|
|
52
56
|
}
|
|
53
|
-
|
|
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;
|
|
54
62
|
var base = {
|
|
55
|
-
variables: (
|
|
63
|
+
variables: __assign({}, context.environment.jobOnlyVars.build.envVars),
|
|
56
64
|
stage: "test",
|
|
57
65
|
needs: [],
|
|
58
66
|
envMode: "none"
|
|
@@ -63,7 +71,7 @@ var createRailsTestJobs = function (context) {
|
|
|
63
71
|
var bundlerCache = {
|
|
64
72
|
key: {
|
|
65
73
|
files: ["Gemfile.lock"],
|
|
66
|
-
prefix: "$CI_JOB_IMAGE"
|
|
74
|
+
prefix: "$CI_JOB_IMAGE" // a changed image might have different OS libraries which no longer work with the cached gems
|
|
67
75
|
},
|
|
68
76
|
paths: [bundlerCacheDir]
|
|
69
77
|
};
|
|
@@ -71,23 +79,23 @@ var createRailsTestJobs = function (context) {
|
|
|
71
79
|
name: "🛡 audit"
|
|
72
80
|
}, base), {
|
|
73
81
|
cache: undefined,
|
|
74
|
-
image: (
|
|
75
|
-
script: __spreadArray(["cd ".concat(context.
|
|
82
|
+
image: (_c = (_b = (_a = buildConfig.audit) === null || _a === void 0 ? void 0 : _a.jobImage) !== null && _b !== void 0 ? _b : buildConfig.jobImage) !== null && _c !== void 0 ? _c : defaultImage,
|
|
83
|
+
script: __spreadArray(["cd ".concat(context.build.dir)], __read((_e = (0, utils_1.ensureArrayOrNull)((_d = buildConfig.audit) === null || _d === void 0 ? void 0 : _d.command)) !== null && _e !== void 0 ? _e : ["gem install bundler-audit", "bundle audit check"]), false),
|
|
76
84
|
allow_failure: true
|
|
77
85
|
}) : null;
|
|
78
86
|
var lintJob = buildConfig.lint !== false ? __assign(__assign({
|
|
79
87
|
name: "👮 lint"
|
|
80
88
|
}, base), {
|
|
81
89
|
cache: bundlerCache,
|
|
82
|
-
image: (_h = (_g = buildConfig.lint) === null ||
|
|
83
|
-
script: __spreadArray(__spreadArray(["cd ".concat(context.
|
|
90
|
+
image: (_h = (_g = (_f = buildConfig.lint) === null || _f === void 0 ? void 0 : _f.jobImage) !== null && _g !== void 0 ? _g : buildConfig.jobImage) !== null && _h !== void 0 ? _h : defaultImage,
|
|
91
|
+
script: __spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(bundlerInstall), false), __read((_k = (0, utils_1.ensureArrayOrNull)((_j = buildConfig.lint) === null || _j === void 0 ? void 0 : _j.command)) !== null && _k !== void 0 ? _k : ["bundle exec rubocop"]), false)
|
|
84
92
|
}) : null;
|
|
85
93
|
var testJob = buildConfig.test !== false ? __assign(__assign({
|
|
86
94
|
name: "🧪 test"
|
|
87
95
|
}, base), {
|
|
88
96
|
cache: bundlerCache,
|
|
89
|
-
image: (_m = (_l = buildConfig.test) === null || _l === void 0 ? void 0 : _l.jobImage) !== null && _m !== void 0 ? _m : defaultImage,
|
|
90
|
-
script: __spreadArray(__spreadArray(["cd ".concat(context.
|
|
97
|
+
image: (_o = (_m = (_l = buildConfig.test) === null || _l === void 0 ? void 0 : _l.jobImage) !== null && _m !== void 0 ? _m : buildConfig.jobImage) !== null && _o !== void 0 ? _o : defaultImage,
|
|
98
|
+
script: __spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(bundlerInstall), false), __read((_q = (0, utils_1.ensureArrayOrNull)((_p = buildConfig.test) === null || _p === void 0 ? void 0 : _p.command)) !== null && _q !== void 0 ? _q : ["bundle exec rspec"]), false)
|
|
91
99
|
}) : null;
|
|
92
100
|
return [auditJob, lintJob, testJob].filter(utils_1.notNil);
|
|
93
101
|
};
|
|
@@ -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.ensureArrayOrNull)((_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,46 +1,100 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
|
|
1
|
+
import type { Artifacts, EnvVars, GitlabJobImage } from "../types";
|
|
2
|
+
import type { Services } from "../types/gitlab-ci-yml";
|
|
3
|
+
import type { CatladderJob, CatladderJobCache } from "../types/jobs";
|
|
4
|
+
export type CacheConfigAdvanced = Omit<CatladderJobCache, "paths" | "key"> & {
|
|
5
|
+
/**
|
|
6
|
+
* if you set a key, the cache is scoped to the key. Be aware that there is a limit in gitlab of 4 caches.
|
|
7
|
+
*
|
|
8
|
+
* see https://gitlab.com/gitlab-org/gitlab/-/issues/421962
|
|
9
|
+
*/
|
|
10
|
+
key: Required<CatladderJobCache>["key"];
|
|
11
|
+
/**
|
|
12
|
+
* whether the cache is scoped to the context (component or workspace) or the build directory.
|
|
13
|
+
*
|
|
14
|
+
* defaults to context
|
|
15
|
+
*/
|
|
16
|
+
scope?: "context" | "buildDir" | "global";
|
|
17
|
+
} & CacheConfigSimple;
|
|
18
|
+
export type CacheConfigSimple = {
|
|
19
|
+
/**
|
|
20
|
+
* paths to cache. All Paths are relative to the context dir.
|
|
21
|
+
*/
|
|
22
|
+
paths: string[];
|
|
23
|
+
/**
|
|
24
|
+
* whether paths are relative to the base dir. defaults to relative.
|
|
25
|
+
*/
|
|
26
|
+
pathMode?: "relative" | "absolute";
|
|
27
|
+
/**
|
|
28
|
+
* custom base dir
|
|
29
|
+
*/
|
|
30
|
+
baseDir?: string;
|
|
31
|
+
};
|
|
32
|
+
export type CacheConfig = CacheConfigSimple | CacheConfigAdvanced;
|
|
33
|
+
export type BuildConfigArtifactsReports = {
|
|
34
|
+
/**
|
|
35
|
+
* The junit report collects JUnit report format XML files.
|
|
36
|
+
* The collected Unit test reports upload to GitLab as an artifact.
|
|
37
|
+
* Paths are prefixed with component's root folder.
|
|
38
|
+
* eg. `["dist/test-results/TEST-*.xml", "dist/rspec.xml", ...]`
|
|
39
|
+
*/
|
|
40
|
+
junit?: string[];
|
|
41
|
+
};
|
|
42
|
+
export type WithCacheConfig = {
|
|
43
|
+
cache?: CacheConfig | CacheConfig[];
|
|
44
|
+
/**
|
|
45
|
+
* customize cache for the job
|
|
46
|
+
*
|
|
47
|
+
* @deprecated use cache
|
|
48
|
+
*/
|
|
49
|
+
jobCache?: CatladderJob["cache"];
|
|
50
|
+
};
|
|
51
|
+
export type TestJobCustom = {
|
|
52
|
+
command?: string | string[];
|
|
53
|
+
jobImage?: GitlabJobImage;
|
|
54
|
+
/**
|
|
55
|
+
* additional CI/CD artifacts reports,
|
|
56
|
+
* use to display information in merge requests, pipeline views and security dashboards.
|
|
57
|
+
*/
|
|
58
|
+
artifactsReports?: BuildConfigArtifactsReports;
|
|
59
|
+
/**
|
|
60
|
+
* GitLab {@link Artifacts} configuration.
|
|
61
|
+
*
|
|
62
|
+
* {@link TestJobCustom.artifacts}.reports.junit is merged with {@link TestJobCustom.artifactsReports} in case both given.
|
|
63
|
+
*/
|
|
64
|
+
artifacts?: Artifacts;
|
|
65
|
+
};
|
|
66
|
+
export type BuildConfigBase = {
|
|
4
67
|
/**
|
|
5
68
|
* command to run on the image to start the app (e.g. yarn start)
|
|
6
69
|
*/
|
|
7
70
|
startCommand?: string;
|
|
8
71
|
/**
|
|
9
|
-
*
|
|
72
|
+
* vars that only exist in the build jobs.
|
|
73
|
+
* Can curently not reference other variables from other components
|
|
10
74
|
*/
|
|
11
|
-
|
|
75
|
+
jobVars?: EnvVars;
|
|
12
76
|
/**
|
|
13
|
-
*
|
|
77
|
+
* additional vars only for the runner.
|
|
78
|
+
* Also if you use services: that require env vars, you need to set them here.
|
|
79
|
+
*
|
|
14
80
|
*/
|
|
15
|
-
|
|
81
|
+
runnerVariables?: Record<string, string>;
|
|
16
82
|
/**
|
|
17
|
-
*
|
|
83
|
+
* define the build command
|
|
18
84
|
*/
|
|
19
|
-
|
|
20
|
-
additionsBegin?: string[];
|
|
21
|
-
additionsEnd?: string[];
|
|
22
|
-
};
|
|
85
|
+
buildCommand?: string | string[] | null;
|
|
23
86
|
/**
|
|
24
87
|
* customize lint, set false to disable
|
|
25
88
|
*/
|
|
26
|
-
lint?: false |
|
|
27
|
-
command?: string | string[];
|
|
28
|
-
jobImage?: GitlabJobImage;
|
|
29
|
-
};
|
|
89
|
+
lint?: false | TestJobCustom;
|
|
30
90
|
/**
|
|
31
91
|
* customize test, set false to disable
|
|
32
92
|
*/
|
|
33
|
-
test?: false |
|
|
34
|
-
command?: string | string[];
|
|
35
|
-
jobImage?: GitlabJobImage;
|
|
36
|
-
};
|
|
93
|
+
test?: false | TestJobCustom;
|
|
37
94
|
/**
|
|
38
95
|
* customize audit, set false to disable
|
|
39
96
|
*/
|
|
40
|
-
audit?: false |
|
|
41
|
-
command?: string | string[];
|
|
42
|
-
jobImage?: GitlabJobImage;
|
|
43
|
-
};
|
|
97
|
+
audit?: false | TestJobCustom;
|
|
44
98
|
/**
|
|
45
99
|
* additional paths for artifacts,
|
|
46
100
|
* by default "dist" and ".next" are allways included
|
|
@@ -50,73 +104,109 @@ export declare type BuildConfigBase = {
|
|
|
50
104
|
* additional CI/CD artifacts reports,
|
|
51
105
|
* use to display information in merge requests, pipeline views and security dashboards.
|
|
52
106
|
*/
|
|
53
|
-
artifactsReports?:
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
107
|
+
artifactsReports?: BuildConfigArtifactsReports;
|
|
108
|
+
/**
|
|
109
|
+
* customize cache for the job
|
|
110
|
+
*
|
|
111
|
+
* @deprecated use cache
|
|
112
|
+
*/
|
|
113
|
+
jobCache?: CatladderJob["cache"];
|
|
114
|
+
/**
|
|
115
|
+
* tags for the underlying job runner (e.g gitlab)
|
|
116
|
+
*/
|
|
117
|
+
jobTags?: string[];
|
|
118
|
+
/**
|
|
119
|
+
* custom image to use
|
|
120
|
+
*/
|
|
121
|
+
jobImage?: GitlabJobImage;
|
|
122
|
+
} & WithCacheConfig;
|
|
123
|
+
export type BuildConfigNodeBase = BuildConfigBase & {
|
|
124
|
+
/**
|
|
125
|
+
* runs a command after yarn install. postinstall in package.json won't work for yarn plug and play.
|
|
126
|
+
* the command will be invoked in the component dir.
|
|
127
|
+
*/
|
|
128
|
+
postInstall?: string | string[];
|
|
62
129
|
};
|
|
63
|
-
export
|
|
64
|
-
export declare type BuildConfigNode = {
|
|
130
|
+
export type BuildConfigNode = {
|
|
65
131
|
type: "node";
|
|
132
|
+
docker?: Omit<BuildConfigDockerBuiltInNode, "type"> | BuildConfigDocker;
|
|
66
133
|
} & BuildConfigNodeBase;
|
|
67
|
-
export
|
|
134
|
+
export type BuildConfigNodeStatic = BuildConfigNodeBase & {
|
|
135
|
+
/**
|
|
136
|
+
* @deprecated use type: "node" and docker: { type: "nginx" } instead
|
|
137
|
+
*/
|
|
68
138
|
type: "node-static";
|
|
69
139
|
startCommand?: never;
|
|
140
|
+
docker?: Omit<BuildConfigDockerBuiltInNgninx, "type"> | BuildConfigDocker;
|
|
70
141
|
};
|
|
71
|
-
export
|
|
142
|
+
export type BuildConfigMeteor = BuildConfigNodeBase & {
|
|
72
143
|
type: "meteor";
|
|
73
144
|
/**
|
|
74
145
|
* whether to run yarn install inside the source folder in the docker image.
|
|
75
146
|
* This is only required if you have custom scripts in your image
|
|
76
147
|
*/
|
|
77
148
|
installScripts?: boolean;
|
|
149
|
+
docker?: Omit<BuildConfigDockerBuiltInMeteor, "type"> | BuildConfigDocker;
|
|
78
150
|
};
|
|
79
|
-
export
|
|
151
|
+
export type BuildConfigNodeLike = BuildConfigNode | BuildConfigNodeStatic | BuildConfigStorybook | BuildConfigMeteor;
|
|
152
|
+
type BuildConfigDockerWithAdditions = {
|
|
153
|
+
/**
|
|
154
|
+
* Custom Dockerfile lines integrated in the generated Dockerfile before the standard build steps.
|
|
155
|
+
*
|
|
156
|
+
*/
|
|
157
|
+
additionsBegin?: string[];
|
|
158
|
+
/**
|
|
159
|
+
* Custom Dockerfile lines integrated in the generated Dockerfile after the standard build steps.
|
|
160
|
+
*
|
|
161
|
+
*/
|
|
162
|
+
additionsEnd?: string[];
|
|
163
|
+
};
|
|
164
|
+
type BuildConfigDockerBuiltInNode = {
|
|
165
|
+
type: "node";
|
|
166
|
+
} & BuildConfigDockerWithAdditions;
|
|
167
|
+
type BuildConfigDockerBuiltInMeteor = {
|
|
168
|
+
type: "meteor";
|
|
169
|
+
} & BuildConfigDockerWithAdditions;
|
|
170
|
+
type BuildConfigDockerBuiltInNgninx = {
|
|
80
171
|
/**
|
|
81
172
|
* use the built-in nginx image for simple static apps
|
|
82
173
|
*/
|
|
83
174
|
type: "nginx";
|
|
84
|
-
}
|
|
175
|
+
} & BuildConfigDockerWithAdditions;
|
|
176
|
+
type BuildConfigDockerBuiltIn = BuildConfigDockerBuiltInNgninx | BuildConfigDockerBuiltInNode | BuildConfigDockerBuiltInMeteor;
|
|
177
|
+
type BuildConfigDockerCustom = {
|
|
85
178
|
/**
|
|
86
179
|
* custom docker build, expect that a Dockerfile in your directory
|
|
87
180
|
*/
|
|
88
181
|
type: "custom";
|
|
89
|
-
|
|
90
|
-
|
|
182
|
+
/**
|
|
183
|
+
* where to run the docker build, defaults to the root of the repo.
|
|
184
|
+
*
|
|
185
|
+
* Depending on your Dockerfile you may want to change it to "component"
|
|
186
|
+
*/
|
|
187
|
+
buildContextLocation?: "root" | "component";
|
|
188
|
+
};
|
|
189
|
+
export type BuildConfigDocker = BuildConfigDockerBuiltIn | BuildConfigDockerCustom;
|
|
190
|
+
export type BuildConfigCustom = Omit<BuildConfigBase, "lint" | "test" | "audit"> & {
|
|
91
191
|
type: "custom";
|
|
92
|
-
jobImage:
|
|
93
|
-
jobServices?: GitlabJobService[];
|
|
94
|
-
docker: BuildConfigCustomDocker;
|
|
192
|
+
jobImage: GitlabJobImage;
|
|
95
193
|
/**
|
|
96
|
-
*
|
|
194
|
+
* {@link Services}s used in lint, test, audit, and build jobs.
|
|
97
195
|
*/
|
|
98
|
-
|
|
196
|
+
jobServices?: Services;
|
|
197
|
+
docker: BuildConfigDocker;
|
|
99
198
|
/**
|
|
100
199
|
* custom lint, disabled when not set
|
|
101
200
|
*/
|
|
102
|
-
lint?:
|
|
103
|
-
command?: string | string[];
|
|
104
|
-
jobImage?: GitlabJobImage;
|
|
105
|
-
};
|
|
201
|
+
lint?: TestJobCustom;
|
|
106
202
|
/**
|
|
107
203
|
* custom test, disabled when not set
|
|
108
204
|
*/
|
|
109
|
-
test?:
|
|
110
|
-
command?: string | string[];
|
|
111
|
-
jobImage?: GitlabJobImage;
|
|
112
|
-
};
|
|
205
|
+
test?: TestJobCustom;
|
|
113
206
|
/**
|
|
114
207
|
* custom audit, disabled when not set
|
|
115
208
|
*/
|
|
116
|
-
audit?:
|
|
117
|
-
command?: string | string[];
|
|
118
|
-
jobImage?: GitlabJobImage;
|
|
119
|
-
};
|
|
209
|
+
audit?: TestJobCustom;
|
|
120
210
|
/**
|
|
121
211
|
* custom sbom (software bill of materials), set false to disable
|
|
122
212
|
*/
|
|
@@ -128,8 +218,13 @@ export declare type BuildConfigCustom = Omit<BuildConfigBase, "lint" | "test" |
|
|
|
128
218
|
jobImage: GitlabJobImage;
|
|
129
219
|
};
|
|
130
220
|
};
|
|
131
|
-
export
|
|
221
|
+
export type BuildConfigRails = BuildConfigBase & {
|
|
132
222
|
type: "rails";
|
|
223
|
+
/**
|
|
224
|
+
* The [Cloud Native Buildpacks](https://buildpacks.io/) builder configuration.
|
|
225
|
+
*
|
|
226
|
+
* Only applies when there is no `Dockerfile`.
|
|
227
|
+
*/
|
|
133
228
|
cnbBuilder?: {
|
|
134
229
|
/**
|
|
135
230
|
* The Cloud Native Buildpacks builder image to use.
|
|
@@ -158,25 +253,77 @@ export declare type BuildConfigRails = BuildConfigBase & {
|
|
|
158
253
|
buildVars?: Record<string, string | undefined>;
|
|
159
254
|
};
|
|
160
255
|
};
|
|
161
|
-
export
|
|
256
|
+
export type BuildConfigStorybook = BuildConfigNodeBase & {
|
|
257
|
+
/**
|
|
258
|
+
* @deprecated use type: "node" and docker: { type: "nginx" } instead
|
|
259
|
+
*/
|
|
162
260
|
type: "storybook";
|
|
163
261
|
startCommand?: never;
|
|
164
262
|
};
|
|
165
|
-
export
|
|
166
|
-
|
|
167
|
-
|
|
263
|
+
export type BuildConfigFromWorkspace = {
|
|
264
|
+
from: string;
|
|
265
|
+
docker?: BuildConfigDocker;
|
|
266
|
+
startCommand?: string;
|
|
267
|
+
/**
|
|
268
|
+
* additional paths for artifacts,
|
|
269
|
+
* by default "dist" and ".next" are allways included
|
|
270
|
+
*/
|
|
271
|
+
artifactsPaths?: string[];
|
|
272
|
+
} & WithCacheConfig;
|
|
273
|
+
export type BuildConfigStandalone = BuildConfigNode | BuildConfigNodeStatic | BuildConfigStorybook | BuildConfigMeteor | BuildConfigCustom | BuildConfigRails;
|
|
274
|
+
export type BuildConfig = BuildConfigFromWorkspace | BuildConfigStandalone;
|
|
275
|
+
export type BuildConfigStandaloneType = BuildConfigStandalone["type"];
|
|
276
|
+
export type BuildConfigGeneric<T extends BuildConfigStandaloneType> = Extract<BuildConfig, {
|
|
168
277
|
type: T;
|
|
169
278
|
}>;
|
|
170
|
-
export declare const
|
|
279
|
+
export declare const isStandaloneBuildConfig: (t: BuildConfig | false) => t is BuildConfigStandalone;
|
|
280
|
+
export declare const isOfBuildType: <T extends ("node" | "custom" | "rails" | "meteor" | "node-static" | "storybook")[]>(t: BuildConfig, ...types: T) => t is Extract<BuildConfigNode, {
|
|
171
281
|
type: T[number];
|
|
172
282
|
}> | Extract<BuildConfigNodeStatic, {
|
|
173
283
|
type: T[number];
|
|
284
|
+
}> | Extract<BuildConfigStorybook, {
|
|
285
|
+
type: T[number];
|
|
174
286
|
}> | Extract<BuildConfigMeteor, {
|
|
175
287
|
type: T[number];
|
|
176
288
|
}> | Extract<BuildConfigCustom, {
|
|
177
289
|
type: T[number];
|
|
178
290
|
}> | Extract<BuildConfigRails, {
|
|
179
291
|
type: T[number];
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
|
|
292
|
+
}>;
|
|
293
|
+
export type WorkspaceBuildConfigBase = {
|
|
294
|
+
dir?: string;
|
|
295
|
+
/**
|
|
296
|
+
* customize lint, set false to disable
|
|
297
|
+
*/
|
|
298
|
+
lint?: false | TestJobCustom;
|
|
299
|
+
/**
|
|
300
|
+
* customize test, set false to disable
|
|
301
|
+
*/
|
|
302
|
+
test?: false | TestJobCustom;
|
|
303
|
+
/**
|
|
304
|
+
* customize audit, set false to disable
|
|
305
|
+
*/
|
|
306
|
+
audit?: false | TestJobCustom;
|
|
307
|
+
/**
|
|
308
|
+
* additional vars only for the runner.
|
|
309
|
+
* Also if you use services: that require env vars, you need to set them here.
|
|
310
|
+
*
|
|
311
|
+
*/
|
|
312
|
+
runnerVariables?: Record<string, string>;
|
|
313
|
+
/**
|
|
314
|
+
* additional CI/CD artifacts reports,
|
|
315
|
+
* use to display information in merge requests, pipeline views and security dashboards.
|
|
316
|
+
*/
|
|
317
|
+
artifactsReports?: BuildConfigArtifactsReports;
|
|
318
|
+
jobImage?: GitlabJobImage;
|
|
319
|
+
/**
|
|
320
|
+
* tags for the underlying job runner (e.g gitlab)
|
|
321
|
+
*/
|
|
322
|
+
jobTags?: string[];
|
|
323
|
+
} & WithCacheConfig;
|
|
324
|
+
export type WorkspaceBuildConfigNode = {
|
|
325
|
+
type: "node";
|
|
326
|
+
buildCommand?: string | string[];
|
|
327
|
+
} & WorkspaceBuildConfigBase;
|
|
328
|
+
export type WorkspaceBuildConfig = WorkspaceBuildConfigNode;
|
|
329
|
+
export {};
|
package/dist/build/types.js
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
exports
|
|
4
|
-
|
|
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;
|
|
5
12
|
var isOfBuildType = function (t) {
|
|
6
13
|
var types = [];
|
|
7
14
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
8
15
|
types[_i - 1] = arguments[_i];
|
|
9
16
|
}
|
|
17
|
+
if (!(0, exports.isStandaloneBuildConfig)(t)) return false;
|
|
10
18
|
return types.includes(t.type);
|
|
11
19
|
};
|
|
12
20
|
exports.isOfBuildType = isOfBuildType;
|