Files
YANPM/justfile
GW_MC c14af00c08
Some checks failed
Test / test-frontend (pull_request) Successful in 23s
Test / lint-frontend (pull_request) Successful in 27s
Verify / verify-openapi-spec (pull_request) Successful in 4s
Test / frontend-build (pull_request) Successful in 30s
Verify / verify-frontend-api-client (pull_request) Has been cancelled
Verify / verify-generated-code (pull_request) Has been cancelled
Test / test (pull_request) Has been cancelled
Test / lint (pull_request) Has been cancelled
feat: update dependencies and refactor command line argument handling for yanpm-agent
2025-12-22 18:16:26 +08:00

80 lines
1.9 KiB
Makefile

set dotenv-load := true
# development environment file
set dotenv-filename := "./public/database/.env.generated"
DEFAULT_SIMULATE_ARGS := "--agent-dockerfile-path=../agent/Dockerfile"
cli *args:
cd apps/cli && \
if [ -n "{{args}}" ]; then \
cargo run -- {{args}}; \
else \
cargo run; \
fi
simulate *args:
cd apps/container && \
if [ -n "{{args}}" ]; then \
cargo run --bin container-simulate -- {{args}}; \
else \
cargo run --bin container-simulate -- {{DEFAULT_SIMULATE_ARGS}}; \
fi
# Usage: (following SeaORM migration commands)
# init: Initialize migration directory
# generate: Generate a new migration file
# up: Apply all pending migrations
# up -n 10: Apply 10 pending migrations
# down: Rollback last applied migration
# down -n 10: Rollback last 10 applied migrations
# status: Check the status of all migrations
# fresh: Drop all tables from the database, then reapply all migrations
# refresh: Rollback all applied migrations, then reapply all migrations
# reset: Rollback all applied migrations
migrate *args:
cd public/migration && \
if [ -n "{{args}}" ]; then \
cargo run -- {{args}}; \
else \
cargo run; \
fi
generate-entity:
# delegate to cli
just cli db:migrate_and_generate --output-path ../../public/database/src/generated/entities
generate-openapi:
# Generate OpenAPI spec
cd apps/api && \
cargo run -- generate:openapi --output-path ./swagger.json
# Generate API client for frontend
cd apps/frontend && \
pnpm generate:openapi
generate-all: generate-entity generate-openapi
build-frontend:
# build frontend assets
cd apps/frontend && \
pnpm build
build-backend:
# build backend server
cd apps/api && \
cargo build --release
build-docker:
cd apps/agent && \
docker build -t yanpm/agent:latest .
build-apps: build-frontend build-backend
act *args:
if [ -n "{{args}}" ]; then \
act {{args}} --artifact-server-path /tmp/artifacts; \
else \
act; \
fi