mautrix-python/.github/workflows/python-package.yml

67 lines
1.7 KiB
YAML

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