-
Notifications
You must be signed in to change notification settings - Fork 322
Expand file tree
/
Copy pathtaskfile.yml
More file actions
169 lines (138 loc) · 4.08 KB
/
taskfile.yml
File metadata and controls
169 lines (138 loc) · 4.08 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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
version: "3"
dotenv: [".env"]
tasks:
default:
desc: List available tasks
cmds:
- task --list
# Docker Operations
build:
desc: Build production containers
cmds:
- docker compose build --no-cache
build:dev:
desc: Build development containers
cmds:
- docker compose -f compose.dev.yml build --no-cache
up:
desc: Start production environment
cmds:
- docker compose up -d
up:dev:
desc: Start development environment
cmds:
- docker compose -f compose.dev.yml up -d
stop:
desc: Stop production containers
cmds:
- docker compose stop
stop:dev:
desc: Stop development containers
cmds:
- docker compose -f compose.dev.yml stop
down:
desc: Remove production containers and their data
cmds:
- docker compose down -v
down:dev:
desc: Remove development containers and their data
cmds:
- docker compose -f compose.dev.yml down -v
# Backend (.NET Core)
build:backend:
desc: Build the backend
dir: CSETWebApi/CSETWeb_Api/CSETWeb_ApiCore
cmds:
- dotnet build
lint:backend:
desc: Format backend code using dotnet format
dir: CSETWebApi/CSETWeb_Api
cmds:
- dotnet format
verify:backend:
desc: Verify backend code formatting without making changes
dir: CSETWebApi/CSETWeb_Api
cmds:
- dotnet format --verify-no-changes
check:backend:
desc: Run all backend checks in parallel (build, lint, test)
deps:
- build:backend
- lint:backend
- test:backend
test:backend:
desc: Run all backend unit tests
dir: CSETWebApi/CSETWeb_Api
cmds:
- dotnet test
launch:backend:
desc: Launch the backend server with hot reload
dir: CSETWebApi/CSETWeb_Api/CSETWeb_ApiCore
cmds:
- dotnet watch
# Frontend (Angular)
build:frontend:
desc: Install frontend dependencies
dir: CSETWebNg
cmds:
- npm install
launch:frontend:
desc: Launch the frontend dev server
dir: CSETWebNg
cmds:
- ng serve
# Database - SQL Server
launch:db:
desc: Launch the SQL Server database
cmds:
- docker compose up -d sqlserver
# Database - PostgreSQL
launch:pgdb:
desc: Launch the PostgreSQL database
cmds:
- docker compose -f compose.postgres.yml up -d db
split:bak:
desc: Split the database backup file into smaller chunks
cmds:
- split -b 50M backup/CSET.bak backup/bak-files/CSET.bak.part_
create:bak:
desc: Reassemble the database backup file from chunks
cmds:
- cat backup/bak-files/CSET.bak.part_* > backup/CSET.bak
load:bak:
desc: Load the database backup file
cmds:
- docker exec -i cset-mssql /opt/mssql-tools/bin/sqlcmd -U 'sa' -P "Password123" -i /var/opt/mssql/backup/restoredb.sql
load:bak:dev:
desc: Load the database backup file (dev container)
cmds:
- docker exec -i cset-mssql-dev /opt/mssql-tools/bin/sqlcmd -U 'sa' -P "Password123" -i /var/opt/mssql/backup/restoredb.sql
stop:db:
desc: Stop the SQL Server database
cmds:
- docker compose stop sqlserver
down:db:
desc: Remove the database container and its data
cmds:
- docker compose down -v sqlserver
sql:
desc: Open SQL shell for database exploration
interactive: true
cmds:
- docker exec -it cset-mssql /opt/mssql-tools/bin/sqlcmd -U 'sa' -P "Password123" -d CSET -C
sql:query:
desc: Execute a SQL query non-interactively (for coding agents)
cmds:
- docker exec cset-mssql /opt/mssql-tools/bin/sqlcmd -U 'sa' -P "Password123" -d CSET -C -W -s "|" -Q {{.CLI_ARGS}}
sql:file:
desc: Execute SQL from a file non-interactively
cmds:
- docker exec -i cset-mssql /opt/mssql-tools/bin/sqlcmd -U 'sa' -P "Password123" -d CSET -C -W -s "|" < {{.CLI_ARGS}}
mssql-to-postgres:
desc: Convert MSSQL .bak to PostgreSQL 17 backup
cmds:
- bash DatabaseScripts/Migration/convert-mssql-bak-to-postgres.sh
load-postgres-dump:
desc: Load PostgreSQL dump into the database
cmds:
- bash DatabaseScripts/Migration/load-postgres-dump.sh