name: Django CI on: push: pull_request: branches: [ "main" ] jobs: build: runs-on: ubuntu-latest services: db: image: postgres:12.13-alpine env: POSTGRES_USER: postgres POSTGRES_PASSWORD: admin123 POSTGRES_DB: test ports: - 5432:5432 options: --mount type=tmpfs,destination=/var/lib/postgresql/data --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 strategy: max-parallel: 4 matrix: python-version: ['3.8', '3.11'] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - name: Install Dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install django-ninja pip install django-polymorphic - run: | sudo apt-get update sudo apt-get install --yes --no-install-recommends postgresql-client - name: Run Tests run: | PGPASSWORD=admin123 psql template1 -U postgres -h localhost -c 'create extension hstore;' new_data_model=1 python manage.py makemigrations auth mastodon users books movies games music sync management collection common sync management timeline catalog journal social new_data_model=1 python manage.py test