]>
git.k1024.org Git - pyxattr.git/log
Iustin Pop [Mon, 5 Feb 2024 01:33:47 +0000 (02:33 +0100)]
Switch the MacOS runner to macos-14
Thanks to Twitter, learned about the new M1 runners, and such a small change is even doable on my phone 😀
Iustin Pop [Sun, 4 Feb 2024 23:49:21 +0000 (23:49 +0000)]
Minimal README changes to trigger doc rebuild
Iustin Pop [Sun, 4 Feb 2024 23:39:17 +0000 (23:39 +0000)]
Switch from recommonmark to myst
This addresses issue #43.
Iustin Pop [Sun, 4 Feb 2024 23:22:37 +0000 (23:22 +0000)]
Remove obsolete gcov arg to codecov action
This is replaced by the plugin arg, which by default runs all.
Iustin Pop [Sun, 4 Feb 2024 23:16:32 +0000 (23:16 +0000)]
Switch to codecov v4
Iustin Pop [Tue, 30 Jan 2024 22:20:32 +0000 (23:20 +0100)]
Bump GitHub CI actions version for nodejs deprecation
Iustin Pop [Sun, 7 Jan 2024 16:43:04 +0000 (17:43 +0100)]
Add ko-fi support info
Iustin Pop [Thu, 4 Jan 2024 21:56:13 +0000 (22:56 +0100)]
readthedocs: actually build the module to enable docs
Oops. Without this, the docs are empty...
Iustin Pop [Thu, 4 Jan 2024 21:50:40 +0000 (22:50 +0100)]
Add requirements for readthedocs builds
Iustin Pop [Thu, 4 Jan 2024 21:41:55 +0000 (22:41 +0100)]
Fixup path to sphinx config file in readthedocs.yaml
Iustin Pop [Thu, 4 Jan 2024 21:39:55 +0000 (22:39 +0100)]
Add a readthedocs config file (finally)
This is long needed, not sure how I missed it. Based on
https://docs.readthedocs.io/en/stable/config-file/.
Iustin Pop [Sun, 17 Dec 2023 21:30:25 +0000 (22:30 +0100)]
GitHub CI: ensure setuptools is installed
Looks like setuptools is no longer installed by default on recent
Python versions - 3.12 more precisely:
https://github.com/iustin/pyxattr/actions/runs/
7236053321 /job/
19714175539 ,
which says:
```
Run python ./setup.py build_ext -i
Traceback (most recent call last):
File "/Users/runner/work/pyxattr/pyxattr/./setup.py", line 5, in <module>
from setuptools import setup, Extension
ModuleNotFoundError: No module named 'setuptools'
```
So let's explicitly install it for CI runs.
Iustin Pop [Fri, 24 Nov 2023 18:52:07 +0000 (18:52 +0000)]
Update action versions to latest
This gets out of the outdated node 12 issue
(https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/).
Iustin Pop [Fri, 24 Nov 2023 16:09:10 +0000 (16:09 +0000)]
Expand python versions in CI action
Add more recent Python versions, and replace pypy-3.9
with -nightly, and add 3.10-nightly. This is per issue 41.
Iustin Pop [Mon, 17 Apr 2023 21:57:16 +0000 (23:57 +0200)]
Bump version number for the 0.8.1 release
Iustin Pop [Mon, 17 Apr 2023 21:55:22 +0000 (23:55 +0200)]
Convert the NEWS file to markdown
Let's try to remove all non-required rST files.
Iustin Pop [Mon, 17 Apr 2023 21:46:50 +0000 (23:46 +0200)]
Bump changelog for new version
Iustin Pop [Mon, 17 Apr 2023 21:42:18 +0000 (23:42 +0200)]
Include the two new symlinks in the sdist
Otherwise distcheck fails - should probably move distcheck to a
GitHub job…
Iustin Pop [Mon, 17 Apr 2023 21:34:19 +0000 (23:34 +0200)]
Readme: make internal links consistent
Sadly these can't be real relative links, since that breaks doc
generation…
Iustin Pop [Mon, 17 Apr 2023 21:07:31 +0000 (23:07 +0200)]
Add a CONTRIBUTING.md file
I was not sure this is really useful, but after writing it, definitely
so. At least I finally documented the release steps 😅
Iustin Pop [Mon, 17 Apr 2023 20:43:51 +0000 (22:43 +0200)]
Makefile: add Python 3.11
This is less and less used given GitHub actions, but…
Iustin Pop [Mon, 17 Apr 2023 20:34:03 +0000 (22:34 +0200)]
Replace remaining http URLs with secure versions
Iustin Pop [Sun, 16 Apr 2023 20:21:46 +0000 (22:21 +0200)]
Add badge/link to the OpenSSF Best Practices status
Iustin Pop [Sun, 16 Apr 2023 15:38:55 +0000 (17:38 +0200)]
Add note about GitHub vulnerability reporting
Iustin Pop [Sun, 16 Apr 2023 15:34:55 +0000 (17:34 +0200)]
Add a simple security policy
Iustin Pop [Sun, 16 Apr 2023 15:19:50 +0000 (17:19 +0200)]
Restrict permissions for github token
Iustin Pop [Sun, 16 Apr 2023 14:52:58 +0000 (16:52 +0200)]
Update refs after master→main rename
Why not.
Iustin Pop [Sun, 16 Apr 2023 10:31:38 +0000 (12:31 +0200)]
Actually fix the badge URL
Iustin Pop [Sun, 16 Apr 2023 09:52:31 +0000 (11:52 +0200)]
Fix badge routes for build action
Iustin Pop [Sun, 16 Apr 2023 09:42:35 +0000 (11:42 +0200)]
Stop trying to store coverage reports as artifacts
Codecov doesn't support this anymore, so remove the keyword and the
upload action.
Iustin Pop [Sun, 16 Apr 2023 09:41:57 +0000 (11:41 +0200)]
Enable gcov explicitly
codecov@v1 didn't need this, v3 does, otherwise no reports are
generated.
Iustin Pop [Sun, 16 Apr 2023 09:16:47 +0000 (11:16 +0200)]
Try trivial replacement of the codecov uploader with v3
Not sure if this will work as-is, but will test.
Iustin Pop [Mon, 12 Dec 2022 21:58:44 +0000 (22:58 +0100)]
Fix min python version in setup.py
This controls the metadata on pypi, sigh.
Iustin Pop [Mon, 12 Dec 2022 21:36:54 +0000 (22:36 +0100)]
Bump version for new 0.8.0 release
Iustin Pop [Mon, 12 Dec 2022 21:35:17 +0000 (22:35 +0100)]
Stop unconditionally importing distutils
distutils is fully deprecated and will stop working in 3.12, so just
stop the unconditional import. The conditional one remains, and that
favours setuptools. Everything still works the same.
Iustin Pop [Mon, 12 Dec 2022 21:33:56 +0000 (22:33 +0100)]
Fix source archives and distcheck builds
… after commit
c9283c89 removed the symlinks under doc. This is not
perfect, as the files are not included as symlinks, but duplicated,
but meh, a fix for another day.
Iustin Pop [Mon, 12 Dec 2022 21:22:06 +0000 (22:22 +0100)]
Re-wrap README
Sigh, VS code only *visually* wraps. Lesson learned :)
Iustin Pop [Wed, 12 Oct 2022 19:40:39 +0000 (22:40 +0300)]
Makefile: drop py<3.7, add 3.10
The Makefile has a home-grown multi-Python test setup, and that wasn't updated when the CI was switched to 3.7+. This fixes that inconsistency.
Iustin Pop [Wed, 12 Oct 2022 18:59:33 +0000 (21:59 +0300)]
CI: Drop old installTyping flag
No longer needed since Python 3.4 is not tested anymore.
Iustin Pop [Wed, 12 Oct 2022 18:57:36 +0000 (21:57 +0300)]
CI: Bump cache key version
This is needed due to pip changes - sphinx and recommonmark are not cached, and this leads to extra work during setup.
Iustin Pop [Wed, 12 Oct 2022 18:48:02 +0000 (21:48 +0300)]
Install recommonmark too
Just learned that this is deprecated, but let's get the doc CI going, and then do the change - it will actually be tested.
Iustin Pop [Wed, 12 Oct 2022 18:41:48 +0000 (21:41 +0300)]
CI: Run doc builds too
This would better live in a separate CI run, since we don't care so much about all OS builds, but let's how much it adds.
Iustin Pop [Mon, 10 Oct 2022 20:16:59 +0000 (23:16 +0300)]
Refresh the README
This updates the list of supported Python versions (since I can't test with Python 3.4 anymore), and adds a bit more details about dependencies needed for building from source - fixes #33.
Iustin Pop [Mon, 10 Oct 2022 19:52:33 +0000 (22:52 +0300)]
Properly handle module refcount during init errors
Together with the commit in #36, this should fix #35.
Iustin Pop [Sun, 9 Oct 2022 21:07:06 +0000 (00:07 +0300)]
Don't leak temporary tuples in get_all() (#36)
Issue #35 found two instances of memory leaks. This fixes the first one, which arguably is a more realistic case.
Iustin Pop [Sun, 9 Oct 2022 19:53:25 +0000 (22:53 +0300)]
Allow triggering workflows runs manually
Iustin Pop [Sun, 9 Oct 2022 19:37:08 +0000 (22:37 +0300)]
Switch CI images to newest and drop Python < 3.7
The Ubuntu 18 image with Python 3.4 is going away soon. Python 3.6 is no longer supported on newest Ubuntu *and* MacOS, so let's just switch the CI image to newer versions. If this makes the CI pass again, I'll bump supported Python versions.
Iustin Pop [Sun, 6 Jun 2021 19:01:08 +0000 (21:01 +0200)]
Update CI schedule to include periodic runs
… and also trigger on pull requests.
Iustin Pop [Sat, 5 Jun 2021 16:05:30 +0000 (18:05 +0200)]
Enable PyPy runs as well
Switch the 'python-version' key to expanded, since it's too long
now. Also enable fail-fast, as otherwise too much time is spent
testing passing things.
Note that pypy supports a smaller range of versions (which is in a way
good, too many tests otherwise).
Iustin Pop [Sat, 5 Jun 2021 15:54:47 +0000 (17:54 +0200)]
Enable Python 3.10 builds
Let's get early warning…
Iustin Pop [Sat, 5 Jun 2021 02:30:44 +0000 (04:30 +0200)]
Enable MacOS builds
Travis was not supporting them, but apparently GitHub Actions do?
Let's try.
Iustin Pop [Sat, 5 Jun 2021 02:53:43 +0000 (04:53 +0200)]
Skip user symlink test on MacOSX
Apparently MacOS doesn't have the same limitation (feature?) as Linux
of preventing regular users from settings xattrs on symlinks, so let's
skip this test on it (MacOS).
Iustin Pop [Sat, 5 Jun 2021 02:24:58 +0000 (04:24 +0200)]
Store codecov output as an artifact
Iustin Pop [Sat, 5 Jun 2021 02:20:15 +0000 (04:20 +0200)]
Stop uploading to coveralls
This allows significant cleanup as we don't need anymore a post-job
and we can drop lcov installation/processing. Codecov is switched back
in gcov mode.
Iustin Pop [Sat, 5 Jun 2021 01:46:48 +0000 (03:46 +0200)]
Remove auto-detection of optimal buffer size
Since we don't pass zero anymore, this code is never called. Replace
it with 'zero means hardcoded initial value', since that hardcoded
value is what we were already passing, and change all the callers to
pass in zero (as 'auto-compute' again) instead, for simplicity.
Iustin Pop [Sat, 5 Jun 2021 00:53:24 +0000 (02:53 +0200)]
Codecov: disable gcov
Coverage informatio is already processed by lcov, so let's use that
directly. Should behave more close to coveralls.
Iustin Pop [Sat, 5 Jun 2021 00:41:29 +0000 (02:41 +0200)]
Name codecov uploads by the Python version
This way the artifacts in codecov are much clearer.
Iustin Pop [Sat, 5 Jun 2021 00:26:13 +0000 (02:26 +0200)]
Remove verbose from the codecov action
Iustin Pop [Sat, 5 Jun 2021 00:22:19 +0000 (02:22 +0200)]
Update README to point to github actions and badge
… instead of Travis.
Iustin Pop [Sat, 5 Jun 2021 00:08:28 +0000 (02:08 +0200)]
Shorten the name of the CI
Iustin Pop [Sat, 5 Jun 2021 00:07:37 +0000 (02:07 +0200)]
Remove the travis config
GitHub Actions seems pretty stable now, let's switch over.
Iustin Pop [Sat, 5 Jun 2021 00:00:46 +0000 (02:00 +0200)]
Enable codecov as well
Iustin Pop [Fri, 4 Jun 2021 23:31:33 +0000 (01:31 +0200)]
Enable coverage and coveralls upload in github actions
Iustin Pop [Fri, 4 Jun 2021 22:46:55 +0000 (00:46 +0200)]
Initial github actions-based continous build
Preparing to migrate from Travis…
Iustin Pop [Sun, 6 Dec 2020 14:07:35 +0000 (15:07 +0100)]
Store doc/readme and doc/news in the git repo
… instead of rebuilding them every time. This is in order to fix the
readthedocs "build", since it only builds docs (via sphinx) but
doesn't run the actual build.
Iustin Pop [Sun, 29 Nov 2020 19:50:06 +0000 (20:50 +0100)]
Remove compatibility with old recommonmark versions
It's hard trying to keep compatibility with both very old (<1.8),
old (1.8) and modern (Sphinx), while also supporting old recommonmark;
recommonmark 0.5 was released in January 2019.
So let's drop the old support and just keep support for Sphinx 1.8 and
3.0+, and more modern recommonmark.
Iustin Pop [Sun, 29 Nov 2020 19:19:04 +0000 (20:19 +0100)]
Release version 0.7.2
Iustin Pop [Sun, 29 Nov 2020 19:38:33 +0000 (20:38 +0100)]
Add recommonmark to sphinx extensions
With Sphinx 3.0+, the old way of enabling markdown is completely
broken, so without this the documentation is not really working…
Iustin Pop [Sun, 29 Nov 2020 12:09:14 +0000 (13:09 +0100)]
Run Python 3.9 tests too
Both locally and on travis.
Anubhav Choudhary [Fri, 9 Oct 2020 04:55:00 +0000 (10:25 +0530)]
[Fixed] typo in readme.md
`sudo install python3-pyxattr` changed to `sudo apt install python3-pyxattr`
Iustin Pop [Tue, 26 Nov 2019 21:28:48 +0000 (22:28 +0100)]
Fix travis config after tests rename
Iustin Pop [Tue, 26 Nov 2019 21:17:09 +0000 (22:17 +0100)]
Rename test/ → tests/
More consistency between my packages
Iustin Pop [Tue, 26 Nov 2019 21:14:55 +0000 (22:14 +0100)]
Add unreleased changelog
Iustin Pop [Tue, 26 Nov 2019 21:13:24 +0000 (22:13 +0100)]
Rework and expand the mixed access test
This is more of a kernel xattr test, not the library, but good
enough to guarantee mixed access from Python.
Iustin Pop [Tue, 26 Nov 2019 20:49:51 +0000 (21:49 +0100)]
setup.py: add one more classifier topic
Iustin Pop [Tue, 26 Nov 2019 20:48:28 +0000 (21:48 +0100)]
Tests: ensure resources as closed in subject tests
A bit of boilerplate, but gets rid of the leaking FD problem.
Iustin Pop [Tue, 26 Nov 2019 03:37:33 +0000 (04:37 +0100)]
Bump version for 0.7.1 release…
Iustin Pop [Tue, 26 Nov 2019 03:35:22 +0000 (04:35 +0100)]
Oops, fix bug tracker link
Iustin Pop [Tue, 26 Nov 2019 03:29:12 +0000 (04:29 +0100)]
Bump version numbers for new release
No sense in waiting more, this is good conversion to Python 3 +
feature request + a bug fix.
Iustin Pop [Tue, 26 Nov 2019 03:26:23 +0000 (04:26 +0100)]
Switch coverage badge to codecov
Still issues with merging reports in coveralls.
Iustin Pop [Tue, 26 Nov 2019 03:18:35 +0000 (04:18 +0100)]
Check return value from PyList_Append
This fixes the correctness aspect of #17, although not the entire
point.
Iustin Pop [Tue, 26 Nov 2019 03:05:42 +0000 (04:05 +0100)]
Expand setup.py configuration
The current pypi project page is somewhat bare… and shields.io can't
extract metadata from it.
Iustin Pop [Tue, 26 Nov 2019 03:05:26 +0000 (04:05 +0100)]
Run tests on file io streams as well
Iustin Pop [Tue, 26 Nov 2019 02:36:40 +0000 (03:36 +0100)]
Add support for Path-like objects in Python 3.6+
This is done by switching to PyUnicode_FSConverter (3.1+), which
supports it. The convert_obj() function is now much simpler, which is
a bonus.
Expand tests to check behaviour with path objects, and skip those on
Python 3.6.
Closes #20.
Iustin Pop [Tue, 26 Nov 2019 02:34:06 +0000 (03:34 +0100)]
Start updating NEWS for upcoming release
Otherwise I forget what's in :)
Iustin Pop [Tue, 26 Nov 2019 02:24:42 +0000 (03:24 +0100)]
Switch namespace_none test to check all calls
Instead of all input parameter types for one call. This is better
since more calls are checked, and the parameter type checking is not
the goal of this test.
Iustin Pop [Mon, 25 Nov 2019 04:35:17 +0000 (05:35 +0100)]
Travis: cache codecov as well
Since it's anyway installed.
Iustin Pop [Mon, 25 Nov 2019 04:19:32 +0000 (05:19 +0100)]
Run name tests as (encoded) bytes too
Iustin Pop [Mon, 25 Nov 2019 04:12:45 +0000 (05:12 +0100)]
Tests: remove_on_missing applies to symlinks as well
Iustin Pop [Mon, 25 Nov 2019 04:12:25 +0000 (05:12 +0100)]
Tests: small py3 cleanup
Iustin Pop [Mon, 25 Nov 2019 04:04:20 +0000 (05:04 +0100)]
Remove support for Python 2 in the extension module
Simplifies a bit the code, but not much (yet?).
Iustin Pop [Mon, 25 Nov 2019 04:00:52 +0000 (05:00 +0100)]
Disable MacOS builds
Apparently Python is not actually supported, so the Python 2 builds
were working by accident. Sigh sigh sigh…
Iustin Pop [Mon, 25 Nov 2019 03:56:19 +0000 (04:56 +0100)]
Makefile: add a simpler test target
Iustin Pop [Mon, 25 Nov 2019 03:47:18 +0000 (04:47 +0100)]
Split the other monolitic test function
Yay, cleaner now. But lots of many test invocations :)
Iustin Pop [Mon, 25 Nov 2019 03:43:48 +0000 (04:43 +0100)]
Split the monolithic ListSetGetDeprecated test
The failure modes are better tested separately, and leave this main
test as set-get-remove simple test.
Iustin Pop [Mon, 25 Nov 2019 03:38:59 +0000 (04:38 +0100)]
Introduce an any_subject fixture which includes symlinks
Only symlink creation fails for user attributes on symlinks, so tests
which only list/get do work. This allows removing explicit tests for
symlinks.
Iustin Pop [Mon, 25 Nov 2019 03:35:32 +0000 (04:35 +0100)]
Add explicit test for symlink creation failure
Iustin Pop [Mon, 25 Nov 2019 03:34:59 +0000 (04:34 +0100)]
Don't compute coverage for external files
Usually includes are caught here.
Iustin Pop [Mon, 25 Nov 2019 03:24:57 +0000 (04:24 +0100)]
Reduce manyops count
We test more (object types), so let's reduce the call count for
each. Too slow otherwise.
Iustin Pop [Mon, 25 Nov 2019 03:22:15 +0000 (04:22 +0100)]
Convert test suite to pytest
Much more parametrisation, which means:
- more test cases covered (testing more/all object types in most
functions)
- more granular tests, which should help diagnose of failures