Commit Graph

40 Commits

Author SHA1 Message Date
Hynek Schlawack c76062a733
Rename CI workflow to a more meaningful name 2022-08-22 11:08:03 +02:00
Hynek Schlawack e1fa525307
Use build-and-inspect-python-package 2022-08-21 09:42:10 +02:00
Hynek Schlawack a961e9a42f
Reflow GHA 2022-08-19 09:22:35 +02:00
Sviatoslav Sydorenko 6efae77bde
Build sdist from a wheel in CI (#1012) 2022-08-19 06:56:30 +02:00
Hynek Schlawack 1ce864475d
Paint the shed
Just to test if this works:

Co-authored-by: geofft <geofft@users.noreply.github.com>
2022-08-18 10:36:49 +02:00
Hynek Schlawack 006b31f46c
Update GHA setup-python action 2022-08-15 09:21:23 +02:00
Hynek Schlawack 08f8319efe
Drop Python 3.5 (#988)
* Drop Python 3.5

Less than 0.5% of our downloads are 3.5 and it allows us to simplify A LOT of code.

Fixes #965

Signed-off-by: Hynek Schlawack <hs@ox.cx>

* Run 3.6 under coverage

* Add newsfragment

* Probably don't need 3.7 for coverage

* Everything is ordered!

* pre-commit autoupdate, add yesqa
2022-08-05 09:48:00 +02:00
Hynek Schlawack a18b3957d5
Add support for Python 3.11 (#969)
* Add support for Python 3.11

Co-authored-by: Tin Tvrtković <tinchester@gmail.com>

* Tin/py311 (#973)

* Fix test_slots::TestPickle::test_no_getstate_setstate_for_dict_classes

* Fix annotations

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Tweak tests for 3.10

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Tweak tests some more

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

Co-authored-by: Tin Tvrtković <tinchester@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-06-24 11:37:40 +02:00
Hynek Schlawack 980c8b04f5
Drop Python 2.7 (#936)
* Drop Python 2.7

The tooling situation around Python 2 has deteriorate to such a degree that
upholding compatibility is not tenable anymore for a volunteer-run project.

Signed-off-by: Hynek Schlawack <hs@ox.cx>

* Add newsfragment

* Run Python 3.5 under coverage to make up for Python 2.7

* Wait for py35 in parallel

* Remove fullmatch kludge

* Remove Python 2-specific code

* Revert empty slot test

Also disable pyupgrade on that file.

Signed-off-by: Hynek Schlawack <hs@ox.cx>

* We DO run under 3.5

* Remove __qualname__ workarounds

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update changelog.d/936.breaking.rst

Co-authored-by: Tin Tvrtković <tinchester@gmail.com>

* Compare methods using is

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Tin Tvrtković <tinchester@gmail.com>
2022-03-21 08:47:47 +01:00
Hynek Schlawack b75436630f
Bump actions to v3 (#933) 2022-03-17 14:08:32 +01:00
Hynek Schlawack f87de022c7 Run CI on tags too
Needed for docs builds of post tags.
2022-02-02 09:33:06 +01:00
Michał Górny 03dd7136cf
Do not require cloudpickle for PyPy (#892)
* Do not require cloudpickle for PyPy

The cloudpickle package relies on CPython implementation details,
and does not even import on PyPy:

```
ImportError while importing test module '/tmp/attrs/tests/test_3rd_party.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/pypy3.8/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
tests/test_3rd_party.py:7: in <module>
    import cloudpickle
.tox/pypy3/lib/pypy3.8/site-packages/cloudpickle/__init__.py:4: in <module>
    from cloudpickle.cloudpickle import *  # noqa
.tox/pypy3/lib/pypy3.8/site-packages/cloudpickle/cloudpickle.py:57: in <module>
    from .compat import pickle
.tox/pypy3/lib/pypy3.8/site-packages/cloudpickle/compat.py:13: in <module>
    from _pickle import Pickler  # noqa: F401
E   ModuleNotFoundError: No module named '_pickle'
```

Disable the dependency for PyPy and make the test handle missing
cloudpickle gracefully.

* Enable testing on pypy-3.8

* add a news entry

Co-authored-by: Hynek Schlawack <hs@ox.cx>
2021-12-29 09:43:19 +01:00
Hynek Schlawack 26c0cef8e4 Streamline workflow 2021-12-27 17:47:14 +01:00
Hynek Schlawack 7c9f5a8dd2
Update main.yml 2021-12-05 06:15:08 +01:00
Gábor Lipták 9bacb3c74a
Extract PYTHON_LATEST in GHA (#873)
Signed-off-by: Gábor Lipták <gliptak@gmail.com>

Co-authored-by: Hynek Schlawack <hs@ox.cx>
2021-11-25 08:52:49 +00:00
Hynek Schlawack 649a196877 Shuffle tox environments and Python versions a bit 2021-11-23 09:49:41 +01:00
Hynek Schlawack f983588977 Don't check dev env on macOS
It's slow and I inevitably notice if something breaks.
2021-11-20 16:19:23 +01:00
Hynek Schlawack 9bb97cb58e
Repo Janitoring (#868)
* Use proper pypy versions

* Python 3.10 as main, better/more expressive names

Signed-off-by: Hynek Schlawack <hs@ox.cx>

* Ditch Codecov

Signed-off-by: Hynek Schlawack <hs@ox.cx>

* Don't need this anymore

* Streamline tox.ini

Signed-off-by: Hynek Schlawack <hs@ox.cx>
2021-11-19 14:51:46 +01:00
Hynek Schlawack 5c78fbc154
Fix typo 2021-10-14 13:02:59 +02:00
Hynek Schlawack 03c9615a55 Python 3.10 is final 2021-10-14 11:37:14 +02:00
Hynek Schlawack 6e5c6175b5
Switch codecov to new version (#852) 2021-10-14 11:35:40 +02:00
Hynek Schlawack 6731eea0ed
Run Python 3.10 under coverage (#818)
Since the matching code is Python 3.10-specific, we run it under coverage.
2021-05-18 11:28:21 +02:00
Hynek Schlawack c6f6bb3682 Revert "Pin 3.10 to last alpha (#802)"
This reverts commit b69cfc3111.

pytest has fixed it on their side.
2021-05-05 10:50:02 +02:00
Hynek Schlawack b69cfc3111
Pin 3.10 to last alpha (#802)
* Pin 3.10 to last alpha

Apparently, a last-minute change made it into 3.10.beta1 that broke pytest.

* Fix version syntax
2021-05-04 17:09:30 +02:00
Hynek Schlawack 253f2292e0
Try 3.10 again (#798) 2021-05-01 13:59:34 +02:00
Hynek Schlawack 6d1d5e9055 Disable 3.10 until it stops breaking 2021-04-06 07:28:23 +02:00
Hynek Schlawack 150c7c3723
Don't cancel all builds if one fails (#783)
* Don't cancel all builds if one fails

* Try disabling fast failing

continue-on-error will show failed builds as green

* fix yaml fail
2021-03-22 08:04:17 +01:00
Hynek Schlawack 1e1742a9c5 Anarchy! 2021-02-25 08:46:28 +01:00
Hynek Schlawack 03d3fc7a71
Add Python 3.10 support (#763)
* Add Python 3.10 support

Python 3.10 has string types everywhere and that has unmasked a bunch of
bugs/edge cases in our code.

Especially the hooks code need a resolving helper for string types. I'm leaving
that for a separate PR.

Fixes #716

* More robust quote handling

* Use resolve_types decorator where possible

* Use a helper for __init__ annotations

* Add test for various ClassVars
2021-02-22 12:56:44 +01:00
Hynek Schlawack 1e0e5664fb
Use "official" build & check-wheel-contents (#721) 2020-11-25 09:53:37 +01:00
Hynek Schlawack e770594afc
Update setup-python action 2020-10-21 12:50:15 +02:00
Hynek Schlawack 08a589a1c0
Use 3.0 proper in CI 2020-10-21 08:49:18 +02:00
Hynek Schlawack b02335f59d
Add attr.define/mutable/frozen (#666)
* Add attr.auto/mutable/frozen

Prepare for import attrs y'all!

Signed-off-by: Hynek Schlawack <hs@ox.cx>

* Try combining coverage using 3.8, always

* Add tests for overriding of auto_attribs

* Clarifications

* Add newsfragment

* s/auto/define

This is going be the next-gen name anyways, so no need to introduce new names.

Signed-off-by: Hynek Schlawack <hs@ox.cx>

* Missed two

* Add type stubs

* Beg for patience

* Explain second setup-python action

* fix comment
2020-08-17 16:22:33 +02:00
Hynek Schlawack d4150f2114
Run CI against 3.9 pre-release (#664) 2020-08-13 13:58:58 +02:00
Hynek Schlawack d9c47fb58b Add workflow dispatch
https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/
2020-07-20 10:10:55 +02:00
Hynek Schlawack 3e3d84216c Use latest setup-python 2020-07-01 09:42:06 +02:00
Hynek Schlawack 94ad4f3917
Allow API-based rebuilds 2020-03-14 11:43:42 +01:00
Hynek Schlawack 26f8c998cc That's weird syntax 2020-03-13 11:44:53 +01:00
Hynek Schlawack c6e836ee9d Allow on-demand builds 2020-03-13 11:40:49 +01:00
Hynek Schlawack 618373e335
Move to GitHub Actions (#633)
* Create main.yml

* Update tox.ini

* Update .readthedocs.yml

* Delete azure-pipelines.yml

* Update README.rst

* Update .pre-commit-config.yaml

* Update CONTRIBUTING.rst

* Update tox.ini
2020-03-13 11:07:31 +01:00