Multi-camera support #872
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: master | |
pull_request: | |
branches: master | |
release: | |
types: [published] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
# | |
# Builds our package and runs the tests under supported | |
# versions of Python. | |
# | |
unit-tests: | |
runs-on: ubuntu-20.04 | |
strategy: | |
max-parallel: 3 | |
matrix: | |
python-version: ["3.8", "3.9", "3.10"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install tox | |
run: | | |
pip install --upgrade pip | |
pip install --upgrade tox | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- name: Run tests | |
run: | | |
tox -e py | |
mot-metrics: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.9" | |
- name: Install tox | |
run: | | |
pip install --upgrade pip | |
pip install --upgrade tox | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- name: Run tests | |
run: | | |
tox -e mot-py39 | |
build: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.9 | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- name: Build package | |
run: poetry build -f sdist | |
- name: Prepare package | |
run: | | |
tar xvf "dist/norfair-$(poetry version -s).tar.gz" | |
mv norfair-$(poetry version -s) norfair-dist | |
- name: Save artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: norfair-dist | |
path: norfair-dist | |
install: | |
needs: [build] | |
runs-on: ubuntu-20.04 | |
strategy: | |
max-parallel: 3 | |
matrix: | |
python-version: ["3.8", "3.9", "3.10"] | |
steps: | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Download a single artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: norfair-dist | |
path: ./norfair-dist | |
- name: Install | |
run: pip install ./norfair-dist/ | |
- name: Test | |
run: python -c "import norfair" | |
# | |
# Build & upload release to PyPI. | |
# | |
# Executed only if GitHub release is "published". | |
# | |
release: | |
runs-on: ubuntu-20.04 | |
needs: [unit-tests, mot-metrics] | |
if: github.event_name == 'release' | |
env: | |
PYTHON_VERSION: 3.8 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ env.PYTHON_VERSION }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "${{ env.PYTHON_VERSION }}" | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- name: Release to PyPI | |
env: | |
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | |
run: | | |
poetry config -n pypi-token.pypi "$PYPI_TOKEN" | |
poetry publish --build -n | |
deploy-doc: | |
runs-on: ubuntu-20.04 | |
needs: [release] | |
if: github.event_name == 'release' | |
env: | |
PYTHON_VERSION: 3.8 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ env.PYTHON_VERSION }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "${{ env.PYTHON_VERSION }}" | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
- name: Install dependencies | |
run: pip install -r docs/requirements.txt | |
- name: Install dependencies | |
run: python docs/deploy_docs.py |