Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Make av/option pure #1137

Make av/option pure

Make av/option pure #1137

Workflow file for this run

name: smoke
on:
workflow_dispatch:
push:
branches: main
paths-ignore:
- '**.md'
- '**.rst'
- '**.txt'
- '.github/workflows/tests.yml'
pull_request:
branches: main
paths-ignore:
- '**.md'
- '**.rst'
- '**.txt'
- '.github/workflows/tests.yml'
jobs:
style:
runs-on: ubuntu-slim
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Python
uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: Linters
run: make lint
nix:
name: "py-${{ matrix.config.python }} lib-${{ matrix.config.ffmpeg }} ${{matrix.config.os}}"
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- {os: ubuntu-24.04, python: "3.12", ffmpeg: "8.0.1", extras: true}
- {os: ubuntu-24.04, python: "3.10", ffmpeg: "8.0.1"}
- {os: ubuntu-24.04, python: "pypy3.11", ffmpeg: "8.0.1"}
- {os: macos-14, python: "3.11", ffmpeg: "8.0.1"}
env:
PYAV_PYTHON: python${{ matrix.config.python }}
PYAV_LIBRARY: ffmpeg-${{ matrix.config.ffmpeg }}
steps:
- uses: actions/checkout@v6
name: Checkout
- name: Python ${{ matrix.config.python }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.config.python }}
allow-prereleases: true
- name: OS Packages
run: |
case ${{ matrix.config.os }} in
ubuntu-24.04)
sudo apt-get update
sudo apt-get install \
autoconf \
automake \
build-essential \
cmake \
libjpeg-dev \
libtool \
libvorbis-dev \
libx264-dev \
nasm \
pkg-config \
zlib1g-dev
if [[ "${{ matrix.config.extras }}" ]]; then
sudo apt-get install doxygen
fi
;;
macos-14)
brew install automake libtool libpng libvorbis libvpx opus x264
;;
esac
- name: Pip and FFmpeg
run: |
. scripts/activate.sh ffmpeg-${{ matrix.config.ffmpeg }}
scripts/build-deps
- name: Build
run: |
. scripts/activate.sh ffmpeg-${{ matrix.config.ffmpeg }}
scripts/build
- name: Test
run: |
. scripts/activate.sh ffmpeg-${{ matrix.config.ffmpeg }}
python -m av --version # Assert it can import.
make test
- name: Docs
if: matrix.config.extras
run: |
. scripts/activate.sh ffmpeg-${{ matrix.config.ffmpeg }}
make -C docs html
- name: Doctest
if: matrix.config.extras
run: |
. scripts/activate.sh ffmpeg-${{ matrix.config.ffmpeg }}
make -C docs test
- name: Examples
if: matrix.config.extras
run: |
. scripts/activate.sh ffmpeg-${{ matrix.config.ffmpeg }}
scripts/test examples
windows:
name: "py-${{ matrix.config.python }} lib-${{ matrix.config.ffmpeg }} ${{matrix.config.os}}"
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- {os: windows-latest, python: "3.11", ffmpeg: "latest"}
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Set up Conda
shell: bash
run: |
. $CONDA/etc/profile.d/conda.sh
conda config --set always_yes true
conda config --add channels conda-forge
conda config --add channels scientific-python-nightly-wheels
conda create -q -n pyav \
numpy \
pillow \
pytest \
python=${{ matrix.config.python }} \
setuptools \
cython
- name: Build
shell: bash
run: |
. $CONDA/etc/profile.d/conda.sh
conda activate pyav
python scripts\\fetch-vendor.py --config-file scripts\\ffmpeg-${{ matrix.config.ffmpeg }}.json $CONDA_PREFIX\\Library
python setup.py build_ext --inplace --ffmpeg-dir=$CONDA_PREFIX\\Library
- name: Test
shell: bash
run: |
. $CONDA/etc/profile.d/conda.sh
conda activate pyav
python -m pytest

AltStyle によって変換されたページ (->オリジナル) /