version: '3'
includes:
# This file should be supplied by the environment and is not committed.
global-env:
taskfile: ./env.yml
internal: true
internal:
taskfile: ./Taskfile.internal.yml
output: prefixed
vars:
# Any build that is not on a tag is a development build.
CURRENT_VERSION:
sh: git describe --tags --exact-match $(git rev-parse HEAD) 2> /dev/null || echo "dev-$(git rev-parse HEAD)"
tasks:
ensure-pod:
desc: "Creates the pod if it doesn't already exist."
cmd: . ./pod.sh
build:
desc: "Builds images for one or more services. Include service names as a space-separated list."
cmds:
- for: { var: CLI_ARGS }
task: internal:build-images
SERVICE: "{{ .ITEM }}"
VERSION: "{{ .CURRENT_VERSION }}"
prefix: "build: {{ .CLI_ARGS }}"
dir: services
start:
deps: [ensure-pod]
desc: "Starts one or more services. Include service names as a space-separated list."
task: internal:start-service
prefix: "start: {{ .CLI_ARGS }}"
stop:
desc: "Stops one or more services. Include service names as a space-separated list."
task: internal:stop-service
prefix: "stop: {{ .CLI_ARGS }}"