forked from aws-deadline/deadline-cloud
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhatch.toml
More file actions
90 lines (74 loc) · 3.51 KB
/
hatch.toml
File metadata and controls
90 lines (74 loc) · 3.51 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
[envs.default]
pre-install-commands = ["pip install -r requirements-testing.txt"]
[envs.default.scripts]
sync = "pip install -r requirements-testing.txt"
test = "pytest --cov-config pyproject.toml {args:test/unit}"
test_docker = "./scripts/run_sudo_tests.sh --build"
test_installer = "pytest --no-cov {args:test/installer} -vvv"
test_build_installer = "pytest --no-cov {args:test/build_installer}"
typing = "mypy {args:src test} --always-false=PYQT5 --always-false=PYSIDE2 --always-false=PYQT6 --always-true=PYSIDE6"
style = ["ruff check {args:.}", "ruff format --check --diff {args:.}"]
fmt = ["ruff format {args:.}", "style"]
lint = ["style", "typing"]
[[envs.all.matrix]]
python = ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
[envs.default.env-vars]
SKIP_BOOTSTRAP_TEST_RESOURCES = "True"
[envs.codebuild.scripts]
build = "hatch build"
[envs.codebuild.env-vars]
SKIP_BOOTSTRAP_TEST_RESOURCES = "True"
[envs.integ]
pre-install-commands = [
"pip install -r requirements-integ-testing.txt",
"pip install -r requirements-testing.txt",
]
[envs.integ.scripts]
test = "pytest --xfail-tb --no-cov -vvv --numprocesses=1 {args:test/integ}"
[envs.installer.env-vars]
SKIP_BOOTSTRAP_TEST_RESOURCES = "True"
[envs.installer]
pre-install-commands = ["pip install -r requirements-installer.txt"]
[envs.installer.scripts]
build = "hatch build"
make_exe = "python scripts/pyinstaller/make_exe.py --output {root}/installer/components/DeadlineClient.zip --version-file {root}/pyinstaller-version.json"
prepare_artifacts = "python scripts/prepare_artifacts.py --archive-path {root}/installer/components/DeadlineClient.zip --output-path {root}/installer/components/DeadlineClient"
build_installer = "python {root}/scripts/build_installer_cli.py --installer-source-path {root}/installer/DeadlineCloudClient.xml {args:}"
build_installer_local = "hatch build && hatch run make_exe && hatch run prepare_artifacts && hatch run build_installer --local-dev"
validate_exe = "python {root}/scripts/pyinstaller/validate.py --zip-path {root}/installer/components/DeadlineClient.zip {args:}"
validate_exe_local = "python {root}/scripts/pyinstaller/validate.py {args:}"
[envs.attributions]
pre-install-commands = ["pip install -r requirements-attributions.txt"]
[envs.attributions.scripts]
generate = """
python {root}/scripts/attributions/cli.py \
-o {root}/THIRD_PARTY_LICENSES \
--python current \
--inventory-file {root}/software-inventory.md \
--versions-file {root}/software-versions.json \
{args:}
"""
generate_local = "python {root}/scripts/attributions/cli.py -o {root}/THIRD_PARTY_LICENSES --dev --python uv {args:}"
merge_versions = """
python {root}/scripts/attributions/merge_versions.py \
--python-dependencies-file {root}/python-dependencies.json \
--software-versions-file {root}/software-versions.json \
--pyinstaller-version-file {root}/pyinstaller-version.json \
--installer-name DeadlineCloudClient \
--output-prefix {root}
"""
[envs.release]
detached = true
[envs.release.scripts]
deps = "pip install -r requirements-release.txt"
bump = "semantic-release -v --strict version --no-push --no-commit --no-tag --skip-build {args}"
version = "semantic-release -v --strict version --print {args}"
[envs.docs]
pre-install-commands = ["pip install -r requirements-docs.txt"]
[envs.docs.scripts]
build = "mkdocs build --strict"
serve = "mkdocs serve"
deploy = "mkdocs gh-deploy {args}"
generate-api-snapshot = "python scripts/generate_api_snapshot.py {args}"
validate-api-snapshot = "python scripts/validate_api_snapshot.py {args}"
check-api-breaks = "griffe check -s src deadline {args}"