name: Python package on: [push, pull_request] jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: ["3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install libolm run: sudo apt-get install libolm3 - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install python-olm --extra-index-url https://gitlab.matrix.org/api/v4/projects/27/packages/pypi/simple python -m pip install .[test] - name: Test with pytest run: | export MEOW_TEST_PG_URL=postgres://meow:meow@localhost/meow pytest services: postgres: image: postgres env: POSTGRES_USER: meow POSTGRES_PASSWORD: meow POSTGRES_DB: meow ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - uses: isort/isort-action@master with: sortPaths: "./mautrix" - uses: psf/black@stable with: src: "./mautrix" version: "24.1.1" - name: pre-commit run: | pip install pre-commit pre-commit run -av trailing-whitespace pre-commit run -av end-of-file-fixer pre-commit run -av check-yaml pre-commit run -av check-added-large-files