/
garden.yaml
74 lines (73 loc) · 2.75 KB
/
garden.yaml
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
# Use "cargo install garden-tools" to install garden https://gitlab.com/garden-rs/garden
#
# # Usage
# garden doc # Build the jsonpickle.github.io documentation
# garden fmt # Apply code formatting
# garden test # Run tests
# garden tox # Run tests using "tox"
# garden bench # Run benchmarks
trees:
jsonpickle:
description: Two-way conversion of complex Python objects into JSON.
path: "${GARDEN_CONFIG_DIR}"
url: "git@github.com:jsonpickle/jsonpickle.git"
commands:
bench: |
python3 -m pytest \
--benchmark-verbose \
--benchmark-only \
--benchmark-histogram=./images/benchmark-${timestamp} \
./jsonpickle_benchmarks.py
check>:
- test
- check/fmt
- doc
check/fmt: "garden ${GARDEN_CMD_VERBOSE} fmt -- --check"
clean: |
rm -fr build dist jsonpickle.egg-info
find . -type d -name __pycache__ -print0 | xargs -0 rm -fr
doc: |
test -d pages || garden grow pages
${activate} python3 -m sphinx docs pages
fmt: |
${activate}
black --skip-string-normalization --target-version py37 "$@" jsonpickle tests
isort --profile=black "$@" jsonpickle tests
setup: |
python3 -m venv env3
garden ${GARDEN_CMD_VERBOSE} setup/dev
setup/dev: |
${activate} pip install --editable '.[dev,docs]'
setup/packaging: |
${activate} pip install --editable '.[packaging]'
test: |
${activate} python3 -m pytest ${GARDEN_CMD_VERBOSE} "$@" jsonpickle tests
tox: |
tox run-parallel --parallel-live "$@" ${GARDEN_CMD_VERBOSE}
wheel: |
${activate}
python3 -m build -n .
publish: |
${activate}
twine upload dist/*.whl dist/*.tar.gz
remotes:
aldanor: "git@github.com:aldanor/jsonpickle.git"
davvid: "git@github.com:davvid/jsonpickle.git"
eoghanmurray: "git@github.com:eoghanmurray/jsonpickle.git"
hartwork: "git@github.com:hartwork/jsonpickle.git"
hroncok: "git@github.com:hroncok/jsonpickle.git"
jaraco: "git@github.com:jaraco/jsonpickle.git"
marcintustin: "git@github.com:marcintustin/jsonpickle.git"
paulocheque: "git@github.com:paulocheque/jsonpickle.git"
Squadrick: "git@github.com:Squadrick/jsonpickle.git"
synapticarbors: "git@github.com:synapticarbors/jsonpickle.git"
Theelx: "git@github.com:Theelx/jsonpickle.git"
pages:
description: The jsonpickle.github.io website.
url: "git@github.com:jsonpickle/jsonpickle.github.io.git"
variables:
activate: |
test -n "$VIRTUAL_ENV" ||
test ! -d env3 ||
source env3/bin/activate
timestamp: $ date +%Y-%m-%dT%T%z