@catladder/pipeline 0.0.0-refactor-docker-c24f8608 → 0.0.0-refactor-cache-b38c122b
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 +15 -1
- package/dist/build/artifacts/createBuildJobArtifact.d.ts +3 -0
- package/dist/build/artifacts/createBuildJobArtifact.js +97 -0
- package/dist/build/base/constants.js +1 -1
- package/dist/build/base/createAppBuildJob.d.ts +4 -3
- package/dist/build/base/createAppBuildJob.js +14 -16
- package/dist/build/base/createBuildJobDefinition.d.ts +6 -0
- package/dist/build/base/createBuildJobDefinition.js +58 -0
- package/dist/build/base/index.d.ts +7 -4
- package/dist/build/base/index.js +14 -5
- package/dist/build/base/writeBuildInfo.js +1 -1
- package/dist/build/base/writeDotEnv.d.ts +2 -1
- package/dist/build/base/writeDotEnv.js +17 -3
- package/dist/build/cache/createJobCache.d.ts +7 -0
- package/dist/build/cache/createJobCache.js +109 -0
- package/dist/build/cache/getAllCacheConfigsFromConfig.d.ts +3 -0
- package/dist/build/cache/getAllCacheConfigsFromConfig.js +62 -0
- package/dist/build/cache/transformLegacyJobCache.d.ts +3 -0
- package/dist/build/cache/transformLegacyJobCache.js +29 -0
- package/dist/build/custom/__tests__/testJob.test.js +12 -15
- package/dist/build/custom/buildJob.js +4 -54
- package/dist/build/custom/testJob.d.ts +1 -1
- package/dist/build/custom/testJob.js +16 -15
- package/dist/build/docker.d.ts +9 -13
- package/dist/build/docker.js +25 -18
- package/dist/build/index.d.ts +13 -6
- package/dist/build/index.js +29 -7
- package/dist/build/node/buildJob.d.ts +6 -2
- package/dist/build/node/buildJob.js +37 -42
- package/dist/build/node/cache.d.ts +7 -6
- package/dist/build/node/cache.js +30 -18
- package/dist/build/node/constants.js +2 -2
- package/dist/build/node/index.d.ts +2 -2
- package/dist/build/node/meteor.js +7 -11
- package/dist/build/node/testJob.d.ts +3 -2
- package/dist/build/node/testJob.js +23 -17
- package/dist/build/node/yarn.d.ts +4 -4
- package/dist/build/node/yarn.js +5 -9
- package/dist/build/rails/build.d.ts +1 -1
- package/dist/build/rails/build.js +10 -5
- package/dist/build/rails/test.d.ts +1 -1
- package/dist/build/rails/test.js +9 -4
- package/dist/build/sbom.js +6 -5
- package/dist/build/types.d.ts +107 -6
- package/dist/build/types.js +7 -1
- package/dist/bundles/catladder-gitlab/index.js +3192 -1681
- package/dist/catladder-gitlab.js +131 -6
- 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/readConfig.d.ts +2 -2
- package/dist/config/readConfig.js +188 -37
- package/dist/constants.js +1 -1
- 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 +3 -4
- package/dist/context/getBuildInfoVariables.js +43 -17
- package/dist/context/getEnvironmentContext.d.ts +1 -1
- package/dist/context/getEnvironmentVariables.d.ts +2 -5
- package/dist/context/getEnvironmentVariables.js +5 -4
- package/dist/context/getLabels.js +5 -5
- package/dist/context/index.d.ts +2 -17
- package/dist/context/index.js +2 -164
- package/dist/deploy/base/deploy.d.ts +2 -2
- package/dist/deploy/base/deploy.js +29 -14
- package/dist/deploy/base/index.d.ts +1 -3
- package/dist/deploy/base/rollback.d.ts +1 -1
- package/dist/deploy/base/stop.d.ts +1 -1
- package/dist/deploy/base/variables.js +1 -1
- package/dist/deploy/cloudRun/artifactsRegistry.d.ts +1 -5
- package/dist/deploy/cloudRun/artifactsRegistry.js +10 -11
- package/dist/deploy/cloudRun/cloudRunRevisions.js +4 -5
- package/dist/deploy/cloudRun/createJobs/cloudRunJobs.js +76 -50
- package/dist/deploy/cloudRun/createJobs/cloudRunServices.js +5 -1
- package/dist/deploy/cloudRun/createJobs/common.js +3 -2
- package/dist/deploy/cloudRun/createJobs/index.js +2 -4
- package/dist/deploy/cloudRun/index.d.ts +2 -2
- package/dist/deploy/custom/deployJob.js +8 -9
- package/dist/deploy/custom/index.d.ts +2 -2
- package/dist/deploy/dockerTag/deployJob.js +3 -5
- package/dist/deploy/dockerTag/index.d.ts +2 -2
- package/dist/deploy/index.d.ts +7 -7
- package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +3 -1
- package/dist/deploy/kubernetes/cloudSql/index.js +12 -10
- package/dist/deploy/kubernetes/deployJob.js +6 -9
- package/dist/deploy/kubernetes/index.d.ts +2 -2
- package/dist/deploy/kubernetes/kubeEnv.js +2 -1
- package/dist/deploy/kubernetes/kubeValues.js +10 -10
- package/dist/deploy/kubernetes/mongodb.js +11 -11
- package/dist/deploy/sbom.d.ts +1 -1
- package/dist/deploy/sbom.js +4 -3
- package/dist/deploy/types/custom.d.ts +2 -6
- package/dist/deploy/types/googleCloudRun.d.ts +26 -0
- package/dist/deploy/types/index.d.ts +3 -3
- package/dist/deploy/types/index.js +1 -1
- package/dist/deploy/utils.js +2 -1
- package/dist/packageInfos.d.ts +3 -1
- package/dist/packageInfos.js +13 -7
- 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 +12 -10
- package/dist/pipeline/createAllJobs.js +85 -24
- package/dist/pipeline/createChildPipeline.js +2 -1
- package/dist/pipeline/createJobsForComponent.d.ts +3 -3
- package/dist/pipeline/createJobsForComponent.js +6 -147
- package/dist/pipeline/createJobsForWorkspace.d.ts +3 -0
- package/dist/pipeline/createJobsForWorkspace.js +12 -0
- package/dist/pipeline/createMainPipeline.js +28 -7
- package/dist/pipeline/generatePipelineFiles.d.ts +38 -0
- package/dist/pipeline/generatePipelineFiles.js +79 -27
- package/dist/pipeline/getPipelineStages.d.ts +3 -4
- package/dist/pipeline/getPipelineStages.js +6 -5
- package/dist/pipeline/gitlab/createGitlabJobs.d.ts +4 -18
- package/dist/pipeline/gitlab/createGitlabJobs.js +206 -93
- package/dist/pipeline/gitlab/createGitlabPipeline.js +3 -0
- package/dist/pipeline/gitlab/gitlabReleaseJobs.d.ts +2 -0
- package/dist/pipeline/gitlab/gitlabReleaseJobs.js +3 -0
- package/dist/pipeline/gitlab/sortGitLabJobDefProps.d.ts +7 -0
- package/dist/pipeline/gitlab/sortGitLabJobDefProps.js +27 -0
- package/dist/pipeline/packageManager.d.ts +3 -2
- package/dist/pipeline/packageManager.js +44 -16
- package/dist/pipeline/yarn/yarnUtils.d.ts +2 -2
- package/dist/pipeline/yarn/yarnUtils.js +12 -11
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +10 -5
- package/dist/types/context.d.ts +91 -19
- package/dist/types/context.js +10 -1
- package/dist/types/environmentContext.d.ts +5 -6
- package/dist/types/gitlab-types.d.ts +2 -2
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/jobDefinition.d.ts +11 -0
- package/dist/types/jobDefinition.js +5 -0
- package/dist/types/jobs.d.ts +8 -2
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.js +7 -2
- 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 +5 -1
- package/dist/utils/writeFiles.js +10 -2
- package/examples/.test-gen-ignore +1 -0
- package/examples/__snapshots__/cloud-run-http2.test.ts.snap +1342 -0
- package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +1342 -0
- package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +1326 -0
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +1342 -0
- package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +1446 -0
- package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +1342 -0
- package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +1359 -0
- package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +1342 -0
- package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +1342 -0
- package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +1342 -0
- package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +1410 -0
- package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +1226 -0
- package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +1342 -0
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +2826 -0
- package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +1737 -0
- package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +1350 -0
- package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +1193 -0
- package/examples/__snapshots__/custom-build-job.test.ts.snap +1082 -0
- package/examples/__snapshots__/custom-deploy.test.ts.snap +1100 -0
- package/examples/__snapshots__/custom-envs.test.ts.snap +710 -0
- package/examples/__snapshots__/custom-sbom-java.test.ts.snap +1090 -0
- package/examples/__snapshots__/git-submodule.test.ts.snap +1343 -0
- package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +1779 -0
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.test.ts.snap +1791 -0
- package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +1799 -0
- package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +3353 -0
- package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +1903 -0
- package/examples/__snapshots__/local-dot-env.test.ts.snap +1342 -0
- package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +1840 -0
- package/examples/__snapshots__/multiline-var.test.ts.snap +3377 -0
- package/examples/__snapshots__/native-app.test.ts.snap +2158 -0
- package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +1342 -0
- package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +1350 -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__/wait-for-other-deploy.test.ts.snap +1268 -0
- package/examples/__snapshots__/workspace-api-www-custom-cache.test.ts.snap +2374 -0
- package/examples/__snapshots__/workspace-api-www.test.ts.snap +2354 -0
- package/examples/__utils__/helpers.ts +14 -1
- 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 +6 -4
- package/examples/cloud-run-meteor-with-worker.test.ts +11 -0
- package/examples/cloud-run-meteor-with-worker.ts +6 -4
- 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 +5 -4
- 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 +6 -4
- package/examples/cloud-run-service-custom-vpc.test.ts +11 -0
- package/examples/cloud-run-service-custom-vpc.ts +30 -0
- package/examples/cloud-run-service-gen2.test.ts +11 -0
- package/examples/cloud-run-service-gen2.ts +6 -4
- 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 +6 -4
- package/examples/cloud-run-storybook.test.ts +11 -0
- package/examples/cloud-run-storybook.ts +14 -5
- package/examples/cloud-run-with-ngnix.test.ts +11 -0
- package/examples/cloud-run-with-ngnix.ts +10 -5
- 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 +6 -4
- package/examples/custom-build-job-with-tests.test.ts +11 -0
- package/examples/custom-build-job-with-tests.ts +5 -4
- package/examples/custom-build-job.test.ts +11 -0
- package/examples/custom-build-job.ts +5 -4
- package/examples/custom-deploy.test.ts +11 -0
- package/examples/custom-deploy.ts +5 -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 +6 -4
- package/examples/kubernetes-with-cloud-sql-legacy.test.ts +11 -0
- package/examples/kubernetes-with-cloud-sql-legacy.ts +6 -4
- package/examples/kubernetes-with-cloud-sql.test.ts +11 -0
- package/examples/kubernetes-with-cloud-sql.ts +6 -4
- package/examples/kubernetes-with-jobs.test.ts +11 -0
- package/examples/kubernetes-with-jobs.ts +6 -4
- package/examples/kubernetes-with-mongodb.test.ts +11 -0
- package/examples/kubernetes-with-mongodb.ts +6 -4
- package/examples/local-dot-env.test.ts +11 -0
- package/examples/local-dot-env.ts +6 -4
- package/examples/meteor-kubernetes.test.ts +11 -0
- package/examples/meteor-kubernetes.ts +3 -4
- package/examples/multiline-var.test.ts +11 -0
- package/examples/multiline-var.ts +5 -4
- package/examples/native-app.test.ts +11 -0
- package/examples/native-app.ts +12 -10
- package/examples/node-build-with-custom-image.test.ts +11 -0
- package/examples/node-build-with-custom-image.ts +5 -4
- package/examples/node-build-with-docker-additions.test.ts +11 -0
- package/examples/node-build-with-docker-additions.ts +5 -4
- package/examples/rails-k8s-with-worker-dockerfile.test.ts +9 -0
- package/examples/rails-k8s-with-worker.test.ts +11 -0
- package/examples/rails-k8s-with-worker.ts +4 -10
- package/examples/wait-for-other-deploy.test.ts +11 -0
- package/examples/wait-for-other-deploy.ts +5 -4
- package/examples/workspace-api-www-custom-cache.test.ts +11 -0
- package/examples/workspace-api-www-custom-cache.ts +51 -0
- package/examples/workspace-api-www.test.ts +11 -0
- package/examples/workspace-api-www.ts +45 -0
- package/package.json +10 -6
- package/scripts/bundle +1 -1
- package/scripts/generate-examples-test.ts +91 -0
- package/scripts/tsconfig.json +7 -0
- package/src/build/artifacts/createBuildJobArtifact.ts +61 -0
- package/src/build/base/constants.ts +1 -1
- package/src/build/base/createAppBuildJob.ts +37 -26
- package/src/build/base/createBuildJobDefinition.ts +37 -0
- package/src/build/base/index.ts +35 -6
- package/src/build/base/writeBuildInfo.ts +1 -1
- package/src/build/base/writeDotEnv.ts +17 -3
- package/src/build/cache/createJobCache.ts +82 -0
- package/src/build/cache/getAllCacheConfigsFromConfig.ts +26 -0
- package/src/build/cache/transformLegacyJobCache.ts +14 -0
- package/src/build/custom/__tests__/testJob.test.ts +9 -12
- package/src/build/custom/buildJob.ts +5 -28
- package/src/build/custom/testJob.ts +14 -13
- package/src/build/docker.ts +40 -28
- package/src/build/index.ts +39 -7
- package/src/build/node/buildJob.ts +62 -68
- package/src/build/node/cache.ts +55 -32
- package/src/build/node/constants.ts +2 -2
- package/src/build/node/index.ts +4 -2
- package/src/build/node/meteor.ts +12 -25
- package/src/build/node/testJob.ts +40 -24
- package/src/build/node/yarn.ts +12 -10
- package/src/build/rails/build.ts +17 -7
- package/src/build/rails/test.ts +17 -9
- package/src/build/sbom.ts +12 -7
- package/src/build/types.ts +140 -6
- package/src/catladder-gitlab.ts +11 -6
- 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/readConfig.ts +12 -17
- 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 +26 -30
- package/src/context/getEnvironmentContext.ts +2 -2
- package/src/context/getEnvironmentVariables.ts +12 -7
- package/src/context/getLabels.ts +3 -3
- package/src/context/index.ts +1 -76
- package/src/deploy/base/deploy.ts +46 -32
- package/src/deploy/base/index.ts +8 -3
- package/src/deploy/base/rollback.ts +1 -4
- package/src/deploy/base/stop.ts +1 -4
- package/src/deploy/base/variables.ts +1 -1
- package/src/deploy/cloudRun/artifactsRegistry.ts +8 -14
- package/src/deploy/cloudRun/cloudRunRevisions.ts +3 -5
- package/src/deploy/cloudRun/createJobs/cloudRunJobs.ts +109 -74
- package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +5 -1
- package/src/deploy/cloudRun/createJobs/common.ts +2 -2
- package/src/deploy/cloudRun/createJobs/index.ts +1 -4
- package/src/deploy/cloudRun/index.ts +68 -67
- package/src/deploy/custom/deployJob.ts +9 -8
- package/src/deploy/custom/index.ts +2 -2
- package/src/deploy/dockerTag/deployJob.ts +2 -5
- package/src/deploy/dockerTag/index.ts +8 -7
- package/src/deploy/index.ts +11 -9
- package/src/deploy/kubernetes/additionalSecretKeys.ts +3 -1
- package/src/deploy/kubernetes/cloudSql/index.ts +8 -5
- package/src/deploy/kubernetes/deployJob.ts +3 -6
- package/src/deploy/kubernetes/index.ts +42 -41
- package/src/deploy/kubernetes/kubeEnv.ts +1 -1
- package/src/deploy/kubernetes/kubeValues.ts +3 -3
- package/src/deploy/kubernetes/mongodb.ts +6 -6
- package/src/deploy/sbom.ts +11 -7
- package/src/deploy/types/custom.ts +3 -7
- package/src/deploy/types/googleCloudRun.ts +29 -0
- package/src/deploy/types/index.ts +2 -2
- package/src/deploy/utils.ts +1 -1
- package/src/packageInfos.ts +7 -3
- 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 +61 -41
- package/src/pipeline/createChildPipeline.ts +2 -0
- package/src/pipeline/createJobsForComponent.ts +7 -31
- package/src/pipeline/createJobsForWorkspace.ts +12 -0
- package/src/pipeline/createMainPipeline.ts +43 -23
- package/src/pipeline/generatePipelineFiles.ts +63 -25
- package/src/pipeline/getPipelineStages.ts +6 -5
- package/src/pipeline/gitlab/createGitlabJobs.ts +276 -116
- package/src/pipeline/gitlab/createGitlabPipeline.ts +5 -1
- package/src/pipeline/gitlab/gitlabReleaseJobs.ts +5 -0
- package/src/pipeline/gitlab/sortGitLabJobDefProps.ts +59 -0
- package/src/pipeline/packageManager.ts +27 -11
- package/src/pipeline/yarn/yarnUtils.ts +9 -6
- package/src/types/config.ts +12 -2
- package/src/types/context.ts +124 -20
- package/src/types/environmentContext.ts +6 -7
- package/src/types/gitlab-types.ts +2 -2
- package/src/types/index.ts +1 -0
- package/src/types/jobDefinition.ts +34 -0
- package/src/types/jobs.ts +8 -9
- package/src/utils/index.ts +4 -1
- package/src/utils/jsonParse.ts +7 -0
- package/src/utils/removeUndefined.ts +4 -0
- package/src/utils/writeFiles.ts +14 -1
- package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +0 -1971
- package/examples/__snapshots__/cloud-run-meteor-with-worker.ts.snap +0 -1939
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +0 -1971
- package/examples/__snapshots__/cloud-run-no-service.ts.snap +0 -2023
- package/examples/__snapshots__/cloud-run-non-public.ts.snap +0 -1971
- package/examples/__snapshots__/cloud-run-post-stop-job.ts.snap +0 -1982
- package/examples/__snapshots__/cloud-run-service-gen2.ts.snap +0 -1971
- package/examples/__snapshots__/cloud-run-service-with-volumes.ts.snap +0 -2015
- package/examples/__snapshots__/cloud-run-storybook.ts.snap +0 -1687
- package/examples/__snapshots__/cloud-run-with-ngnix.ts.snap +0 -1971
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +0 -3947
- package/examples/__snapshots__/cloud-run-with-sql.ts.snap +0 -3946
- package/examples/__snapshots__/cloud-run-with-worker.ts.snap +0 -1979
- package/examples/__snapshots__/custom-build-job-with-tests.ts.snap +0 -1795
- package/examples/__snapshots__/custom-build-job.ts.snap +0 -1495
- package/examples/__snapshots__/custom-deploy.ts.snap +0 -1733
- package/examples/__snapshots__/custom-envs.ts.snap +0 -1181
- package/examples/__snapshots__/custom-sbom-java.ts.snap +0 -1503
- package/examples/__snapshots__/kubernetes-application-customization.ts.snap +0 -2462
- package/examples/__snapshots__/kubernetes-with-cloud-sql-legacy.ts.snap +0 -2474
- package/examples/__snapshots__/kubernetes-with-cloud-sql.ts.snap +0 -2482
- package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +0 -4570
- package/examples/__snapshots__/kubernetes-with-mongodb.ts.snap +0 -2586
- package/examples/__snapshots__/local-dot-env.ts.snap +0 -1971
- package/examples/__snapshots__/meteor-kubernetes.ts.snap +0 -2507
- package/examples/__snapshots__/multiline-var.ts.snap +0 -4500
- package/examples/__snapshots__/native-app.ts.snap +0 -3171
- package/examples/__snapshots__/node-build-with-custom-image.ts.snap +0 -1971
- package/examples/__snapshots__/node-build-with-docker-additions.ts.snap +0 -1979
- package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +0 -4029
- package/examples/__snapshots__/wait-for-other-deploy.ts.snap +0 -2117
|
@@ -1,70 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
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
3
|
Object.defineProperty(exports, "__esModule", {
|
|
35
4
|
value: true
|
|
36
5
|
});
|
|
37
6
|
exports.createCustomBuildJobs = void 0;
|
|
38
|
-
var path_1 = require("path");
|
|
39
|
-
var utils_1 = require("../../utils");
|
|
40
7
|
var docker_1 = require("../docker");
|
|
41
8
|
var types_1 = require("../types");
|
|
42
9
|
var base_1 = require("../base");
|
|
43
|
-
var
|
|
44
|
-
KUBERNETES_CPU_REQUEST: "0.5",
|
|
45
|
-
KUBERNETES_MEMORY_REQUEST: "2Gi",
|
|
46
|
-
KUBERNETES_MEMORY_LIMIT: "4Gi"
|
|
47
|
-
};
|
|
10
|
+
var createBuildJobDefinition_1 = require("../base/createBuildJobDefinition");
|
|
48
11
|
var createCustomBuildJobs = function (context) {
|
|
49
|
-
var
|
|
50
|
-
var buildConfig = context.componentConfig.build;
|
|
12
|
+
var buildConfig = context.build.config;
|
|
51
13
|
if (!(0, types_1.isOfBuildType)(buildConfig, "custom")) {
|
|
52
14
|
throw new Error("deploy config is not custom");
|
|
53
15
|
}
|
|
54
|
-
return (0, base_1.
|
|
55
|
-
appBuild: buildConfig.buildCommand !== null ?
|
|
56
|
-
image: buildConfig.jobImage,
|
|
57
|
-
runnerVariables: RUNNER_BUILD_VARIABLES,
|
|
58
|
-
cache: buildConfig.jobCache,
|
|
59
|
-
services: buildConfig.jobServices,
|
|
60
|
-
script: __spreadArray([], __read((_a = (0, utils_1.ensureArray)(buildConfig.buildCommand)) !== null && _a !== void 0 ? _a : []), false),
|
|
61
|
-
artifacts: {
|
|
62
|
-
paths: __spreadArray([(0, path_1.join)(context.componentConfig.dir, "__build_info.json"), (0, path_1.join)(context.componentConfig.dir, "dist")], __read((_c = (_b = buildConfig.artifactsPaths) === null || _b === void 0 ? void 0 : _b.map(function (path) {
|
|
63
|
-
return (0, path_1.join)(context.componentConfig.dir, path);
|
|
64
|
-
})) !== null && _c !== void 0 ? _c : []), false),
|
|
65
|
-
expire_in: "1 day"
|
|
66
|
-
}
|
|
67
|
-
} : undefined,
|
|
16
|
+
return (0, base_1.createComponentBuildJobs)(context, {
|
|
17
|
+
appBuild: buildConfig.buildCommand !== null ? (0, createBuildJobDefinition_1.createBuildJobDefinition)(context, buildConfig) : undefined,
|
|
68
18
|
dockerBuild: {
|
|
69
19
|
script: (0, docker_1.getDockerBuildScriptWithBuiltInDockerFile)(context),
|
|
70
20
|
variables: {}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { Artifacts } from "../../types";
|
|
1
2
|
import type { ComponentContext } from "../../types/context";
|
|
2
3
|
import type { CatladderJob } from "../../types/jobs";
|
|
3
|
-
import type { Artifacts } from "../../types";
|
|
4
4
|
export declare const createCustomTestJobs: (context: ComponentContext) => CatladderJob[];
|
|
5
5
|
export type OptionalArtifacts = {
|
|
6
6
|
artifacts: Artifacts;
|
|
@@ -46,31 +46,32 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
46
46
|
});
|
|
47
47
|
exports.createCustomTestJobs = void 0;
|
|
48
48
|
var utils_1 = require("../../utils");
|
|
49
|
-
var types_1 = require("../types");
|
|
50
49
|
var createArtifactsConfig_1 = require("../base/createArtifactsConfig");
|
|
50
|
+
var createJobCache_1 = require("../cache/createJobCache");
|
|
51
|
+
var types_1 = require("../types");
|
|
51
52
|
var RUNNER_CUSTOM_TEST_VARIABLES = {
|
|
52
|
-
KUBERNETES_CPU_REQUEST: "0.
|
|
53
|
-
KUBERNETES_MEMORY_REQUEST: "
|
|
53
|
+
KUBERNETES_CPU_REQUEST: "0.45",
|
|
54
|
+
KUBERNETES_MEMORY_REQUEST: "1Gi",
|
|
54
55
|
KUBERNETES_MEMORY_LIMIT: "4Gi"
|
|
55
56
|
};
|
|
56
57
|
var createCustomTestJobs = function (context) {
|
|
57
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r
|
|
58
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
58
59
|
// don't run tests after release
|
|
59
60
|
// TODO: this will be replaced by using rules
|
|
60
61
|
if (context.trigger === "taggedRelease") {
|
|
61
62
|
return [];
|
|
62
63
|
}
|
|
63
|
-
var buildConfig = context.
|
|
64
|
+
var buildConfig = context.build.config;
|
|
64
65
|
if (!(0, types_1.isOfBuildType)(buildConfig, "custom")) {
|
|
65
66
|
throw new Error("deploy config is not custom");
|
|
66
67
|
}
|
|
67
68
|
var base = {
|
|
68
69
|
variables: __assign(__assign({
|
|
69
|
-
APP_PATH: context.
|
|
70
|
+
APP_PATH: context.build.dir
|
|
70
71
|
}, context.environment.jobOnlyVars.build.envVars), (_a = buildConfig.extraVars) !== null && _a !== void 0 ? _a : {}),
|
|
71
72
|
runnerVariables: RUNNER_CUSTOM_TEST_VARIABLES,
|
|
72
73
|
services: buildConfig.jobServices,
|
|
73
|
-
cache:
|
|
74
|
+
cache: (0, createJobCache_1.createJobCacheFromConfig)(context, buildConfig),
|
|
74
75
|
stage: "test",
|
|
75
76
|
needs: [],
|
|
76
77
|
envMode: "none"
|
|
@@ -80,21 +81,21 @@ var createCustomTestJobs = function (context) {
|
|
|
80
81
|
}, base), {
|
|
81
82
|
image: (_c = (_b = buildConfig.audit) === null || _b === void 0 ? void 0 : _b.jobImage) !== null && _c !== void 0 ? _c : buildConfig.jobImage,
|
|
82
83
|
cache: undefined,
|
|
83
|
-
script: __spreadArray([], __read((
|
|
84
|
+
script: __spreadArray([], __read((0, utils_1.ensureArray)((_d = buildConfig.audit) === null || _d === void 0 ? void 0 : _d.command)), false),
|
|
84
85
|
allow_failure: true
|
|
85
|
-
}), (0, createArtifactsConfig_1.createArtifactsConfig)(context.
|
|
86
|
+
}), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_e = buildConfig.audit) === null || _e === void 0 ? void 0 : _e.artifactsReports, (_f = buildConfig.audit) === null || _f === void 0 ? void 0 : _f.artifacts)) : null;
|
|
86
87
|
var lintJob = buildConfig.lint ? __assign(__assign(__assign({
|
|
87
88
|
name: "👮 lint"
|
|
88
89
|
}, base), {
|
|
89
|
-
image: (
|
|
90
|
-
script: __spreadArray([], __read((
|
|
91
|
-
}), (0, createArtifactsConfig_1.createArtifactsConfig)(context.
|
|
90
|
+
image: (_h = (_g = buildConfig.lint) === null || _g === void 0 ? void 0 : _g.jobImage) !== null && _h !== void 0 ? _h : buildConfig.jobImage,
|
|
91
|
+
script: __spreadArray([], __read((0, utils_1.ensureArray)((_j = buildConfig.lint) === null || _j === void 0 ? void 0 : _j.command)), false)
|
|
92
|
+
}), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_k = buildConfig.lint) === null || _k === void 0 ? void 0 : _k.artifactsReports, (_l = buildConfig.lint) === null || _l === void 0 ? void 0 : _l.artifacts)) : null;
|
|
92
93
|
var testJob = buildConfig.test ? __assign(__assign(__assign({
|
|
93
94
|
name: "🧪 test"
|
|
94
95
|
}, base), {
|
|
95
|
-
image: (
|
|
96
|
-
script: __spreadArray([], __read((
|
|
97
|
-
}), (0, createArtifactsConfig_1.createArtifactsConfig)(context.
|
|
96
|
+
image: (_o = (_m = buildConfig.test) === null || _m === void 0 ? void 0 : _m.jobImage) !== null && _o !== void 0 ? _o : buildConfig.jobImage,
|
|
97
|
+
script: __spreadArray([], __read((0, utils_1.ensureArray)((_p = buildConfig.test) === null || _p === void 0 ? void 0 : _p.command)), false)
|
|
98
|
+
}), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_q = buildConfig.test) === null || _q === void 0 ? void 0 : _q.artifactsReports, (_r = buildConfig.test) === null || _r === void 0 ? void 0 : _r.artifacts)) : null;
|
|
98
99
|
return [auditJob, lintJob, testJob].filter(utils_1.notNil);
|
|
99
100
|
};
|
|
100
101
|
exports.createCustomTestJobs = createCustomTestJobs;
|
package/dist/build/docker.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { BuildConfigDocker } from ".";
|
|
2
|
-
import type { ComponentContext } from "../types";
|
|
2
|
+
import type { ComponentContext, DockerBuildJobDefinition } from "../types";
|
|
3
3
|
import type { CatladderJob } from "../types/jobs";
|
|
4
4
|
export declare const getDockerImageVariables: (context: ComponentContext) => {
|
|
5
5
|
DOCKER_IMAGE_TAG: string;
|
|
@@ -16,18 +16,14 @@ export declare const getDockerImageVariables: (context: ComponentContext) => {
|
|
|
16
16
|
/**
|
|
17
17
|
* Weather the context requires a docker build
|
|
18
18
|
*/
|
|
19
|
-
export declare const requiresDockerBuild: (
|
|
20
|
-
componentConfig: {
|
|
21
|
-
deploy
|
|
22
|
-
}
|
|
23
|
-
}: ComponentContext) => boolean;
|
|
19
|
+
export declare const requiresDockerBuild: (context: ComponentContext) => boolean;
|
|
24
20
|
export declare const getDockerBuildVariables: (context: ComponentContext) => {
|
|
25
21
|
DOCKER_IMAGE_TAG: string;
|
|
26
22
|
DOCKER_REGISTRY: string;
|
|
27
23
|
DOCKER_IMAGE: import("../bash/BashExpression").StringOrBashExpression;
|
|
28
24
|
DOCKER_CACHE_IMAGE: string;
|
|
29
25
|
APP_DIR: string;
|
|
30
|
-
|
|
26
|
+
DOCKER_BUILD_CONTEXT: string;
|
|
31
27
|
DOCKERFILE_ADDITIONS?: undefined;
|
|
32
28
|
DOCKERFILE_ADDITIONS_END?: undefined;
|
|
33
29
|
} | {
|
|
@@ -37,7 +33,7 @@ export declare const getDockerBuildVariables: (context: ComponentContext) => {
|
|
|
37
33
|
DOCKER_IMAGE_NAME: string;
|
|
38
34
|
DOCKER_IMAGE: string;
|
|
39
35
|
APP_DIR: string;
|
|
40
|
-
|
|
36
|
+
DOCKER_BUILD_CONTEXT: string;
|
|
41
37
|
DOCKERFILE_ADDITIONS?: undefined;
|
|
42
38
|
DOCKERFILE_ADDITIONS_END?: undefined;
|
|
43
39
|
} | {
|
|
@@ -46,7 +42,7 @@ export declare const getDockerBuildVariables: (context: ComponentContext) => {
|
|
|
46
42
|
DOCKER_IMAGE: import("../bash/BashExpression").StringOrBashExpression;
|
|
47
43
|
DOCKER_CACHE_IMAGE: string;
|
|
48
44
|
APP_DIR: string;
|
|
49
|
-
|
|
45
|
+
DOCKER_BUILD_CONTEXT: string;
|
|
50
46
|
DOCKERFILE_ADDITIONS: string | undefined;
|
|
51
47
|
DOCKERFILE_ADDITIONS_END: string | undefined;
|
|
52
48
|
} | {
|
|
@@ -56,17 +52,17 @@ export declare const getDockerBuildVariables: (context: ComponentContext) => {
|
|
|
56
52
|
DOCKER_IMAGE_NAME: string;
|
|
57
53
|
DOCKER_IMAGE: string;
|
|
58
54
|
APP_DIR: string;
|
|
59
|
-
|
|
55
|
+
DOCKER_BUILD_CONTEXT: string;
|
|
60
56
|
DOCKERFILE_ADDITIONS: string | undefined;
|
|
61
57
|
DOCKERFILE_ADDITIONS_END: string | undefined;
|
|
62
58
|
};
|
|
63
59
|
export declare const DOCKER_BUILD_JOB_NAME = "\uD83D\uDD28 docker";
|
|
64
|
-
export declare const getDockerJobBaseProps: (
|
|
65
|
-
export type DockerBuildJobDefinition = Partial<CatladderJob>;
|
|
60
|
+
export declare const getDockerJobBaseProps: () => Pick<CatladderJob, "image" | "services" | "variables" | "runnerVariables">;
|
|
66
61
|
export declare const createDockerBuildJobBase: (context: ComponentContext, {
|
|
67
62
|
script,
|
|
63
|
+
cache,
|
|
68
64
|
...def
|
|
69
|
-
}:
|
|
65
|
+
}: DockerBuildJobDefinition) => CatladderJob;
|
|
70
66
|
export declare const gitlabDockerLogin: (context: ComponentContext) => string[];
|
|
71
67
|
export declare const getDockerBuildScriptWithBuiltInDockerFile: (context: ComponentContext, defaultType?: BuildConfigDocker["type"]) => (string | undefined)[];
|
|
72
68
|
export declare const getDockerBuildDefaultScript: (context: ComponentContext, ensureDockerFileScript?: string | null) => (string | undefined)[];
|
package/dist/build/docker.js
CHANGED
|
@@ -66,13 +66,16 @@ var artifactsRegistry_1 = require("../deploy/cloudRun/artifactsRegistry");
|
|
|
66
66
|
var gcloudServiceAccountLoginCommands_1 = require("../deploy/cloudRun/utils/gcloudServiceAccountLoginCommands");
|
|
67
67
|
var runner_1 = require("../runner");
|
|
68
68
|
var gitlab_1 = require("../utils/gitlab");
|
|
69
|
+
var createJobCache_1 = require("./cache/createJobCache");
|
|
69
70
|
var DOCKER_BUILD_RUNNER_REQUESTS = {
|
|
70
|
-
KUBERNETES_CPU_REQUEST: "0.
|
|
71
|
+
KUBERNETES_CPU_REQUEST: "0.45",
|
|
71
72
|
KUBERNETES_MEMORY_REQUEST: "1Gi",
|
|
72
73
|
KUBERNETES_MEMORY_LIMIT: "2Gi"
|
|
73
74
|
};
|
|
74
75
|
var getDockerImageVariables = function (context) {
|
|
75
|
-
|
|
76
|
+
var _a;
|
|
77
|
+
var deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
|
|
78
|
+
return __assign(__assign({}, (0, deploy_1.isOfDeployType)(deployConfig, "google-cloudrun") ? {
|
|
76
79
|
DOCKER_REGISTRY: (0, artifactsRegistry_1.getArtifactsRegistryHost)(context),
|
|
77
80
|
DOCKER_IMAGE: (0, artifactsRegistry_1.getArtifactsRegistryImageName)(context),
|
|
78
81
|
DOCKER_CACHE_IMAGE: (0, artifactsRegistry_1.getArtifactsRegistryBuildCacheImage)(context)
|
|
@@ -80,9 +83,9 @@ var getDockerImageVariables = function (context) {
|
|
|
80
83
|
// gitlab registry:
|
|
81
84
|
{
|
|
82
85
|
DOCKER_REGISTRY: "$CI_REGISTRY",
|
|
83
|
-
DOCKER_CACHE_IMAGE: "$CI_REGISTRY_IMAGE/caches/" + context.
|
|
86
|
+
DOCKER_CACHE_IMAGE: "$CI_REGISTRY_IMAGE/caches/" + context.name,
|
|
84
87
|
// ONLY USED IN KUBERNETES
|
|
85
|
-
DOCKER_IMAGE_NAME: context.
|
|
88
|
+
DOCKER_IMAGE_NAME: context.env + "/" + context.name,
|
|
86
89
|
DOCKER_IMAGE: "$CI_REGISTRY_IMAGE/$DOCKER_IMAGE_NAME"
|
|
87
90
|
}), {
|
|
88
91
|
DOCKER_IMAGE_TAG: "$CI_COMMIT_SHA"
|
|
@@ -92,9 +95,10 @@ exports.getDockerImageVariables = getDockerImageVariables;
|
|
|
92
95
|
/**
|
|
93
96
|
* Weather the context requires a docker build
|
|
94
97
|
*/
|
|
95
|
-
var requiresDockerBuild = function (
|
|
96
|
-
var
|
|
97
|
-
|
|
98
|
+
var requiresDockerBuild = function (context) {
|
|
99
|
+
var _a;
|
|
100
|
+
var deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
|
|
101
|
+
return (0, deploy_1.isOfDeployType)(deployConfig, "kubernetes", "google-cloudrun", "dockerTag") || (0, deploy_1.isOfDeployType)(deployConfig, "custom") && deployConfig.requiresDocker;
|
|
98
102
|
};
|
|
99
103
|
exports.requiresDockerBuild = requiresDockerBuild;
|
|
100
104
|
// those need to be runner variables
|
|
@@ -117,14 +121,15 @@ var getDockerAdditions = function (build) {
|
|
|
117
121
|
};
|
|
118
122
|
};
|
|
119
123
|
var getDockerBuildVariables = function (context) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
124
|
+
var _a;
|
|
125
|
+
return __assign(__assign(__assign({}, getDockerAdditions(context.build.config)), {
|
|
126
|
+
APP_DIR: context.build.dir,
|
|
127
|
+
DOCKER_BUILD_CONTEXT: "docker" in context.build.config && context.build.config.docker && "buildContextLocation" in context.build.config.docker && ((_a = context.build.config.docker) === null || _a === void 0 ? void 0 : _a.buildContextLocation) === "component" ? context.build.dir : "."
|
|
123
128
|
}), (0, exports.getDockerImageVariables)(context));
|
|
124
129
|
};
|
|
125
130
|
exports.getDockerBuildVariables = getDockerBuildVariables;
|
|
126
131
|
exports.DOCKER_BUILD_JOB_NAME = "🔨 docker";
|
|
127
|
-
var getDockerJobBaseProps = function (
|
|
132
|
+
var getDockerJobBaseProps = function () {
|
|
128
133
|
return {
|
|
129
134
|
image: (0, runner_1.getRunnerImage)("docker-build"),
|
|
130
135
|
services: [{
|
|
@@ -139,12 +144,14 @@ var getDockerJobBaseProps = function (context) {
|
|
|
139
144
|
exports.getDockerJobBaseProps = getDockerJobBaseProps;
|
|
140
145
|
var createDockerBuildJobBase = function (context, _a) {
|
|
141
146
|
var script = _a.script,
|
|
142
|
-
|
|
147
|
+
cache = _a.cache,
|
|
148
|
+
def = __rest(_a, ["script", "cache"]);
|
|
143
149
|
return (0, lodash_1.merge)(__assign(__assign({
|
|
144
150
|
name: exports.DOCKER_BUILD_JOB_NAME,
|
|
145
151
|
envMode: "jobPerEnv",
|
|
146
|
-
stage: "build"
|
|
147
|
-
|
|
152
|
+
stage: "build",
|
|
153
|
+
cache: cache ? (0, createJobCache_1.createJobCacheFromCacheConfigs)(context, cache) : undefined
|
|
154
|
+
}, (0, exports.getDockerJobBaseProps)()), {
|
|
148
155
|
script: script || []
|
|
149
156
|
}), {
|
|
150
157
|
variables: (0, exports.getDockerBuildVariables)(context),
|
|
@@ -153,7 +160,7 @@ var createDockerBuildJobBase = function (context, _a) {
|
|
|
153
160
|
};
|
|
154
161
|
exports.createDockerBuildJobBase = createDockerBuildJobBase;
|
|
155
162
|
var gitlabDockerLogin = function (context) {
|
|
156
|
-
return (0, deploy_1.isOfDeployType)(context.
|
|
163
|
+
return context.deploy && (0, deploy_1.isOfDeployType)(context.deploy.config, "google-cloudrun") ? __spreadArray(__spreadArray([], __read((0, gcloudServiceAccountLoginCommands_1.gcloudServiceAccountLoginCommands)(context)), false), ["gcloud auth configure-docker ".concat((0, artifactsRegistry_1.getArtifactsRegistryHost)(context))], false) : ["docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY"];
|
|
157
164
|
};
|
|
158
165
|
exports.gitlabDockerLogin = gitlabDockerLogin;
|
|
159
166
|
var BUILT_IN_ENSURE_DOCKERFILE_SCRIPTS = {
|
|
@@ -164,16 +171,16 @@ var BUILT_IN_ENSURE_DOCKERFILE_SCRIPTS = {
|
|
|
164
171
|
};
|
|
165
172
|
var getDockerBuildScriptWithBuiltInDockerFile = function (context, defaultType) {
|
|
166
173
|
var _a;
|
|
167
|
-
var type = "docker" in context.
|
|
174
|
+
var type = "docker" in context.build.config && context.build.config.docker && "type" in context.build.config.docker ? (_a = context.build.config.docker) === null || _a === void 0 ? void 0 : _a.type : defaultType;
|
|
168
175
|
return (0, exports.getDockerBuildDefaultScript)(context, type ? BUILT_IN_ENSURE_DOCKERFILE_SCRIPTS[type] : null);
|
|
169
176
|
};
|
|
170
177
|
exports.getDockerBuildScriptWithBuiltInDockerFile = getDockerBuildScriptWithBuiltInDockerFile;
|
|
171
178
|
var getDockerBuildDefaultScript = function (context, ensureDockerFileScript) {
|
|
172
|
-
return __spreadArray(__spreadArray(__spreadArray([ensureDockerFileScript !== null && ensureDockerFileScript !== void 0 ? ensureDockerFileScript : undefined], __read((0, gitlab_1.collapseableSection)("docker-login", "Docker Login")((0, exports.gitlabDockerLogin)(context))), false), __read((0, gitlab_1.collapseableSection)("docker-build", "Docker build")(["docker build --network host --cache-from $DOCKER_CACHE_IMAGE --tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG -f $APP_DIR/Dockerfile
|
|
179
|
+
return __spreadArray(__spreadArray(__spreadArray([ensureDockerFileScript !== null && ensureDockerFileScript !== void 0 ? ensureDockerFileScript : undefined], __read((0, gitlab_1.collapseableSection)("docker-login", "Docker Login")((0, exports.gitlabDockerLogin)(context))), false), __read((0, gitlab_1.collapseableSection)("docker-build", "Docker build")(["docker build --network host --cache-from $DOCKER_CACHE_IMAGE --tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG -f $APP_DIR/Dockerfile $DOCKER_BUILD_CONTEXT --build-arg BUILDKIT_INLINE_CACHE=1" //BUILDKIT_INLINE_CACHE, see https://testdriven.io/blog/faster-ci-builds-with-docker-cache/
|
|
173
180
|
])), false), __read((0, gitlab_1.collapseableSection)("docker-push", "Docker push and tag")(["docker push $DOCKER_IMAGE:$DOCKER_IMAGE_TAG", "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG $DOCKER_CACHE_IMAGE", "docker push $DOCKER_CACHE_IMAGE"])), false).filter(Boolean);
|
|
174
181
|
};
|
|
175
182
|
exports.getDockerBuildDefaultScript = getDockerBuildDefaultScript;
|
|
176
183
|
var hasDockerfile = function (context) {
|
|
177
|
-
return (0, fs_1.existsSync)(path_1.default.join(context.
|
|
184
|
+
return (0, fs_1.existsSync)(path_1.default.join(context.build.dir, "Dockerfile"));
|
|
178
185
|
};
|
|
179
186
|
exports.hasDockerfile = hasDockerfile;
|
package/dist/build/index.d.ts
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import type { ComponentContext } from "../types/context";
|
|
1
|
+
import type { ComponentContext, WorkspaceContext } from "../types/context";
|
|
2
2
|
import type { EnvironmentContext } from "../types/environmentContext";
|
|
3
3
|
import type { CatladderJob } from "../types/jobs";
|
|
4
|
-
import type { BuildConfig,
|
|
5
|
-
export * from "./types";
|
|
4
|
+
import type { BuildConfig, BuildConfigStandaloneType, WorkspaceBuildConfig } from "./types";
|
|
6
5
|
export * from "./node";
|
|
7
|
-
export
|
|
6
|
+
export * from "./types";
|
|
7
|
+
export type BuildTypes = { [type in BuildConfigStandaloneType]: {
|
|
8
8
|
jobs: (context: ComponentContext) => CatladderJob[];
|
|
9
|
-
defaults: (envContext: EnvironmentContext
|
|
9
|
+
defaults: (envContext: EnvironmentContext) => Partial<Extract<BuildConfig, {
|
|
10
|
+
type: type;
|
|
11
|
+
}>>;
|
|
12
|
+
} };
|
|
13
|
+
export declare const BUILD_TYPES: BuildTypes;
|
|
14
|
+
export type WorkspaceBuildTypes = { [type in WorkspaceBuildConfig["type"]]: {
|
|
15
|
+
jobs: (context: WorkspaceContext) => CatladderJob[];
|
|
16
|
+
defaults: () => Partial<Extract<WorkspaceBuildConfig, {
|
|
10
17
|
type: type;
|
|
11
18
|
}>>;
|
|
12
19
|
} };
|
|
13
|
-
export declare const
|
|
20
|
+
export declare const WORKSPACE_BUILD_TYPES: WorkspaceBuildTypes;
|
package/dist/build/index.js
CHANGED
|
@@ -22,19 +22,20 @@ var __exportStar = this && this.__exportStar || function (m, exports) {
|
|
|
22
22
|
Object.defineProperty(exports, "__esModule", {
|
|
23
23
|
value: true
|
|
24
24
|
});
|
|
25
|
-
exports.BUILD_TYPES = void 0;
|
|
25
|
+
exports.WORKSPACE_BUILD_TYPES = exports.BUILD_TYPES = void 0;
|
|
26
26
|
var custom_1 = require("./custom");
|
|
27
27
|
var node_1 = require("./node");
|
|
28
28
|
var rails_1 = require("./rails");
|
|
29
|
-
__exportStar(require("./types"), exports);
|
|
30
29
|
__exportStar(require("./node"), exports);
|
|
30
|
+
__exportStar(require("./types"), exports);
|
|
31
31
|
exports.BUILD_TYPES = {
|
|
32
32
|
node: {
|
|
33
33
|
jobs: node_1.createNodeJobs,
|
|
34
34
|
defaults: function () {
|
|
35
35
|
return {
|
|
36
36
|
buildCommand: "yarn build",
|
|
37
|
-
startCommand: "yarn start"
|
|
37
|
+
startCommand: "yarn start",
|
|
38
|
+
artifactsPaths: ["dist", ".next"]
|
|
38
39
|
};
|
|
39
40
|
}
|
|
40
41
|
},
|
|
@@ -42,7 +43,8 @@ exports.BUILD_TYPES = {
|
|
|
42
43
|
jobs: node_1.createNodeJobs,
|
|
43
44
|
defaults: function () {
|
|
44
45
|
return {
|
|
45
|
-
buildCommand: "yarn build"
|
|
46
|
+
buildCommand: "yarn build",
|
|
47
|
+
artifactsPaths: ["dist"]
|
|
46
48
|
};
|
|
47
49
|
}
|
|
48
50
|
},
|
|
@@ -50,7 +52,8 @@ exports.BUILD_TYPES = {
|
|
|
50
52
|
jobs: node_1.createStorybookJobs,
|
|
51
53
|
defaults: function () {
|
|
52
54
|
return {
|
|
53
|
-
buildCommand: ["yarn build-storybook --quiet -o ./dist"]
|
|
55
|
+
buildCommand: ["yarn build-storybook --quiet -o ./dist"],
|
|
56
|
+
artifactsPaths: ["dist"]
|
|
54
57
|
};
|
|
55
58
|
}
|
|
56
59
|
},
|
|
@@ -58,14 +61,17 @@ exports.BUILD_TYPES = {
|
|
|
58
61
|
jobs: node_1.createMeteorJobs,
|
|
59
62
|
defaults: function () {
|
|
60
63
|
return {
|
|
61
|
-
startCommand: "node main.js"
|
|
64
|
+
startCommand: "node main.js",
|
|
65
|
+
artifactsPaths: ["dist"]
|
|
62
66
|
};
|
|
63
67
|
}
|
|
64
68
|
},
|
|
65
69
|
custom: {
|
|
66
70
|
jobs: custom_1.createCustomJobs,
|
|
67
71
|
defaults: function () {
|
|
68
|
-
return {
|
|
72
|
+
return {
|
|
73
|
+
artifactsPaths: ["dist"]
|
|
74
|
+
};
|
|
69
75
|
}
|
|
70
76
|
},
|
|
71
77
|
rails: {
|
|
@@ -80,4 +86,20 @@ exports.BUILD_TYPES = {
|
|
|
80
86
|
};
|
|
81
87
|
}
|
|
82
88
|
}
|
|
89
|
+
};
|
|
90
|
+
exports.WORKSPACE_BUILD_TYPES = {
|
|
91
|
+
node: {
|
|
92
|
+
jobs: node_1.createNodeJobs,
|
|
93
|
+
defaults: function () {
|
|
94
|
+
return {
|
|
95
|
+
buildCommand: "yarn build",
|
|
96
|
+
lint: {
|
|
97
|
+
command: "yarn lint"
|
|
98
|
+
},
|
|
99
|
+
test: {
|
|
100
|
+
command: "yarn test"
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
83
105
|
};
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BuildContextStandalone, WorkspaceContext } from "../../types/context";
|
|
2
|
+
import { type ComponentContext } from "../../types/context";
|
|
3
|
+
import type { AppBuildJobDefinition, DockerBuildJobDefinition } from "../../types/jobDefinition";
|
|
2
4
|
import type { CatladderJob } from "../../types/jobs";
|
|
3
|
-
export declare const createNodeBuildJobs: (context: ComponentContext) => CatladderJob[];
|
|
5
|
+
export declare const createNodeBuildJobs: (context: ComponentContext | WorkspaceContext) => CatladderJob[];
|
|
6
|
+
export declare const createNodeBuildJobDefinition: (context: ComponentContext<BuildContextStandalone> | WorkspaceContext) => AppBuildJobDefinition | undefined;
|
|
7
|
+
export declare const createNodeDockerJobDefinition: (context: ComponentContext) => DockerBuildJobDefinition;
|
|
@@ -34,53 +34,48 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
|
|
|
34
34
|
Object.defineProperty(exports, "__esModule", {
|
|
35
35
|
value: true
|
|
36
36
|
});
|
|
37
|
-
exports.createNodeBuildJobs = void 0;
|
|
38
|
-
var
|
|
39
|
-
var runner_1 = require("../../runner");
|
|
40
|
-
var utils_1 = require("../../utils");
|
|
37
|
+
exports.createNodeDockerJobDefinition = exports.createNodeBuildJobDefinition = exports.createNodeBuildJobs = void 0;
|
|
38
|
+
var context_1 = require("../../types/context");
|
|
41
39
|
var base_1 = require("../base");
|
|
40
|
+
var createBuildJobDefinition_1 = require("../base/createBuildJobDefinition");
|
|
42
41
|
var docker_1 = require("../docker");
|
|
43
|
-
var types_1 = require("../types");
|
|
44
42
|
var cache_1 = require("./cache");
|
|
45
|
-
var constants_1 = require("./constants");
|
|
46
43
|
var yarn_1 = require("./yarn");
|
|
47
44
|
var createNodeBuildJobs = function (context) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
45
|
+
if (context.type === "workspace") {
|
|
46
|
+
return (0, base_1.createWorkspaceBuildJobs)(context, {
|
|
47
|
+
appBuild: (0, exports.createNodeBuildJobDefinition)(context)
|
|
48
|
+
});
|
|
52
49
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
return (0, path_1.join)(dir, path);
|
|
66
|
-
})) !== null && _b !== void 0 ? _b : []), false);
|
|
67
|
-
}),
|
|
68
|
-
expire_in: "1 day",
|
|
69
|
-
when: "always"
|
|
70
|
-
},
|
|
71
|
-
jobTags: buildConfig.jobTags
|
|
72
|
-
} : undefined,
|
|
73
|
-
dockerBuild: {
|
|
74
|
-
script: (0, docker_1.getDockerBuildScriptWithBuiltInDockerFile)(context, buildConfig.type === "node-static" || buildConfig.type === "storybook" ? "nginx" : "node"),
|
|
75
|
-
cache: __spreadArray([], __read((0, cache_1.getYarnCache)(context.buildContext, "pull")), false),
|
|
76
|
-
variables: {
|
|
77
|
-
// only required for non static
|
|
78
|
-
DOCKER_COPY_AND_INSTALL_APP: (0, yarn_1.getDockerAppCopyAndBuildScript)(context.buildContext),
|
|
79
|
-
DOCKER_COPY_WORKSPACE_FILES: (_g = (_f = context.buildContext.packageManagerInfo) === null || _f === void 0 ? void 0 : _f.pathsToCopyInDocker.map(function (dir) {
|
|
80
|
-
return "COPY --chown=node:node ".concat(dir, " /app/").concat(dir);
|
|
81
|
-
})) === null || _g === void 0 ? void 0 : _g.join("\n")
|
|
82
|
-
}
|
|
83
|
-
}
|
|
50
|
+
return (0, base_1.createComponentBuildJobs)(context, {
|
|
51
|
+
appBuild: (0, context_1.componentContextIsStandaloneBuild)(context) ? (0, exports.createNodeBuildJobDefinition)(context) : undefined,
|
|
52
|
+
dockerBuild: (0, exports.createNodeDockerJobDefinition)(context)
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
exports.createNodeBuildJobs = createNodeBuildJobs;
|
|
56
|
+
var createNodeBuildJobDefinition = function (context) {
|
|
57
|
+
var buildConfig = context.build.config;
|
|
58
|
+
var yarnInstall = (0, yarn_1.getYarnInstall)(context);
|
|
59
|
+
return (0, createBuildJobDefinition_1.createBuildJobDefinition)(context, buildConfig, {
|
|
60
|
+
prescript: yarnInstall,
|
|
61
|
+
cache: __spreadArray(__spreadArray([], __read((0, cache_1.getNodeCache)(context)), false), __read((0, cache_1.getNextCache)(context)), false)
|
|
84
62
|
});
|
|
85
63
|
};
|
|
86
|
-
exports.
|
|
64
|
+
exports.createNodeBuildJobDefinition = createNodeBuildJobDefinition;
|
|
65
|
+
var createNodeDockerJobDefinition = function (context) {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
// get the default docker built-in type based on the build type
|
|
68
|
+
var dockerDefaultBuiltIn = context.build.buildType === "node-static" || context.build.buildType === "storybook" ? "nginx" : "node";
|
|
69
|
+
return {
|
|
70
|
+
script: (0, docker_1.getDockerBuildScriptWithBuiltInDockerFile)(context, dockerDefaultBuiltIn),
|
|
71
|
+
cache: __spreadArray([], __read((0, cache_1.getYarnCache)(context, "pull")), false),
|
|
72
|
+
variables: {
|
|
73
|
+
// only required for non static
|
|
74
|
+
DOCKER_COPY_AND_INSTALL_APP: (0, yarn_1.getDockerAppCopyAndBuildScript)(context),
|
|
75
|
+
DOCKER_COPY_WORKSPACE_FILES: (_b = (_a = context.packageManagerInfo) === null || _a === void 0 ? void 0 : _a.pathsToCopyInDocker.map(function (dir) {
|
|
76
|
+
return "COPY --chown=node:node ".concat(dir, " /app/").concat(dir);
|
|
77
|
+
})) === null || _b === void 0 ? void 0 : _b.join("\n")
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
exports.createNodeDockerJobDefinition = createNodeDockerJobDefinition;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
export declare const getYarnCache: (context:
|
|
4
|
-
export declare const getNodeModulesCache: (context:
|
|
5
|
-
export declare const getNodeCache: (context:
|
|
6
|
-
export declare const getNextCache: (context:
|
|
1
|
+
import type { Context, WorkspaceContext } from "../../types/context";
|
|
2
|
+
import type { CacheConfig } from "../types";
|
|
3
|
+
export declare const getYarnCache: (context: Context, policy?: string) => CacheConfig[];
|
|
4
|
+
export declare const getNodeModulesCache: (context: Context, policy?: string) => CacheConfig[];
|
|
5
|
+
export declare const getNodeCache: (context: Context, policy?: string) => CacheConfig[];
|
|
6
|
+
export declare const getNextCache: (context: Context) => CacheConfig[];
|
|
7
|
+
export declare const getWorkspaceDefaultCaches: (context: WorkspaceContext) => CacheConfig[];
|