2024-05-14 14:48:08 +00:00
|
|
|
[env]
|
|
|
|
CONTAINER_PUSH_URL = "ghcr.io/djkato"
|
2024-05-14 15:17:32 +00:00
|
|
|
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",
|
|
|
|
]
|
2024-05-14 14:48:08 +00:00
|
|
|
|
2024-05-10 15:03:03 +00:00
|
|
|
[tasks.default]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
alias = "build"
|
2024-05-10 15:03:03 +00:00
|
|
|
|
|
|
|
# Overrides the default build task
|
|
|
|
[tasks.build]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 15:17:32 +00:00
|
|
|
alias = "build-all"
|
|
|
|
|
|
|
|
[tasks.build-all]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 15:17:32 +00:00
|
|
|
dependencies = [
|
|
|
|
"delete-images",
|
|
|
|
"build-abandoned-checkouts",
|
2024-05-14 17:53:23 +00:00
|
|
|
"build-stripe",
|
|
|
|
"build-klarna",
|
|
|
|
"build-authorize-net",
|
2024-05-14 15:17:32 +00:00
|
|
|
"build-avatax",
|
|
|
|
"build-cms-v2",
|
|
|
|
"build-crm",
|
|
|
|
"build-data-importer",
|
|
|
|
"build-emails-and-messages",
|
|
|
|
"build-invoices",
|
|
|
|
"build-klaviyo",
|
|
|
|
"build-products-feed",
|
|
|
|
"build-search",
|
|
|
|
"build-segment",
|
|
|
|
"build-slack",
|
|
|
|
"build-smtp",
|
|
|
|
"build-taxjar",
|
|
|
|
|
|
|
|
]
|
|
|
|
|
|
|
|
[tasks.apply-changes]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 15:17:32 +00:00
|
|
|
script = '''
|
|
|
|
./changes.sh
|
|
|
|
'''
|
2024-05-10 15:03:03 +00:00
|
|
|
|
2024-05-14 16:03:43 +00:00
|
|
|
[tasks.push-all]
|
|
|
|
workspace = false
|
2024-05-10 15:03:03 +00:00
|
|
|
script = '''
|
2024-05-14 15:17:32 +00:00
|
|
|
for i in ${ALL_APPS[*]}; do
|
2024-05-14 16:03:43 +00:00
|
|
|
docker push ${CONTAINER_PUSH_URL}/saleor-app-$i
|
2024-05-14 15:17:32 +00:00
|
|
|
done
|
2024-05-10 15:03:03 +00:00
|
|
|
'''
|
|
|
|
|
2024-05-14 16:03:43 +00:00
|
|
|
# HAVE TO DEFINE APP ENV VAR IN CALL, EG: `APP=avatax cargo make push`
|
|
|
|
[tasks.push]
|
2024-05-14 16:20:36 +00:00
|
|
|
condition = { env_set = ["APP"] }
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
|
|
|
script = '''
|
|
|
|
docker push ${CONTAINER_PUSH_URL}/saleor-app-${APP}
|
|
|
|
'''
|
|
|
|
|
2024-05-10 15:03:03 +00:00
|
|
|
[tasks.delete-images]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-10 15:03:03 +00:00
|
|
|
script = '''
|
2024-05-14 15:17:32 +00:00
|
|
|
for i in ${ALL_APPS[*]}; do
|
|
|
|
docker rmi -f $(docker image ls -q --filter=label=service=saleor-app-$i) 2>&1 || true
|
|
|
|
done
|
2024-05-10 15:03:03 +00:00
|
|
|
'''
|
|
|
|
|
2024-05-14 14:48:08 +00:00
|
|
|
[tasks.build-avatax]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "avatax" }
|
|
|
|
|
|
|
|
[tasks.build-cms-v2]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "cms-v2" }
|
|
|
|
|
|
|
|
[tasks.build-crm]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "crm" }
|
|
|
|
|
|
|
|
[tasks.build-data-importer]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "data-importer" }
|
|
|
|
|
|
|
|
[tasks.build-emails-and-messages]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "emails-and-messages" }
|
|
|
|
|
|
|
|
[tasks.build-invoices]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "invoices" }
|
|
|
|
|
|
|
|
[tasks.build-klaviyo]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "klaviyo" }
|
2024-05-10 15:03:03 +00:00
|
|
|
|
2024-05-14 14:48:08 +00:00
|
|
|
[tasks.build-products-feed]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "products-feed" }
|
|
|
|
|
|
|
|
[tasks.build-search]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "search" }
|
|
|
|
|
|
|
|
[tasks.build-segment]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "segment" }
|
|
|
|
|
|
|
|
[tasks.build-slack]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "slack" }
|
|
|
|
|
|
|
|
[tasks.build-smtp]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "smtp" }
|
|
|
|
|
|
|
|
[tasks.build-taxjar]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "taxjar" }
|
|
|
|
|
|
|
|
## DEPRECATED APPS:
|
|
|
|
|
|
|
|
[tasks.build-stripe]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-old-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "payment-stripe", "PUBLIC_PATH" = "/app/public" }
|
|
|
|
|
|
|
|
[tasks.build-klarna]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-old-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "payment-klarna", "PUBLIC_PATH" = "/app/public" }
|
2024-05-10 15:03:03 +00:00
|
|
|
|
2024-05-14 14:48:08 +00:00
|
|
|
[tasks.build-abandoned-checkouts]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-old-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "abandoned-checkouts", "PUBLIC_PATH" = "/app/src/public" }
|
2024-05-10 15:03:03 +00:00
|
|
|
|
2024-05-14 14:48:08 +00:00
|
|
|
[tasks.build-authorize-net]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
extend = "build-arg-old-app"
|
2024-05-14 16:03:43 +00:00
|
|
|
private = false
|
2024-05-14 14:48:08 +00:00
|
|
|
env = { "APP" = "payment-authorize.net", "PUBLIC_PATH" = "/app/example/public" }
|
|
|
|
|
|
|
|
|
2024-05-14 15:17:32 +00:00
|
|
|
## GENERALIZED BUILD SCRIPTS
|
|
|
|
|
|
|
|
[tasks.build-arg-app]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 15:17:32 +00:00
|
|
|
private = true
|
|
|
|
script = '''
|
|
|
|
cd all_apps/apps
|
2024-05-14 16:03:43 +00:00
|
|
|
|
|
|
|
cd ./apps/${APP}
|
|
|
|
VERSION=$(npm pkg get version --workspaces=false | tr -d '"')
|
|
|
|
cd ../../
|
|
|
|
|
|
|
|
docker build . --build-arg TARGET_APP="${APP}" \
|
|
|
|
--build-arg SERVICE="saleor-app-${APP}" \
|
2024-05-14 15:17:32 +00:00
|
|
|
--build-arg TITLE="djkato/saleor-app-${APP}" \
|
|
|
|
--build-arg DESC="Saleor app for ${APP}" \
|
|
|
|
--build-arg URL="https://github.com/saleor/saleor-app-${APP}" \
|
2024-05-14 16:25:05 +00:00
|
|
|
--build-arg SOURCE="https://github.com/djkato/saleor-dockerize-all-apps" \
|
2024-05-14 15:17:32 +00:00
|
|
|
--build-arg AUTHORS="Saleor <hello@saleor.io>, Djkáťo <djkatovfx@gmail.com>" \
|
2024-05-14 16:03:43 +00:00
|
|
|
-t ${CONTAINER_PUSH_URL}/saleor-app-${APP}:${VERSION}
|
2024-05-14 15:17:32 +00:00
|
|
|
'''
|
|
|
|
|
2024-05-14 14:48:08 +00:00
|
|
|
[tasks.build-arg-old-app]
|
2024-05-14 16:03:43 +00:00
|
|
|
workspace = false
|
2024-05-14 14:48:08 +00:00
|
|
|
private = true
|
|
|
|
script = '''
|
|
|
|
cd all_apps/saleor-app-${APP}
|
2024-05-14 16:03:43 +00:00
|
|
|
VERSION=$(npm pkg get version --workspaces=false | tr -d '"')
|
2024-05-14 14:48:08 +00:00
|
|
|
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}" \
|
2024-05-14 16:25:05 +00:00
|
|
|
--build-arg SOURCE="https://github.com/djkato/saleor-dockerize-all-apps" \
|
2024-05-14 14:48:08 +00:00
|
|
|
--build-arg AUTHORS="Saleor <hello@saleor.io>, Djkáťo <djkatovfx@gmail.com>" \
|
2024-05-14 16:03:43 +00:00
|
|
|
-t ${CONTAINER_PUSH_URL}/saleor-app-${APP}:${VERSION}
|
2024-05-10 15:03:03 +00:00
|
|
|
'''
|