[env] CONTAINER_PUSH_URL = "ghcr.io/djkato" ALL_APPS = [ "abandoned-checkouts", "payment-stripe", "payment-klarna", "payment-authorize.net", "avatax", "cms-v2", "crm", "data-importer", "emails-and-messages", "invoices", "klaviyo", "products-feed", "search", "segment", "slack", "smtp", "taxjar", ] [tasks.default] workspace = false alias = "build" [tasks.update-repos] workspace = false script = ''' git submodule foreach --recursive git reset --hard git submodule update --recursive --remote ''' # Overrides the default build task [tasks.build] workspace = false alias = "build-all" [tasks.build-all] run_task = { name = [ "delete-images", "build-abandoned-checkouts", "build-stripe", "build-klarna", "build-authorize-net", "build-avatax", "build-cms-v2", "build-crm", "build-data-importer", "build-invoices", "build-klaviyo", "build-products-feed", "build-search", "build-segment", "build-slack", "build-smtp", "build-taxjar", ], parallel = true } # segment: -- Error: Unable to find 'schema-ast' # crm: -- Error: Unable to find 'schema-ast' # cms-v2: -- Error: Unable to find 'schema-ast' # avatax: -- x Could not find the following tasks in project: build # authorize-net: -- Error: 11.26 Type error: Cannot find module '../generated/graphql' or its corresponding type declarations. workspace = false [tasks.apply-changes] workspace = false script = ''' ./changes.sh ''' [tasks.push-all] workspace = false script = ''' ALL_IMAGES=$(docker images -qa --filter "label=src=saleor-dockerize-all-apps" --format "{{.Repository}}:{{.Tag}}") for i in ${ALL_IMAGES[*]}; do echo "pushing $i.." docker push $i done ''' # HAVE TO DEFINE APP ENV VAR IN CALL, EG: `APP=avatax cargo make push` [tasks.push] condition = { env_set = ["APP"] } workspace = false script = ''' docker push ${CONTAINER_PUSH_URL}/saleor-app-${APP} ''' [tasks.delete-images] workspace = false script = ''' ALL_IMAGES=$(docker images -qa --filter "label=src=saleor-dockerize-all-apps" --format "{{.Repository}}:{{.Tag}}") for i in ${ALL_IMAGES[*]}; do docker rmi -f $i 2>&1 || true done ''' [tasks.build-avatax] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "app-avatax", "APP_DIR" = "avatax" } [tasks.build-cms-v2] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "cms-v2", "APP_DIR" = "cms-v2" } [tasks.build-crm] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "crm", "APP_DIR" = "crm" } [tasks.build-data-importer] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "data-importer", "APP_DIR" = "data-importer" } [tasks.build-emails-and-messages] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "emails-and-messages", "APP_DIR" = "emails-and-messages" } [tasks.build-invoices] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "invoices", "APP_DIR" = "invoices" } [tasks.build-klaviyo] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "klaviyo", "APP_DIR" = "klaviyo" } [tasks.build-products-feed] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "products-feed", "APP_DIR" = "products-feed" } [tasks.build-search] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "search", "APP_DIR" = "search" } [tasks.build-segment] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "segment", "APP_DIR" = "segment" } [tasks.build-slack] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "slack", "APP_DIR" = "slack" } [tasks.build-smtp] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "smtp", "APP_DIR" = "smtp" } [tasks.build-taxjar] workspace = false extend = "build-arg-app" private = false env = { "APP_NAME" = "app-taxjar", "APP_DIR" = "taxjar" } ## DEPRECATED APPS: [tasks.build-stripe] workspace = false extend = "build-arg-old-app" private = false env = { "APP" = "payment-stripe", "PUBLIC_PATH" = "/app/public" } [tasks.build-klarna] workspace = false extend = "build-arg-old-app" private = false env = { "APP" = "payment-klarna", "PUBLIC_PATH" = "/app/public" } [tasks.build-abandoned-checkouts] workspace = false extend = "build-arg-old-app" private = false env = { "APP" = "abandoned-checkouts", "PUBLIC_PATH" = "/app/src/public" } [tasks.build-authorize-net] workspace = false extend = "build-arg-old-app" private = false env = { "APP" = "payment-authorize.net", "PUBLIC_PATH" = "/app/example/public" } ## GENERALIZED BUILD SCRIPTS [tasks.build-arg-app] workspace = false private = true script = ''' cd all_apps/apps cd ./apps/${APP_DIR} VERSION=$(npm pkg get version --workspaces=false | tr -d '"') cd ../../ docker build . --build-arg APP_NAME="${APP_NAME}" \ --build-arg APP_DIR="${APP_DIR}" \ --build-arg SERVICE="saleor-app-${APP_DIR}" \ --build-arg TITLE="djkato/saleor-app-${APP_DIR}" \ --build-arg DESC="Saleor app for ${APP_DIR}" \ --build-arg URL="https://github.com/saleor/saleor-app-${APP_DIR}" \ --build-arg SOURCE="https://github.com/djkato/saleor-dockerize-all-apps" \ --build-arg AUTHORS="Saleor , Djkáťo " \ -t ${CONTAINER_PUSH_URL}/saleor-app-${APP_DIR}:${VERSION} ''' [tasks.build-arg-old-app] workspace = false private = true script = ''' cd all_apps/saleor-app-${APP} VERSION=$(npm pkg get version --workspaces=false | tr -d '"') docker build . --build-arg PUBLIC_PATH="${PUBLIC_PATH}" \ --build-arg SERVICE="saleor-app-${APP}" \ --build-arg TITLE="djkato/saleor-app-${APP}" \ --build-arg DESC="Saleor app for Authorize.net" \ --build-arg URL="https://github.com/saleor/saleor-app-${APP}" \ --build-arg SOURCE="https://github.com/djkato/saleor-dockerize-all-apps" \ --build-arg AUTHORS="Saleor , Djkáťo " \ -t ${CONTAINER_PUSH_URL}/saleor-app-${APP}:${VERSION} '''