-
Notifications
You must be signed in to change notification settings - Fork 57
Expand file tree
/
Copy pathpyproject.toml
More file actions
111 lines (97 loc) · 3.32 KB
/
pyproject.toml
File metadata and controls
111 lines (97 loc) · 3.32 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
[build-system]
requires = [
"setuptools",
"wheel",
"Cython",
"pkgconfig"
]
build-backend = 'setuptools.build_meta'
[tool.ruff]
line-length = 95
select = ["F", "E", "W", "I001"]
[tool.ruff.isort]
force-single-line = true
known-first-party = ["pystack"]
known-third-party=["rich", "elftools", "pytest"]
[tool.isort]
force_single_line = true
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
line_length = 88
known_first_party=["pystack"]
known_third_party=["rich", "elftools", "pytest"]
[tool.towncrier]
package = "pystack"
package_dir = "src"
filename = "NEWS.rst"
directory = "news"
type = [
{ name = "Features", directory = "feature", showcontent = true },
{ name = "Deprecations and Removals", directory = "removal", showcontent = true },
{ name = "Bug Fixes", directory = "bugfix", showcontent = true },
{ name = "Improved Documentation", directory = "doc", showcontent = true },
{ name = "Miscellaneous", directory = "misc", showcontent = true },
]
underlines = "-~"
[tool.cibuildwheel]
build = ["cp38-*", "cp39-*", "cp310-*", "cp311-*"]
manylinux-x86_64-image = "manylinux2014"
manylinux-i686-image = "manylinux2014"
musllinux-x86_64-image = "musllinux_1_2"
skip = "*-musllinux_aarch64"
[tool.cibuildwheel.linux]
before-all = [
"yum install -y libzstd-devel",
"cd /",
"VERS=0.193",
"curl https://sourceware.org/elfutils/ftp/$VERS/elfutils-$VERS.tar.bz2 > ./elfutils.tar.bz2",
"tar -xf elfutils.tar.bz2",
"cd elfutils-$VERS",
"CFLAGS='-Wno-error -g -O3' CXXFLAGS='-Wno-error -g -O3' ./configure --disable-nls --enable-libdebuginfod=dummy --disable-debuginfod --with-zstd",
"make install"
]
# Override the default linux before-all for musl linux
[[tool.cibuildwheel.overrides]]
select = "*-musllinux*"
before-all = [
# Remove gettext-dev, which conficts with the musl-libintl, which is a build
# dependency of elfutils.
"apk del gettext-dev glib-dev",
# Build the latest elfutils from source. The build steps come from
# https://git.alpinelinux.org/aports/tree/main/elfutils, and the need to
# set the FNM_EXTMATCH macro to get the build to succeed is seen here:
# https://git.alpinelinux.org/aports/tree/main/elfutils/musl-macros.patch
"cd /",
"apk add --update argp-standalone bison bsd-compat-headers bzip2-dev flex-dev libtool linux-headers musl-fts-dev musl-libintl musl-obstack-dev xz-dev zlib-dev zstd-dev",
"VERS=0.193",
"curl https://sourceware.org/elfutils/ftp/$VERS/elfutils-$VERS.tar.bz2 > ./elfutils.tar.bz2",
"tar -xf elfutils.tar.bz2",
"cd elfutils-$VERS",
"CFLAGS='-Wno-error -DFNM_EXTMATCH=0 -g -O3' CXXFLAGS='-Wno-error -g -O3' ./configure --disable-nls --enable-libdebuginfod=dummy --disable-debuginfod --with-zstd",
"make install",
# Reinstall libintl, as the Python interpreter requires it
"apk del musl-libintl",
"apk add libintl",
]
[tool.coverage.run]
plugins = [
"Cython.Coverage",
]
source = [
"src/pystack",
]
branch = true
parallel = true
omit = [
"stringsource",
"tests/integration/*program*.py",
]
[tool.coverage.report]
show_missing = true
[tool.pytest.ini_options]
# pytest retains all temp files from the last 3 test suite runs by default.
# Keep only ones for failed tests to avoid filling up a disk.
tmp_path_retention_policy = "failed"
testpaths = ["tests"]