]>
git.k1024.org Git - pyxattr.git/log
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
Iustin Pop [Mon, 25 Nov 2019 02:07:51 +0000 (03:07 +0100)]
tests: stop trying to set user attributes on symlinks
According to xattr(7), by design setting/modifying user attributes on
symlinks is not allowed, due to the way access control works, so stop
trying to test it.
Iustin Pop [Mon, 25 Nov 2019 01:03:38 +0000 (02:03 +0100)]
Stop supporting Python 2
Bump minimum Python version to 3.4, which covers e.g. in Debian even
old-old-stable (Jessie), which is good enough.
This will allow code simplification and supporting new
features (e.g. to implement #20).
Iustin Pop [Mon, 25 Nov 2019 00:37:05 +0000 (01:37 +0100)]
tests: move helper function outside the test class
Not sure why these were there in the first place…
Iustin Pop [Mon, 25 Nov 2019 00:26:49 +0000 (01:26 +0100)]
tests: move constants outside the class
In preparation for pytest conversion.
Iustin Pop [Sun, 24 Nov 2019 14:41:02 +0000 (15:41 +0100)]
Travis: remove hack for Python 3.7 test
Current config was testing 3.7 twice :/
Iustin Pop [Sun, 24 Nov 2019 13:54:56 +0000 (14:54 +0100)]
Only export COVERALLS_PARALLEL in coveralls upload
Having it shown as per-job env makes things more confusing.
Iustin Pop [Sun, 24 Nov 2019 13:53:57 +0000 (14:53 +0100)]
Travis: test on py3.7 and 3.8 too
Iustin Pop [Sun, 24 Nov 2019 13:53:12 +0000 (14:53 +0100)]
Also export coverage results to codecov
Will have to decide which to keep, but codecov at least supports
partial line coverage (while missing nicer overall dashboard :/).
Iustin Pop [Sat, 23 Nov 2019 21:34:29 +0000 (22:34 +0100)]
Add a distcheck Makefile target
Too bad setuptools doesn't have it built-in…
Iustin Pop [Sat, 23 Nov 2019 21:33:36 +0000 (22:33 +0100)]
Switch README file to Markdown and expand it
Let's get a bit more up with the times.
Iustin Pop [Sat, 23 Nov 2019 20:53:37 +0000 (21:53 +0100)]
Fix a docstring formatting issue
This resulted in Sphinx altering the layout significantly.
Iustin Pop [Sat, 23 Nov 2019 20:08:17 +0000 (21:08 +0100)]
Switch build system to Python 3
But still allow easy override (make ... PYTHON=python2).
Iustin Pop [Fri, 22 Nov 2019 23:00:48 +0000 (00:00 +0100)]
Update Travis config to export coverage information
Also enable newer Python (3.7, so not so new) under Linux.
Iustin Pop [Sun, 13 Oct 2019 15:57:04 +0000 (17:57 +0200)]
Travis: remove obsolete python versions
Some of them, at least.
Iustin Pop [Sat, 2 Mar 2019 20:14:41 +0000 (21:14 +0100)]
Travis: remove "sudo:false"
Per the deprecation of container-based
builds (https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration),
remove the sudo:false setting.
Iustin Pop [Tue, 24 Jul 2018 21:45:55 +0000 (23:45 +0200)]
Travis: add python 3.5 and 3.6 to build matrix
Tests pass locally, so all seems good.
Iustin Pop [Tue, 24 Jul 2018 21:39:00 +0000 (23:39 +0200)]
Travis: remove python 3.2 from build list
It seems the setuptools libraries that are installed in the travis
environments don't support anymore 3.2, which causes the builds to be
wrongly marked as failed.
Iustin Pop [Tue, 24 Jul 2018 21:38:15 +0000 (23:38 +0200)]
Further test suite fixes to symlink ops
I forgot about the deprecated ones…
Iustin Pop [Tue, 24 Jul 2018 21:34:22 +0000 (23:34 +0200)]
Update NEWS for proper contents of 0.6.1 release