PYTHON-4299 Add support for TopologyDescriptionChangedEvent to expectEvents #4070
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@v4 | |
- uses: actions/setup-python@v5 | |
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@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
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@v4 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
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 | |
strategy: | |
matrix: | |
python: ["3.7", "3.11"] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "${{matrix.python}}" | |
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@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
cache: 'pip' | |
cache-dependency-path: 'pyproject.toml' | |
# Build docs on lowest supported Python for furo | |
python-version: '3.8' | |
- 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@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
cache: 'pip' | |
cache-dependency-path: 'pyproject.toml' | |
# Build sdist on lowest supported Python | |
python-version: '3.7' | |
- name: Build SDist | |
shell: bash | |
run: | | |
pip install build | |
python -m build --sdist | |
- uses: actions/upload-artifact@v4 | |
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@v4 | |
- name: Unpack SDist | |
shell: bash | |
run: | | |
cd sdist | |
ls | |
mkdir test | |
tar --strip-components=1 -zxf *.tar.gz -C ./test | |
ls test | |
- uses: actions/setup-python@v5 | |
with: | |
cache: 'pip' | |
cache-dependency-path: 'sdist/test/pyproject.toml' | |
# Test sdist on lowest supported Python | |
python-version: '3.7' | |
- name: Start MongoDB | |
uses: supercharge/[email protected] | |
- name: Run Test | |
shell: bash | |
run: | | |
cd sdist/test | |
ls | |
which python | |
pip install -e ".[test]" | |
pytest -v |