Skip to content

Commit 520e685

Browse files
authored
Merge pull request #78 from asmeurer/versioneer
Add versioneer
2 parents 693c29b + b88a07d commit 520e685

File tree

6 files changed

+706
-2
lines changed

6 files changed

+706
-2
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
array_api_tests/_version.py} export-subst

MANIFEST.in

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
include versioneer.py
2+
include array_api_tests/_version.py}
3+
include array_api_tests/_version.py

README.md

+43-2
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,54 @@ a specific test case, which is useful when developing functions.
5050
$ pytest array_api_tests/test_creation_functions.py::test_zeros
5151
```
5252

53+
## Releases
54+
55+
The test suite has tagged releases on
56+
[GitHub](https://github.com/data-apis/array-api-tests/releases). If you run
57+
the test suite in your CI system, we recommend pinning against a release tag.
58+
59+
We use [calender versioning](https://calver.org/) for the releases. You should
60+
expect that any version may be "breaking" compared to the previous one, in the
61+
sense that there may have been additional tests added which cause a previously
62+
passing library to fail.
63+
64+
For now, the test suite is
65+
not installable as a Python package. You can use it by cloning the repo and
66+
running `pytest` as described above. If it would help you to be able to
67+
install it as a package, [please let us
68+
know](https://github.com/data-apis/array-api-tests/issues/85).
69+
70+
*Test suite maintainer note:* to make a release of the test suite, make an
71+
annotated tag with the version:
72+
73+
```
74+
git tag -a 2022.1
75+
```
76+
77+
(for the message, just write something like "array-api-tests version 2022.1").
78+
Be sure to use the calver version number for the tag name. Versioneer will
79+
automatically set the version number of the `array_api_tests` package based on
80+
the git tag.
81+
82+
Then push the tag to GitHub
83+
84+
```
85+
git push --tags origin 2022.1
86+
```
87+
88+
Finally go to the [tags page on
89+
GitHub](https://github.com/data-apis/array-api-tests/tags) and convert the tag
90+
into a release. If you want, you can add release notes to the release page on
91+
GitHub.
92+
93+
5394
## What the test suite covers
5495

5596
We are interested in array libraries conforming to the
5697
[spec](https://data-apis.org/array-api/latest/API_specification/index.html).
5798
Ideally this means that if a library has fully adopted the Array API, the test
58-
suite passes. We take great care to _not_ test things which are out-of-scope, so
59-
as to not unexpectedly fail the suite.
99+
suite passes. We take great care to _not_ test things which are out-of-scope,
100+
so as to not unexpectedly fail the suite.
60101

61102
### Primary tests
62103

array_api_tests/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@ def floats(*a, **kw):
2222

2323

2424
st.floats = floats
25+
26+
from . import _version
27+
__version__ = _version.get_versions()['version']

0 commit comments

Comments
 (0)