[tasks.setup] workspace = false script = ''' if [ ! -f "$PWD/docker-compose.dev.yml" ]; then echo "Creating docker-compose.dev.yml for development" cp "$PWD/docker-compose.yml" "$PWD/docker-compose.dev.yml" fi ''' # Format files [tasks.member_format] run_task = { name = "format", fork = true } # Run clippy [tasks.member_clippy] run_task = { name = "clippy", fork = true } # Build Docker [tasks."docker:build"] workspace = false command = "docker" args = ["compose", "-f", "./docker-compose.dev.yml", "build"] dependencies = ["setup"] # Launch Docker [tasks."docker:up"] workspace = false command = "docker" args = ["compose", "-f", "./docker-compose.dev.yml", "up"] dependencies = ["setup"] # Launch Docker [tasks."docker:down"] workspace = false command = "docker" args = ["compose", "-f", "./docker-compose.dev.yml", "down"] dependencies = ["setup"] # Launch Docker [tasks."docker:push"] workspace = false command = "docker" args = ["compose", "-f", "./docker-compose.dev.yml", "push"] dependencies = ["setup"] # Start Development Workflow [tasks."start"] workspace = false dependencies = ["member_format", "member_clippy", "docker:up"] # Start Development Workflow [tasks."start:dev"] workspace = false dependencies = ["member_format", "member_clippy", "docker:down", "docker:build", "docker:up"] # Start Development Workflow [tasks."build:dev"] workspace = false dependencies = ["member_format", "member_clippy", "docker:build"] # Access docker container as Steam (default) [tasks.access] workspace = false command = "docker-compose" args = ["-f", "./docker-compose.dev.yml", "exec", "--user", "steam", "valheim", "bash"] # Access docker container as root [tasks."access:admin"] workspace = false command = "docker-compose" args = ["-f", "./docker-compose.dev.yml", "exec", "valheim", "bash"] # Run odin release [tasks.release-odin] workspace = false condition = { profiles = ["production"] } command = "cargo" args = ["build", "--release", "--bin", "odin"] # Run huginn release [tasks.release-http-server] workspace = false condition = { profiles = ["production"] } command = "cargo" args = ["build", "--release", "--bin", "huginn"] [tasks.release] workspace = false condition = { profiles = ["production"] } dependencies = ["release-odin", "release-http-server"]