Files
Radicale/.github/workflows/test.yml
Peter Bieringer 796118c095 extend prep
2026-02-17 07:57:15 +01:00

173 lines
5.2 KiB
YAML

name: Test
on: [push, pull_request]
jobs:
test-ubuntu-python-newest:
name: Test Ubuntu:latest Python:newest
needs: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.14'
- name: Install Test dependencies
run: pip install tox
- name: Test with newest Python on latest Ubuntu
run: tox -c pyproject.toml -e py
test-python-32bit:
name: Test Ubuntu:latest Python:32-bit
needs: [lint, test-ubuntu-python-newest]
runs-on: ubuntu-latest
container:
image: i386/python:3.11
steps:
- name: Update system
run: |
apt-get update
- name: Fix checkout and upload-artifact
run: |
apt-get install -y nodejs npm
mkdir -p /__e/node20/bin
ln -sf $(which node) /__e/node20/bin/node
ln -sf $(which npm) /__e/node20/bin/npm
ln -sf $(which npx) /__e/node20/bin/npx
- name: Install git
run: |
apt-get install -y git
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Test 32-bit
run: |
tox -c /__w/Radicale/Radicale/pyproject.toml -e py
test-ubuntu-python-oldest:
name: Test Ubuntu:latest Python:oldest
needs: [lint, test-ubuntu-python-newest, test-python-32bit]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install Test dependencies
run: pip install tox
- name: Test with oldest Python on Ubuntu
run: tox -c pyproject.toml -e py
test-otheros-python-newest:
name: Test MacOS/Windows:latest Python:newest
needs: [lint, test-ubuntu-python-newest, test-python-32bit]
strategy:
matrix:
os: [macos-latest, windows-latest]
python-version: ['3.14']
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Test dependencies
run: pip install tox
- name: Test with latest Python on other OS
run: tox -c pyproject.toml -e py
test-otheros-python-oldest:
name: Test MacOS/Windows:latest Python:oldest
needs: [lint, test-ubuntu-python-oldest, test-otheros-python-newest]
strategy:
matrix:
os: [macos-latest, windows-latest]
python-version: ['3.9']
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Test dependencies
run: pip install tox
- name: Test with oldest Python on other OS
run: tox -c pyproject.toml -e py
test-python-versions:
name: Test Ubuntu/MacOS/Windows:latest Python:Matrix
needs: [lint, test-otheros-python-oldest, test-otheros-python-newest, test-ubuntu-python-oldest, test-ubuntu-python-newest]
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ['3.10', '3.11', '3.12', '3.13', 'pypy-3.9', 'pypy-3.10', 'pypy-3.11']
exclude:
- os: windows-latest
python-version: 'pypy-3.9'
- os: windows-latest
python-version: 'pypy-3.10'
- os: windows-latest
python-version: 'pypy-3.11'
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Test dependencies
run: pip install tox
- name: Test with older Python
run: tox -c pyproject.toml -e py
coveralls-test:
name: Coveralls:Test
needs: [test-ubuntu-python-newest, test-python-32bit]
if: github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.14'
- name: Install Test dependencies
run: pip install tox
- name: Test
run: tox -c pyproject.toml -e py
- name: Install Coveralls
if: github.event_name == 'push'
run: pip install coveralls
- name: Upload coverage to Coveralls
if: github.event_name == 'push'
env:
COVERALLS_PARALLEL: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: coveralls --service=github
coveralls-finish:
name: Coveralls:Finish
needs: coveralls-test
if: github.event_name == 'push'
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Install Coveralls
run: pip install coveralls
- name: Finish Coveralls parallel builds
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: coveralls --service=github --finish
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.14'
- name: Install tox
run: pip install tox
- name: Lint
run: tox -c pyproject.toml -e flake8,mypy,isort