-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathjustfile
44 lines (36 loc) · 1.26 KB
/
justfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
default:
@just --list
# build koochooloo binary
build:
@echo '{{ BOLD + CYAN }}Building Koochooloo!{{ NORMAL }}'
go build -o koochooloo ./cmd/koochooloo
# update go packages
update:
@cd ./cmd/koochooloo && go get -u
# set up the dev environment with docker-compose
dev cmd *flags:
#!/usr/bin/env bash
echo '{{ BOLD + YELLOW }}Development environment based on docker-compose{{ NORMAL }}'
set -euxo pipefail
if [ {{ cmd }} = 'down' ]; then
docker compose -f ./deployments/docker-compose.yml down
docker compose -f ./deployments/docker-compose.yml rm
elif [ {{ cmd }} = 'up' ]; then
docker compose -f ./deployments/docker-compose.yml up --wait -d {{ flags }}
else
docker compose -f ./deployments/docker-compose.yml {{ cmd }} {{ flags }}
fi
# run tests in the dev environment
test: seed
go test -v ./... -covermode=atomic -coverprofile=coverage.out
seed: (dev "up")
go run ./cmd/koochooloo/main.go migrate
go run ./cmd/koochooloo/main.go seed
# connect into the dev environment database
database: (dev "up") (dev "exec" "database mongosh koochooloo")
# run golangci-lint
lint:
golangci-lint run -c .golangci.yml
k6: (dev "up") build
./koochooloo server > /dev/null 2>&1 &
k6 run ./api/k6/script.js