PYTHON-4183: Unavoidable breaking change with BSON #11
Workflow file for this run
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: Python Tests | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: tests-${{ github.ref }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash -eux {0} | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v3 | |
with: | |
python-version: 3.8 | |
cache: 'pip' | |
cache-dependency-path: 'pyproject.toml' | |
- name: Install Python dependencies | |
run: | | |
python -m pip install -U pip tox | |
- name: Run linters | |
run: | | |
tox -m lint-manual | |
tox -m manifest | |
build: | |
# supercharge/mongodb-github-action requires containers so we don't test other platforms | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-20.04] | |
python-version: ["3.7", "3.11", "pypy-3.8"] | |
name: CPython ${{ matrix.python-version }}-${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
cache-dependency-path: 'pyproject.toml' | |
- name: Install dependencies | |
run: | | |
pip install -q tox | |
- name: Start MongoDB | |
uses: supercharge/[email protected] | |
with: | |
mongodb-version: 4.4 | |
- name: Run tests | |
run: | | |
tox -m test | |
doctest: | |
runs-on: ubuntu-latest | |
name: DocTest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: "3.8" | |
cache: 'pip' | |
cache-dependency-path: 'pyproject.toml' | |
- name: Install dependencies | |
run: | | |
pip install -q tox | |
- name: Start MongoDB | |
uses: supercharge/[email protected] | |
with: | |
mongodb-version: 4.4 | |
- name: Run tests | |
run: | | |
tox -m doc-test | |
typing: | |
name: Typing Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.11" | |
cache: 'pip' | |
cache-dependency-path: 'pyproject.toml' | |
- name: Install dependencies | |
run: | | |
pip install -q tox | |
- name: Run typecheck | |
run: | | |
tox -m typecheck | |
docs: | |
name: Docs Checks | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
cache: 'pip' | |
cache-dependency-path: 'pyproject.toml' | |
- name: Install dependencies | |
run: | | |
pip install -q tox | |
- name: Check links | |
run: | | |
tox -m linkcheck | |
- name: Build docs | |
run: | | |
tox -m doc | |
make_sdist: | |
runs-on: ubuntu-latest | |
name: "Make an sdist" | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
cache: 'pip' | |
cache-dependency-path: 'pyproject.toml' | |
- name: Build SDist | |
shell: bash | |
run: | | |
pip install build | |
python -m build --sdist | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: "sdist" | |
path: dist/*.tar.gz | |
test_sdist: | |
runs-on: ubuntu-latest | |
needs: [make_sdist] | |
name: Install from SDist and Test | |
timeout-minutes: 20 | |
steps: | |
- name: Download sdist | |
uses: actions/download-artifact@v3 | |
- name: Unpack SDist | |
shell: bash | |
run: | | |
cd sdist | |
mkdir test | |
tar --strip-components=1 -zxf *.tar.gz -C ./test | |
- uses: actions/setup-python@v2 | |
with: | |
cache: 'pip' | |
cache-dependency-path: 'sdist/test/pyproject.toml' | |
- name: Start MongoDB | |
uses: supercharge/[email protected] | |
- name: Run Test | |
shell: bash | |
run: | | |
cd sdist/test | |
pip install -e ".[test]" | |
pytest -v |