Major refactor
This commit is contained in:
155
Taskfile.yml
Normal file
155
Taskfile.yml
Normal file
@@ -0,0 +1,155 @@
|
||||
version: '3'
|
||||
|
||||
dotenv: [".env", ".env.example"]
|
||||
|
||||
vars:
|
||||
VERSION: '{{.v | default "latest"}}'
|
||||
RUST_LOG: "warn,siren=info"
|
||||
|
||||
tasks:
|
||||
default:
|
||||
desc: List available tasks
|
||||
cmds:
|
||||
- task --list
|
||||
silent: true
|
||||
|
||||
setup:
|
||||
desc: Copy .env.example to .env if .env does not exist
|
||||
cmds:
|
||||
- test -f .env || cp .env.example .env
|
||||
silent: true
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Cargo
|
||||
# -----------------------------------------------------------
|
||||
build:
|
||||
desc: "Compile a debug build"
|
||||
deps: [ setup ]
|
||||
cmds:
|
||||
- cargo build
|
||||
silent: true
|
||||
|
||||
release:
|
||||
desc: "Compile an optimised release build"
|
||||
deps: [ setup ]
|
||||
cmds:
|
||||
- cargo build --release
|
||||
silent: true
|
||||
|
||||
run:
|
||||
desc: "Run the project"
|
||||
deps: [ setup ]
|
||||
env:
|
||||
RUST_LOG: "warn,siren=trace"
|
||||
cmds:
|
||||
- cargo run
|
||||
silent: true
|
||||
|
||||
format:
|
||||
desc: "Format code"
|
||||
cmds:
|
||||
- cargo fmt
|
||||
silent: true
|
||||
|
||||
clean:
|
||||
desc: "Clean the project"
|
||||
deps: [ setup ]
|
||||
cmds:
|
||||
- cargo clean
|
||||
silent: true
|
||||
|
||||
lint:
|
||||
desc: "Run Clippy linter"
|
||||
deps: [ setup ]
|
||||
cmds:
|
||||
- cargo clippy -- -D warnings
|
||||
silent: true
|
||||
|
||||
check:
|
||||
desc: "Fast type-check without producing a binary"
|
||||
deps: [ setup ]
|
||||
cmds:
|
||||
- cargo check
|
||||
silent: true
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Docker
|
||||
# -----------------------------------------------------------
|
||||
docker:build:
|
||||
desc: "Build the Docker image (use v=x.x.x to set version, default is \"latest\")"
|
||||
cmds:
|
||||
- docker build -f Dockerfile -t siren:{{.VERSION}} .
|
||||
silent: true
|
||||
|
||||
docker:up:
|
||||
desc: "Start backend containers"
|
||||
cmds:
|
||||
- docker compose up -d
|
||||
silent: true
|
||||
|
||||
docker:up:all:
|
||||
desc: "Start all containers"
|
||||
cmds:
|
||||
- docker compose --profile app up -d
|
||||
silent: true
|
||||
|
||||
docker:down:
|
||||
desc: "Stop all containers"
|
||||
cmds:
|
||||
- docker compose --profile app down
|
||||
silent: true
|
||||
|
||||
docker:clean:
|
||||
desc: "Stop all containers and remove volumes"
|
||||
prompt: "This will remove all docker containers, networks, volumes, and images. Are you sure?"
|
||||
cmds:
|
||||
- docker compose --profile app down -v
|
||||
silent: true
|
||||
|
||||
docker:refresh:
|
||||
desc: "Clean and restart containers"
|
||||
cmds:
|
||||
- task: docker:clean
|
||||
- task: docker:up
|
||||
silent: true
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# UI
|
||||
# -----------------------------------------------------------
|
||||
ui:install:
|
||||
desc: "Install UI npm dependencies"
|
||||
dir: ui
|
||||
cmds:
|
||||
- npm install
|
||||
silent: true
|
||||
|
||||
ui:run:
|
||||
desc: "Run Vite dev server"
|
||||
dir: ui
|
||||
cmds:
|
||||
- npm run dev
|
||||
silent: true
|
||||
|
||||
ui:build:
|
||||
desc: "Build the React UI into ui/dist"
|
||||
dir: ui
|
||||
cmds:
|
||||
- npm run build
|
||||
silent: true
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Utilities
|
||||
# -----------------------------------------------------------
|
||||
psql:
|
||||
desc: Connect to the database
|
||||
cmds:
|
||||
- docker exec -it siren-postgres psql -U $DATABASE_USER -P pager=off
|
||||
silent: true
|
||||
|
||||
ngrok:
|
||||
desc: Start ngrok tunnel
|
||||
vars:
|
||||
UI_PORT: '{{.UI_PORT | default "8080"}}'
|
||||
cmds:
|
||||
- ngrok http {{.UI_PORT}}
|
||||
silent: true
|
||||
Reference in New Issue
Block a user