name: Test on: push: paths-ignore: - 'docs/**' branches: - main pull_request: paths-ignore: - 'docs/**' jobs: test: name: test py${{ matrix.python-version }} with ${{ matrix.db_name }} runs-on: ubuntu-latest timeout-minutes: 8 strategy: matrix: python-version: ["3.11", "3.12"] db: - "postgres://postgres:postgres@localhost/postgres" include: - db: "postgres://postgres:postgres@localhost/postgres" db_name: postgres search: true services: postgres: image: postgres:15 env: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: postgres ports: ["5432:5432"] options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} cache: pip - name: Install dependencies run: | sudo apt-get install -y libmemcached-dev libwebp-dev libjpeg-dev python -m pip install -r requirements-dev.txt - name: Run pytest env: TAKAHE_DATABASE_SERVER: ${{ matrix.db }} TAKAHE_SEARCH: ${{ matrix.search }} TAKAHE_ENVIRONMENT: "test" TAKAHE_SECRET_KEY: "testing_secret" TAKAHE_MAIN_DOMAIN: "example.com" run: | python -m pytest - name: Run pre-commit run: | pre-commit run -a --show-diff-on-failure