Skip to content

Writer: Define essence description via OTIO metadata #152

Writer: Define essence description via OTIO metadata

Writer: Define essence description via OTIO metadata #152

Workflow file for this run

name: Run tests
env:
GH_COV_PY: 3.10
GH_COV_OS: ubuntu-latest
GH_COV_OTIO: main
GH_DEPENDABOT: dependabot
on:
push:
branches: [ '*' ]
paths-ignore:
- "*.md"
- "*.in"
- "*.txt"
pull_request:
branches: [ main ]
paths-ignore:
- "*.md"
- "*.in"
- "*.txt"
jobs:
build-wheel:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
pip install flake8
- name: Lint with flake8
run: |
flake8 --show-source --statistics
- name: Install pypa build
run: python -m pip install build
- name: Create wheel and sdist
run: python -m build -s -w --outdir dist .
- name: Upload sdist
uses: actions/upload-artifact@v4
with:
name: sdist
path: dist/*.tar.gz
- name: Upload wheel
uses: actions/upload-artifact@v4
with:
name: wheel
path: dist/*.whl
test-plugin:
needs:
- build-wheel
env:
plugin_name: "otio_aaf_plugin"
strategy:
matrix:
# Use macos-13 so we'll be on intel hardware and can pull a pre-built wheel
# When OTIO has an Apple Silicon build we can switch back to macos-latest for that version
os: [ubuntu-latest, macos-13, windows-latest]
otio-version: ["main", "0.17.0"]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
name: ${{ matrix.os }} py-${{ matrix.python-version }} otio-${{ matrix.otio-version }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Download wheel
uses: actions/download-artifact@v4
with:
name: wheel
path: dist/
- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip
pip install pytest pytest-cov wheel -V pyaaf2
if [[ "${{ matrix.otio-version }}" == "main" ]]; then
pip install "git+https://github.com/AcademySoftwareFoundation/OpenTimelineIO.git"
else
pip install OpenTimelineIO>=${{ matrix.otio-version }} --only-binary :all:
fi
- name: Run Unit Tests
shell: bash
run: |
python -m pip install dist/*.whl --no-index
pytest -v tests
- name: Upload coverage to Codecov
if: |
matrix.python-version == env.GH_COV_PY &&
matrix.otio-version == env.GH_COV_OTIO &&
matrix.os == env.GH_COV_OS &&
github.actor != env.GH_DEPENDABOT
uses: codecov/codecov-action@v3
with:
flags: unittests
name: otio-aaf-adapter-codecov
fail_ci_if_error: true
latest-release:
needs: test-plugin
runs-on: ubuntu-latest
steps:
- name: Download sdist
uses: actions/download-artifact@v4
with:
name: sdist
path: dist
- name: Download wheel
uses: actions/download-artifact@v4
with:
name: wheel
path: dist
- uses: "marvinpinto/action-automatic-releases@latest"
if: ${{ github.ref == 'refs/heads/main' }}
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: true
title: "Development Build"
files: |
dist/*.tar.gz
dist/*.whl