mirror of
https://github.com/aykhans/bsky-feedgen.git
synced 2025-05-30 02:30:03 +00:00
107 lines
3.8 KiB
YAML
107 lines
3.8 KiB
YAML
# https://taskfile.dev
|
|
|
|
version: "3"
|
|
|
|
vars:
|
|
DOCKER_REGISTRY: "git.aykhans.me/bsky/"
|
|
|
|
tasks:
|
|
ftl:
|
|
cmds:
|
|
- task: fmt
|
|
- task: tidy
|
|
- task: lint
|
|
|
|
fmt: gofmt -w -d .
|
|
|
|
tidy: go mod tidy
|
|
|
|
lint: golangci-lint run
|
|
|
|
run-consumer:
|
|
cmd: go run ./cmd/consumer {{.CLI_ARGS}}
|
|
dotenv:
|
|
- config/app/consumer.env
|
|
- config/app/mongodb.env
|
|
|
|
run-feedgen-az:
|
|
cmd: go run ./cmd/feedgen/az {{.CLI_ARGS}}
|
|
dotenv:
|
|
- config/app/feedgen/az.env
|
|
- config/app/mongodb.env
|
|
|
|
run-api:
|
|
cmd: go run ./cmd/api {{.CLI_ARGS}}
|
|
dotenv:
|
|
- config/app/api.env
|
|
- config/app/mongodb.env
|
|
|
|
run-manager:
|
|
cmd: go run cmd/manager/main.go {{.CLI_ARGS}}
|
|
|
|
docker-publish-all:
|
|
desc: Publish docker images for all services
|
|
cmds:
|
|
- task: docker-publish-api
|
|
- task: docker-publish-consumer
|
|
- task: docker-publish-feedgen-az
|
|
- task: docker-publish-manager
|
|
|
|
docker-publish-api:
|
|
desc: Publish docker image for api service
|
|
vars:
|
|
GO_VERSION_FILE: ./cmd/api/version.go
|
|
IMAGE_NAME: feedgen-api
|
|
VERSION:
|
|
sh: grep -o 'const version = "[^"]*"' {{.GO_VERSION_FILE}} | grep -o '"[^"]*"' | tr -d '"'
|
|
VERSIONED_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:{{.VERSION}}"
|
|
LATEST_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:latest"
|
|
preconditions:
|
|
- test -f {{.GO_VERSION_FILE}}
|
|
- sh: '[ -n "{{.VERSION}}" ]'
|
|
msg: "Could not extract version from {{.GO_FILE}}"
|
|
cmds:
|
|
- docker build -t {{.VERSIONED_IMAGE}} -f ./cmd/api/Dockerfile .
|
|
- docker tag {{.VERSIONED_IMAGE}} {{.LATEST_IMAGE}}
|
|
- docker push {{.VERSIONED_IMAGE}}
|
|
- docker push {{.LATEST_IMAGE}}
|
|
- echo "Published {{.VERSIONED_IMAGE}} and {{.LATEST_IMAGE}}"
|
|
|
|
docker-publish-consumer:
|
|
desc: Publish docker image for consumer service
|
|
vars:
|
|
GO_VERSION_FILE: ./cmd/consumer/version.go
|
|
IMAGE_NAME: feedgen-consumer
|
|
VERSION:
|
|
sh: grep -o 'const version = "[^"]*"' {{.GO_VERSION_FILE}} | grep -o '"[^"]*"' | tr -d '"'
|
|
VERSIONED_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:{{.VERSION}}"
|
|
LATEST_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:latest"
|
|
cmds:
|
|
- docker build -t {{.VERSIONED_IMAGE}} -f ./cmd/consumer/Dockerfile .
|
|
- docker push {{.VERSIONED_IMAGE}}
|
|
- docker tag {{.VERSIONED_IMAGE}} {{.LATEST_IMAGE}}
|
|
- docker push {{.LATEST_IMAGE}}
|
|
- echo "Published {{.VERSIONED_IMAGE}} and {{.LATEST_IMAGE}}"
|
|
|
|
docker-publish-feedgen-az:
|
|
desc: Publish docker image for feedgen-az service
|
|
vars:
|
|
GO_VERSION_FILE: ./cmd/feedgen/az/version.go
|
|
IMAGE_NAME: feedgen-generator-az
|
|
VERSION:
|
|
sh: grep -o 'const version = "[^"]*"' {{.GO_VERSION_FILE}} | grep -o '"[^"]*"' | tr -d '"'
|
|
VERSIONED_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:{{.VERSION}}"
|
|
LATEST_IMAGE: "{{.DOCKER_REGISTRY}}{{.IMAGE_NAME}}:latest"
|
|
cmds:
|
|
- docker build -t {{.VERSIONED_IMAGE}} -f ./cmd/feedgen/az/Dockerfile .
|
|
- docker push {{.VERSIONED_IMAGE}}
|
|
- docker tag {{.VERSIONED_IMAGE}} {{.LATEST_IMAGE}}
|
|
- docker push {{.LATEST_IMAGE}}
|
|
- echo "Published {{.VERSIONED_IMAGE}} and {{.LATEST_IMAGE}}"
|
|
|
|
docker-publish-manager:
|
|
desc: Publish docker image for manager service
|
|
cmds:
|
|
- docker build -t git.aykhans.me/bsky/feedgen-manager:latest -f ./cmd/manager/Dockerfile .
|
|
- docker push git.aykhans.me/bsky/feedgen-manager:latest
|