UNPKG

@catladder/pipeline

Version:

Panter workflow for cloud CI/CD and DevOps

52 lines (46 loc) 1.53 kB
import { getRunnerImage } from "../../../runner"; import type { ComponentContext } from "../../../types/context"; import type { CatladderJob } from "../../../types/jobs"; import { allowFailureInScripts } from "../../../utils/gitlab"; import { createDeployementJobs } from "../../base"; import { isOfDeployType } from "../../types"; import { ENV_VARS_FILENAME } from "./constants"; import { getCloudRunDeployScripts } from "./getCloudRunDeployScripts"; import { getCloudRunStopScripts } from "./getCloudRunStopScripts"; export const createGoogleCloudRunDeployJobs = ( context: ComponentContext, ): CatladderJob[] => { const deployConfig = context.deploy?.config; if (!isOfDeployType(deployConfig, "google-cloudrun")) { // should not happen throw new Error("deploy config is wrong"); } const deployScripts = getCloudRunDeployScripts(context); const stopScripts = getCloudRunStopScripts(context); return createDeployementJobs(context, { deploy: { variables: { CLOUDSDK_CORE_DISABLE_PROMPTS: "1", }, ...(deployConfig.debug ? { artifacts: { paths: [ ENV_VARS_FILENAME, // debug ], when: "always", }, } : {}), image: getRunnerImage("gcloud"), script: deployScripts, }, stop: { image: getRunnerImage("gcloud"), variables: { CLOUDSDK_CORE_DISABLE_PROMPTS: "1", }, script: allowFailureInScripts(stopScripts), }, }); };