Refresh support matrix for Python 3.12 #332
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: | |
pull_request: | |
jobs: | |
CI: | |
continue-on-error: true | |
runs-on: ${{ matrix.os }} | |
# Supported Versions: | |
# https://github.com/actions/python-versions/blob/main/versions-manifest.json | |
strategy: | |
matrix: | |
os: [macos-13, windows-2022, ubuntu-22.04] | |
python-version: [3.8, 3.9, "3.10", 3.11, 3.12] | |
include: | |
- os: ubuntu-22.04 | |
python-version: pypy-3.9 | |
- os: ubuntu-22.04 | |
python-version: pypy-3.10 | |
- os: macos-14 # apple silicon | |
python-version: "3.10" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Python environment | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Requirements | |
run: | | |
python -m pip install --upgrade pip | |
pip install flake8 pytest | |
pip install -r requirements.txt | |
pip install -r test/requirements.txt | |
python setup.py install | |
- name: Run Linter | |
run: | | |
flake8 setup.py dropbox example test | |
- name: Run Unit Tests | |
run: | | |
pytest test/unit/test_dropbox_unit.py | |
Docs: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Python environment | |
uses: actions/[email protected] | |
with: | |
python-version: '3.8' | |
- name: Install Requirements | |
run: | | |
python -m pip install --upgrade pip | |
pip install twine sphinx | |
pip install -r requirements.txt | |
pip install -r test/requirements.txt | |
python setup.py install | |
- name: Test Doc Generation | |
run: | | |
sphinx-build -b html docs build/html | |
- name: Test Dist Generation | |
run: | | |
python setup.py sdist bdist_wheel | |
twine check dist/* | |
Integration: | |
continue-on-error: true | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [macos-13, windows-2022, ubuntu-22.04] | |
python-version: [3.8, 3.9, "3.10", 3.11, 3.12] | |
include: | |
- os: ubuntu-22.04 | |
python-version: pypy-3.9 | |
- os: ubuntu-22.04 | |
python-version: pypy-3.10 | |
- os: macos-14 # apple silicon | |
python-version: "3.10" | |
steps: | |
- uses: actions/[email protected] | |
- name: Setup Python environment | |
uses: actions/[email protected] | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Requirements | |
run: | | |
python -m pip install --upgrade pip | |
pip install flake8 pytest | |
pip install -r requirements.txt | |
pip install -r test/requirements.txt | |
python setup.py install | |
- name: Run Integration Tests | |
env: | |
LEGACY_USER_DROPBOX_TOKEN: ${{ secrets.LEGACY_USER_DROPBOX_TOKEN }} | |
LEGACY_USER_CLIENT_ID: ${{ secrets.LEGACY_USER_CLIENT_ID }} | |
LEGACY_USER_CLIENT_SECRET: ${{ secrets.LEGACY_USER_CLIENT_SECRET }} | |
LEGACY_USER_REFRESH_TOKEN: ${{ secrets.LEGACY_USER_REFRESH_TOKEN }} | |
SCOPED_USER_DROPBOX_TOKEN: ${{ secrets.SCOPED_USER_DROPBOX_TOKEN }} | |
SCOPED_USER_CLIENT_ID: ${{ secrets.SCOPED_USER_CLIENT_ID }} | |
SCOPED_USER_CLIENT_SECRET: ${{ secrets.SCOPED_USER_CLIENT_SECRET }} | |
SCOPED_USER_REFRESH_TOKEN: ${{ secrets.SCOPED_USER_REFRESH_TOKEN }} | |
SCOPED_TEAM_DROPBOX_TOKEN: ${{ secrets.SCOPED_TEAM_DROPBOX_TOKEN }} | |
SCOPED_TEAM_CLIENT_ID: ${{ secrets.SCOPED_TEAM_CLIENT_ID }} | |
SCOPED_TEAM_CLIENT_SECRET: ${{ secrets.SCOPED_TEAM_CLIENT_SECRET }} | |
SCOPED_TEAM_REFRESH_TOKEN: ${{ secrets.SCOPED_TEAM_REFRESH_TOKEN }} | |
DROPBOX_SHARED_LINK: ${{ secrets.DROPBOX_SHARED_LINK }} | |
run: | | |
pytest test/integration/test_dropbox.py |