-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTaskfile.yml
More file actions
138 lines (117 loc) · 3.65 KB
/
Taskfile.yml
File metadata and controls
138 lines (117 loc) · 3.65 KB
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# https://taskfile.dev
version: "3.42.1"
silent: true
env:
COMPOSE_DOCKER_CLI_BUILD: 1
DOCKER_BUILDKIT: 1
CURRENT_USER_ID:
sh: id --user
DOCKER_COMPOSE_APP_CONTAINER: app
DOCKER_COMPOSE_DATABASE_CONTAINER: database
dotenv:
- .env
includes:
secops: ./environment/secops-Taskfile.yml
devops: ./environment/devops-Taskfile.yml
tasks:
default:
desc: "List all available tasks"
cmds:
- task --list-all
init-project:
desc: "Initialize the project"
aliases: [init]
deps: [run]
cmds:
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER composer install
- task: _set-app-key
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER php artisan migrate --seed
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER php artisan storage:link
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER npm install
- task: create-test-database
vite:
desc: "Run Vite local dev server"
deps: [run]
cmds:
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER npm run dev
run-containers:
desc: "Run containers"
aliases: [run]
deps: [build]
preconditions:
- sh: test -f .env
msg: "Please create .env for app."
cmds:
- cmd: docker compose up --detach
stop-containers:
desc: "Stop containers"
aliases: [stop]
cmds:
- cmd: docker compose stop
restart-containers:
desc: "Restart containers"
aliases: [restart]
cmds:
- task: stop-containers
- task: run-containers
build-containers:
desc: "Build containers"
aliases: [build]
cmds:
- cmd: docker compose build --pull
shell-app:
desc: "Enter app shell"
aliases: [shell]
deps: [run]
cmds:
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER bash
shell-app-root:
desc: "Enter app shell as root"
aliases: [shell-root]
deps: [run]
cmds:
- cmd: docker compose exec --user root $DOCKER_COMPOSE_APP_CONTAINER bash
test:
desc: "Run tests"
deps: [run]
cmds:
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER composer test
fix:
desc: "Run fixers"
deps: [run]
cmds:
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER composer csf
analyse:
desc: "Run composer analyse"
deps: [run]
cmds:
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER composer analyse
type-check:
desc: "Run npm type-check"
deps: [run]
cmds:
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER npm run type-check
queue:
desc: "Run queue:work"
deps: [run]
cmds:
- cmd: docker compose exec --user $CURRENT_USER_ID $DOCKER_COMPOSE_APP_CONTAINER php artisan queue:work
create-test-database:
desc: "Create test database"
deps: [run]
aliases: [create-test-db]
vars:
TEST_DB_NAME: lmt-test
cmds:
- cmd: docker compose exec $DOCKER_COMPOSE_DATABASE_CONTAINER bash -c "createdb --username=$DB_USERNAME {{ .TEST_DB_NAME }} && echo 'Created database for tests ({{ .TEST_DB_NAME }}).'"
ignore_error: true
_set-app-key:
desc: "Create APP_KEY if not set"
internal: true
cmds:
- |
APP_KEY_VALUE=$(grep APP_KEY .env | cut --delimiter '=' --fields 2-)
if [ -z "${APP_KEY_VALUE}" ]; then
echo "APP_KEY is not set. Creating:"
docker compose exec $DOCKER_COMPOSE_APP_CONTAINER php artisan key:generate
fi