xandikos 0.2.10

Lightweight CalDAV/CardDAV server
Documentation
name: Python package

on:
  - push
  - pull_request

jobs:
  pythontests:

    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
        python-version: ["3.9", "3.10"]
      fail-fast: false

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U pip coverage codecov flake8 pycalendar vobject requests six tzlocal pytz attrs multidict pytest
    - name: Install dependencies (linux)
      run: |
        sudo apt -y update
        sudo apt -y install libsystemd-dev
        python -m pip install -e ".[systemd,prometheus]"
        python setup.py develop
      if: "matrix.os == 'ubuntu-latest'"
    - name: Install dependencies (non-linux)
      run: |
        python -m pip install -e ".[prometheus]"
        python setup.py develop
      if: "matrix.os != 'ubuntu-latest'"
    - name: Style checks
      run: |
        python -m flake8
    - name: Typing checks
      run: |
        pip install -U mypy types-python-dateutil types-pytz
        python -m mypy xandikos
    - name: Test suite run
      run: |
        python -m unittest xandikos.tests.test_suite
      env:
        PYTHONHASHSEED: random