mirror of
https://github.com/kkroening/ffmpeg-python.git
synced 2025-05-18 20:09:18 +08:00
Use GitHub Actions for CI. (#641)
This sets up GitHub Actions (GHA) to run in place of the currently broken Travis CI. Initially, this only covers running tox/pytest and Black, but may eventually be extended to run pylint, mypy, flake8, etc. - see #605, for example. Notes: * Python 3.10 is not yet supported due to the `collections.Iterable` issue discussed in #330, #624, etc. * The Black CI step acts as a linting step, rather than attempting to have the GHA job automatically update/commit/push the reformarted code. * Black is currently pinned to an older version that supports `--target-version py27` until Python 2 compatibility can be dropped in the final Python 2 compatibility release of ffmpeg-python. * Only the main source directory (`ffmpeg/`) is checked with Black at the moment. The `examples/` directory should also be checked, but will be done as a separate PR. Co-authored by: Christian Clauss <cclauss@me.com>
This commit is contained in:
parent
fd1da13f11
commit
29b6f09298
44
.github/workflows/ci.yml
vendored
Normal file
44
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
name: CI
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version:
|
||||
- "2.7"
|
||||
- "3.5"
|
||||
- "3.6"
|
||||
- "3.7"
|
||||
- "3.8"
|
||||
- "3.9"
|
||||
# - "3.10" # FIXME: broken due to `collections.Iterable` issue; see #330 / #624 / etc.
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install ffmpeg
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install ffmpeg
|
||||
- name: Setup pip + tox
|
||||
run: |
|
||||
python -m pip install --upgrade \
|
||||
"pip==20.3.4; python_version < '3.6'" \
|
||||
"pip==21.3.1; python_version >= '3.6'"
|
||||
python -m pip install tox==3.24.5 tox-gh-actions==2.9.1
|
||||
- name: Test with tox
|
||||
run: tox
|
||||
black:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: psf/black@21.12b0 # TODO: upgrade after dropping Python 2 support.
|
||||
with:
|
||||
src: ffmpeg # TODO: also format `examples`.
|
||||
version: 21.12b0
|
32
.travis.yml
32
.travis.yml
@ -1,32 +0,0 @@
|
||||
language: python
|
||||
before_install:
|
||||
- >
|
||||
[ -f ffmpeg-release/ffmpeg ] || (
|
||||
curl -O https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz &&
|
||||
mkdir -p ffmpeg-release &&
|
||||
tar Jxf ffmpeg-release-amd64-static.tar.xz --strip-components=1 -C ffmpeg-release
|
||||
)
|
||||
matrix:
|
||||
include:
|
||||
- python: 2.7
|
||||
env: TOX_ENV=py27
|
||||
- python: 3.4
|
||||
env: TOX_ENV=py34
|
||||
- python: 3.5
|
||||
env: TOX_ENV=py35
|
||||
- python: 3.6
|
||||
env: TOX_ENV=py36
|
||||
- python: 3.7
|
||||
dist: xenial # required for Python >= 3.7
|
||||
env: TOX_ENV=py37
|
||||
- python: pypy
|
||||
env: TOX_ENV=pypy
|
||||
install:
|
||||
- pip install tox
|
||||
script:
|
||||
- export PATH=$(readlink -f ffmpeg-release):$PATH
|
||||
- tox -e $TOX_ENV
|
||||
cache:
|
||||
directories:
|
||||
- .tox
|
||||
- ffmpeg-release
|
@ -1,6 +1,9 @@
|
||||
# ffmpeg-python: Python bindings for FFmpeg
|
||||
|
||||
[](https://travis-ci.org/kkroening/ffmpeg-python)
|
||||
[![CI][ci-badge]][ci]
|
||||
|
||||
[ci-badge]: https://github.com/kkroening/ffmpeg-python/actions/workflows/ci.yml/badge.svg
|
||||
[ci]: https://github.com/kkroening/ffmpeg-python/actions/workflows/ci.yml
|
||||
|
||||
<img src="https://raw.githubusercontent.com/kkroening/ffmpeg-python/master/doc/formula.png" alt="ffmpeg-python logo" width="60%" />
|
||||
|
||||
|
@ -40,7 +40,6 @@ if sys.version_info.major >= 3:
|
||||
class basestring(with_metaclass(BaseBaseString)):
|
||||
pass
|
||||
|
||||
|
||||
else:
|
||||
# noinspection PyUnresolvedReferences,PyCompatibility
|
||||
from builtins import basestring
|
||||
|
2
setup.py
2
setup.py
@ -60,8 +60,6 @@ keywords = misc_keywords + file_formats
|
||||
setup(
|
||||
name='ffmpeg-python',
|
||||
packages=['ffmpeg'],
|
||||
setup_requires=['pytest-runner'],
|
||||
tests_require=['pytest', 'pytest-mock'],
|
||||
version=version,
|
||||
description='Python bindings for FFmpeg - with complex filtering support',
|
||||
author='Karl Kroening',
|
||||
|
Loading…
x
Reference in New Issue
Block a user