generated from Patagia/template-nix
83 lines
1.9 KiB
Makefile
83 lines
1.9 KiB
Makefile
set shell := ["/usr/bin/env", "bash", "-euo", "pipefail", "-c"]
|
|
|
|
[private]
|
|
default:
|
|
@just --choose
|
|
|
|
# Run controller
|
|
run-controller $RUST_LOG="debug,h2=info,hyper_util=info,tower=info":
|
|
cargo run --package patagia-controller -- --log-stderr
|
|
|
|
# Run controller local development
|
|
dev-controller:
|
|
watchexec --clear --restart --stop-signal INT --debounce 300ms -- just run-controller
|
|
|
|
# Run agent
|
|
run-agent $RUST_LOG="debug,h2=info,hyper_util=info,tower=info":
|
|
cargo run --package patagia-agent
|
|
|
|
# Run agent local development
|
|
dev-agent:
|
|
watchexec --clear --restart --stop-signal INT --debounce 300ms -- just run-agent
|
|
|
|
# Lint all source code
|
|
lint:
|
|
cargo clippy
|
|
|
|
# Format all source code
|
|
fmt:
|
|
nix fmt
|
|
|
|
# Update all dependencies
|
|
update: update-nix update-rust-deps
|
|
|
|
# Update rust dependencies
|
|
update-rust-deps:
|
|
cargo upgrade --recursive
|
|
cargo update --recursive
|
|
|
|
# Update nix flake packages
|
|
update-nix:
|
|
nix flake update
|
|
|
|
# Find unused dependencies with cargo machete
|
|
machete:
|
|
cargo machete
|
|
|
|
# Generate OpenAPI spec
|
|
open-api:
|
|
cargo xtask open-api
|
|
|
|
# Run all tests
|
|
check: check-nix
|
|
|
|
# check-nix
|
|
check-nix:
|
|
nix flake check
|
|
|
|
# Run PostgreSQL for development and testing
|
|
dev-postgres:
|
|
mkdir -p "$XDG_RUNTIME_DIR/patagia-postgres"
|
|
podman volume exists patagia-postgres || podman volume create patagia-postgres
|
|
podman run \
|
|
--detach \
|
|
--replace \
|
|
--name patagia-postgres \
|
|
--env POSTGRES_DB=patagia \
|
|
--env POSTGRES_USER=patagia \
|
|
--env POSTGRES_PASSWORD=secret \
|
|
--volume patagia-postgres:/var/lib/postgresql/data \
|
|
--volume "$XDG_RUNTIME_DIR/patagia-postgres:/var/run/postgresql" \
|
|
docker.io/postgres:17
|
|
|
|
# Reset PostgreSQL data and start
|
|
dev-postgres-reset: dev-postgres-clean dev-postgres
|
|
|
|
# Clean up PostgreSQL data
|
|
dev-postgres-clean:
|
|
podman rm -f patagia-postgres || true
|
|
podman volume rm patagia-postgres || true
|
|
|
|
# Connect to PostgreSQL with psql
|
|
dev-postgres-psql:
|
|
podman exec -it patagia-postgres psql -U patagia
|