-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathmise.toml
More file actions
112 lines (87 loc) · 3.39 KB
/
Copy pathmise.toml
File metadata and controls
112 lines (87 loc) · 3.39 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
#:schema https://mise.jdx.dev/schema/mise.json
[tools]
uv = "latest"
gh = "latest"
usage = "latest"
docker-cli = "latest"
opencode = "latest"
"github:max-sixty/worktrunk" = "latest"
"npm:@fission-ai/openspec" = "latest"
colima = "latest"
[env]
# Load test.env as defaults, then .env for local overrides
_.file = [".env"]
_.path = ["./.venv/bin"]
VIRTUAL_ENV = "{{config_root}}/.venv"
# Silence macOS fork() crashes from NSCharacterSet races in Python libs (e.g. luigi workers)
OBJC_DISABLE_INITIALIZE_FORK_SAFETY = "YES"
# Required environment variables (mise will error if missing)
DBT_DSN = { required = "Database connection string (e.g., 'localhost/nocertcheck:8563')" }
DBT_USER = { required = "Database username" }
DBT_PASS = { required = "Database password" }
DBT_TEST_USER_1 = { required = "Test role 1 name" }
DBT_TEST_USER_2 = { required = "Test role 2 name" }
DBT_TEST_USER_3 = { required = "Test role 3 name" }
EXASOL_RELEASE = { required = "Exasol major version (e.g., '8')" }
# Connection pooling configuration
DBT_CONN_POOL_SIZE = "32"
# Disable dbt telemetry for faster test runs
DBT_SEND_ANONYMOUS_USAGE_STATS = "false"
# Docker SSH tunnel configuration
# Uses DOCKER_HOST from .env if set, otherwise constructs from DOCKER_SSH_HOST if available
# Fallback to podman machine socket if neither is set
DOCKER_HOST = "{% if env.DOCKER_HOST %}{{ env.DOCKER_HOST }}{% elif env.DOCKER_SSH_HOST %}ssh://{{ env.DOCKER_SSH_HOST }}{% endif %}"
DOCKER_BUILDKIT = "{% if env.DOCKER_BUILDKIT %}{{ env.DOCKER_BUILDKIT }}{% elif env.DOCKER_SSH_HOST or env.DOCKER_HOST %}1{% endif %}"
[hooks]
enter = ["mise run sync"]
[tasks.sync]
description = "Sync dependencies using uv"
run = "uv sync --dev"
[tasks.format]
description = "Auto-fix code formatting"
run = "uv run nox -s format:fix"
[tasks.format-check]
description = "Check code formatting without fixing"
run = "uv run nox -s format:check"
[tasks.lint]
description = "Run code and security linters"
run = "uv run nox -s lint:code lint:security"
[tasks.check]
description = "Run all checks (format, lint, type, deprecations)"
run = "uv run nox -s format:check lint:code lint:security lint:typing lint:deprecations"
[tasks.test]
description = "Run all tests with coverage"
run = "uv run nox -s test:coverage"
[tasks."test:unit"]
description = "Run unit tests with coverage (85% threshold)"
run = "uv run nox -s test:coverage-unit"
[tasks."test:integration"]
description = "Run integration tests with coverage (85% threshold, requires database)"
run = "uv run nox -s test:coverage-integration"
[tasks.nox]
description = "Run nox sessions (pass session names as args)"
run = "uv run nox"
[tasks.tunnel-start]
description = "Start SSH tunnel to remote Docker host"
run = "./scripts/tunnel.sh start"
[tasks.tunnel-stop]
description = "Stop SSH tunnel"
run = "./scripts/tunnel.sh stop"
[tasks.tunnel-status]
description = "Check SSH tunnel status"
run = "./scripts/tunnel.sh status"
[tasks.tunnel-restart]
description = "Restart SSH tunnel"
run = "./scripts/tunnel.sh restart"
[tasks."podman:setup"]
description = "Configure Podman helper binaries (gvproxy, vfkit) for macOS"
run = "./scripts/podman-setup.sh"
[tasks."db:start"]
description = "Start Exasol database container"
run = "uv run nox -s db:start"
[tasks."db:stop"]
description = "Stop Exasol database container"
run = "uv run nox -s db:stop"
[tasks."project:check"]
description = "Run project checks"
run = "uv run nox -s project:check"