Skip to content

Commit 8784fd6

Browse files
authored
Merge pull request #448 from PyFilesystem/setup-actions
Replace Travis-CI with GitHub Actions
2 parents 89ef78f + 3624d47 commit 8784fd6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+826
-789
lines changed

.github/workflows/test.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Test
2+
3+
on:
4+
- push
5+
- pull_request
6+
7+
jobs:
8+
test:
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
python-version:
13+
- 2.7
14+
- 3.5
15+
- 3.6
16+
- 3.7
17+
- 3.8
18+
- 3.9
19+
- pypy-2.7
20+
- pypy-3.6
21+
- pypy-3.7
22+
steps:
23+
- name: Checkout code
24+
uses: actions/checkout@v1
25+
- name: Setup Python ${{ matrix.python-version }}
26+
uses: actions/setup-python@v2
27+
with:
28+
python-version: ${{ matrix.python-version }}
29+
- name: Update pip
30+
run: python -m pip install -U pip wheel setuptools
31+
- name: Install tox
32+
run: python -m pip install tox tox-gh-actions
33+
- name: Test with tox
34+
run: python -m tox
35+
- name: Collect coverage results
36+
uses: AndreMiras/coveralls-python-action@develop
37+
with:
38+
parallel: true
39+
flag-name: test (${{ matrix.python-version}})
40+
41+
coveralls:
42+
needs: test
43+
runs-on: ubuntu-latest
44+
steps:
45+
- name: Upload coverage statistics to Coveralls
46+
uses: AndreMiras/coveralls-python-action@develop
47+
with:
48+
parallel-finished: true
49+
50+
lint:
51+
runs-on: ubuntu-latest
52+
strategy:
53+
fail-fast: false
54+
matrix:
55+
linter:
56+
- typecheck
57+
- codestyle
58+
- docstyle
59+
- codeformat
60+
steps:
61+
- name: Checkout code
62+
uses: actions/checkout@v1
63+
- name: Setup Python 3.9
64+
uses: actions/setup-python@v2
65+
with:
66+
python-version: 3.9
67+
- name: Update pip
68+
run: python -m pip install -U pip wheel setuptools
69+
- name: Install tox
70+
run: python -m pip install tox tox-gh-actions
71+
- name: Run ${{ matrix.linter }} linter
72+
run: python -m tox -e ${{ matrix.linter }}

.travis.yml

Lines changed: 0 additions & 57 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,22 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
99
## Unreleased
1010

1111
### Changed
12-
- Make `FS.upload` explicit about the expected error when the parent directory of the destination does not exist
13-
[#445](https://github.com/PyFilesystem/pyfilesystem2/pull/445).
12+
13+
- Make `FS.upload` explicit about the expected error when the parent directory of the destination does not exist.
14+
Closes [#445](https://github.com/PyFilesystem/pyfilesystem2/pull/445).
15+
- Migrate continuous integration from Travis-CI to GitHub Actions and introduce several linters
16+
again in the build steps ([#448](https://github.com/PyFilesystem/pyfilesystem2/pull/448)).
17+
Closes [#446](https://github.com/PyFilesystem/pyfilesystem2/pull/446).
18+
- Stop requiring `pytest` to run tests, allowing any test runner supporting `unittest`-style
19+
test suites.
20+
- `FSTestCases` now builds the large data required for `upload` and `download` tests only
21+
once in order to reduce the total testing time.
22+
23+
### Fixed
24+
25+
- Make `FTPFile`, `MemoryFile` and `RawWrapper` accept [`array.array`](https://docs.python.org/3/library/array.html)
26+
arguments for the `write` and `writelines` methods, as expected by their base class [`io.RawIOBase`](https://docs.python.org/3/library/io.html#io.RawIOBase).
27+
- Various documentation issues, including `MemoryFS` docstring not rendering properly.
1428

1529

1630
## [2.4.12] - 2021-01-14
@@ -22,6 +36,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
2236
[#380](https://github.com/PyFilesystem/pyfilesystem2/issues/380).
2337
- Added compatibility if a Windows FTP server returns file information to the
2438
`LIST` command with 24-hour times. Closes [#438](https://github.com/PyFilesystem/pyfilesystem2/issues/438).
39+
- Added Python 3.9 support. Closes [#443](https://github.com/PyFilesystem/pyfilesystem2/issues/443).
2540

2641
### Changed
2742

@@ -30,25 +45,30 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
3045
be able to see if we break something aside from known issues with FTP tests.
3146
- Include docs in source distributions as well as the whole tests folder,
3247
ensuring `conftest.py` is present, fixes [#364](https://github.com/PyFilesystem/pyfilesystem2/issues/364).
33-
- Stop patching copy with Python 3.8+ because it already uses `sendfile`.
48+
- Stop patching copy with Python 3.8+ because it already uses `sendfile`
49+
([#424](https://github.com/PyFilesystem/pyfilesystem2/pull/424)).
50+
Closes [#421](https://github.com/PyFilesystem/pyfilesystem2/issues/421).
3451

3552
### Fixed
3653

3754
- Fixed crash when CPython's -OO flag is used
38-
- Fixed error when parsing timestamps from a FTP directory served from a WindowsNT FTP Server, fixes [#395](https://github.com/PyFilesystem/pyfilesystem2/issues/395).
55+
- Fixed error when parsing timestamps from a FTP directory served from a WindowsNT FTP Server.
56+
Closes [#395](https://github.com/PyFilesystem/pyfilesystem2/issues/395).
3957
- Fixed documentation of `Mode.to_platform_bin`. Closes [#382](https://github.com/PyFilesystem/pyfilesystem2/issues/382).
4058
- Fixed the code example in the "Testing Filesystems" section of the
4159
"Implementing Filesystems" guide. Closes [#407](https://github.com/PyFilesystem/pyfilesystem2/issues/407).
4260
- Fixed `FTPFS.openbin` not implicitly opening files in binary mode like expected
4361
from `openbin`. Closes [#406](https://github.com/PyFilesystem/pyfilesystem2/issues/406).
4462

63+
4564
## [2.4.11] - 2019-09-07
4665

4766
### Added
4867

4968
- Added geturl for TarFS and ZipFS for 'fs' purpose. NoURL for 'download' purpose.
50-
- Added helpful root path in CreateFailed exception [#340](https://github.com/PyFilesystem/pyfilesystem2/issues/340)
51-
- Added Python 3.8 support
69+
- Added helpful root path in CreateFailed exception.
70+
Closes [#340](https://github.com/PyFilesystem/pyfilesystem2/issues/340).
71+
- Added Python 3.8 support.
5272

5373
### Fixed
5474

@@ -76,7 +96,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
7696

7797
### Fixed
7898

79-
- Fixed broken WrapFS.movedir [#322](https://github.com/PyFilesystem/pyfilesystem2/issues/322)
99+
- Fixed broken WrapFS.movedir [#322](https://github.com/PyFilesystem/pyfilesystem2/issues/322).
80100

81101
## [2.4.9] - 2019-07-28
82102

@@ -458,7 +478,7 @@ No changes, pushed wrong branch to PyPi.
458478

459479
### Added
460480

461-
- New `copy_if_newer' functionality in`copy` module.
481+
- New `copy_if_newer` functionality in `copy` module.
462482

463483
### Fixed
464484

@@ -469,17 +489,17 @@ No changes, pushed wrong branch to PyPi.
469489
### Changed
470490

471491
- Improved FTP support for non-compliant servers
472-
- Fix for ZipFS implied directories
492+
- Fix for `ZipFS` implied directories
473493

474494
## [2.0.1] - 2017-03-11
475495

476496
### Added
477497

478-
- TarFS contributed by Martin Larralde
498+
- `TarFS` contributed by Martin Larralde.
479499

480500
### Fixed
481501

482-
- FTPFS bugs.
502+
- `FTPFS` bugs.
483503

484504
## [2.0.0] - 2016-12-07
485505

README.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@
22

33
Python's Filesystem abstraction layer.
44

5-
[![PyPI version](https://badge.fury.io/py/fs.svg)](https://badge.fury.io/py/fs)
5+
[![PyPI version](https://img.shields.io/pypi/v/fs)](https://pypi.org/project/fs/)
66
[![PyPI](https://img.shields.io/pypi/pyversions/fs.svg)](https://pypi.org/project/fs/)
7-
[![Downloads](https://pepy.tech/badge/fs/month)](https://pepy.tech/project/fs/month)
8-
9-
10-
[![Build Status](https://travis-ci.org/PyFilesystem/pyfilesystem2.svg?branch=master)](https://travis-ci.org/PyFilesystem/pyfilesystem2)
11-
[![Windows Build Status](https://ci.appveyor.com/api/projects/status/github/pyfilesystem/pyfilesystem2?branch=master&svg=true)](https://ci.appveyor.com/project/willmcgugan/pyfilesystem2)
12-
[![Coverage Status](https://coveralls.io/repos/github/PyFilesystem/pyfilesystem2/badge.svg)](https://coveralls.io/github/PyFilesystem/pyfilesystem2)
13-
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/30ad6445427349218425d93886ade9ee)](https://www.codacy.com/app/will-mcgugan/pyfilesystem2?utm_source=github.com&utm_medium=referral&utm_content=PyFilesystem/pyfilesystem2&utm_campaign=Badge_Grade)
7+
[![Downloads](https://pepy.tech/badge/fs/month)](https://pepy.tech/project/fs/)
8+
[![Build Status](https://img.shields.io/github/workflow/status/PyFilesystem/pyfilesystem2/Test/master?logo=github&cacheSeconds=600)](https://github.com/PyFilesystem/pyfilesystem2/actions?query=branch%3Amaster)
9+
[![Windows Build Status](https://img.shields.io/appveyor/build/willmcgugan/pyfilesystem2/master?logo=appveyor&cacheSeconds=600)](https://ci.appveyor.com/project/willmcgugan/pyfilesystem2)
10+
[![Coverage Status](https://img.shields.io/coveralls/github/PyFilesystem/pyfilesystem2/master?cacheSeconds=600)](https://coveralls.io/github/PyFilesystem/pyfilesystem2)
11+
[![Codacy Badge](https://img.shields.io/codacy/grade/30ad6445427349218425d93886ade9ee/master?logo=codacy)](https://www.codacy.com/app/will-mcgugan/pyfilesystem2?utm_source=github.com&utm_medium=referral&utm_content=PyFilesystem/pyfilesystem2&utm_campaign=Badge_Grade)
12+
[![Docs](https://img.shields.io/readthedocs/pyfilesystem2?maxAge=3600)](http://pyfilesystem2.readthedocs.io/en/stable/?badge=stable)
1413

1514
## Documentation
1615

docs/requirements.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# the bare requirements for building docs
2+
Sphinx ~=3.0
3+
sphinx-rtd-theme ~=0.5.1

docs/source/conf.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,3 +304,14 @@
304304
#texinfo_no_detailmenu = False
305305

306306
napoleon_include_special_with_doc = True
307+
308+
309+
# -- Options for autodoc -----------------------------------------------------
310+
311+
# Configure autodoc so that it doesn't skip building the documentation for
312+
# __init__ methods, since the arguments to instantiate classes should be in
313+
# the __init__ docstring and not at the class-level.
314+
315+
autodoc_default_options = {
316+
'special-members': '__init__',
317+
}

0 commit comments

Comments
 (0)