build(deps): bump starlette from 0.46.1 to 0.47.2 in /docs #4259
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: django CMS test.yml | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
postgres: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [3.9, '3.10', '3.11', '3.12', '3.13'] | |
requirements-file: [ | |
django-4.2.txt, | |
django-5.0.txt, | |
django-5.1.txt, | |
django-5.2.txt, | |
] | |
os: [ | |
ubuntu-latest, | |
] | |
exclude: | |
- requirements-file: django-5.0.txt | |
python-version: 3.9 | |
- requirements-file: django-5.1.txt | |
python-version: 3.9 | |
- requirements-file: django-5.2.txt | |
python-version: 3.9 | |
services: | |
postgres: | |
image: postgres:latest | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: postgres | |
ports: | |
- 5432:5432 | |
# needed because the postgres container does not provide a healthcheck | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
sudo apt install gettext gcc -y | |
python -m pip install --upgrade pip uv | |
uv pip install --system pytest | |
uv pip install --system -r test_requirements/${{ matrix.requirements-file }} | |
uv pip install --system -r test_requirements/databases.txt | |
uv pip install --system -e . | |
- name: Test with django test runner (coverage enabled) | |
run: | | |
coverage run manage.py test | |
env: | |
DATABASE_URL: postgres://postgres:postgres@127.0.0.1/postgres | |
- name: Upload coverage data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-data-${{ github.job }}-${{ matrix.python-version }}-${{ matrix.requirements-file }} | |
include-hidden-files: true | |
path: '.coverage*' | |
mysql: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [3.9, '3.10', '3.11', '3.12', '3.13'] | |
requirements-file: [ | |
django-4.2.txt, | |
django-5.0.txt, | |
django-5.1.txt, | |
django-5.2.txt, | |
] | |
os: [ | |
ubuntu-latest, | |
] | |
exclude: | |
- requirements-file: django-5.0.txt | |
python-version: 3.9 | |
- requirements-file: django-5.1.txt | |
python-version: 3.9 | |
- requirements-file: django-5.2.txt | |
python-version: 3.9 | |
services: | |
mysql: | |
image: mysql:8.4 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: djangocms_test | |
ports: | |
- 3306:3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
sudo apt install gettext gcc -y | |
python -m pip install --upgrade pip uv | |
uv pip install --system pytest | |
uv pip install --system -r test_requirements/${{ matrix.requirements-file }} | |
uv pip install --system -r test_requirements/databases.txt | |
uv pip install --system -e . | |
- name: Test with django test runner (coverage enabled) | |
run: | | |
coverage run manage.py test | |
env: | |
DATABASE_URL: mysql://root@127.0.0.1/djangocms_test | |
- name: Upload coverage data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-data-${{ github.job }}-${{ matrix.python-version }}-${{ matrix.requirements-file }} | |
include-hidden-files: true | |
path: '.coverage*' | |
sqlite: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [3.9, '3.10', '3.11', '3.12', '3.13'] | |
requirements-file: [ | |
django-4.2.txt, | |
django-5.0.txt, | |
django-5.1.txt, | |
django-5.2.txt, | |
] | |
os: [ | |
ubuntu-latest, | |
] | |
exclude: | |
- requirements-file: django-5.0.txt | |
python-version: 3.9 | |
- requirements-file: django-5.1.txt | |
python-version: 3.9 | |
- requirements-file: django-5.2.txt | |
python-version: 3.9 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
sudo apt install gettext gcc -y | |
python -m pip install --upgrade pip uv | |
uv pip install --system pytest | |
uv pip install --system -r test_requirements/${{ matrix.requirements-file }} | |
uv pip install --system -r test_requirements/databases.txt | |
uv pip install --system -e . | |
- name: Test with django test runner (coverage enabled) | |
run: coverage run manage.py test | |
env: | |
DATABASE_URL: sqlite://localhost/testdb.sqlite | |
- name: Upload coverage data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-data-${{ github.job }}-${{ matrix.python-version }}-${{ matrix.requirements-file }} | |
include-hidden-files: true | |
path: '.coverage*' | |
django-main-sqlite: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.12'] | |
requirements-file: ['requirement_base_django_main.txt'] | |
os: [ | |
ubuntu-latest, | |
] | |
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 dependencies | |
run: | | |
sudo apt install gettext gcc -y | |
python -m pip install --upgrade pip uv | |
uv pip install --system pytest | |
uv pip install --system -r test_requirements/${{ matrix.requirements-file }} | |
uv pip install --system -e . | |
- name: Test with django test runner (coverage enabled) | |
run: coverage run manage.py test | |
continue-on-error: true | |
env: | |
DATABASE_URL: sqlite://localhost/testdb.sqlite | |
- name: Upload coverage data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-data-${{ github.job }}-${{ matrix.python-version }}-${{ matrix.requirements-file }} | |
include-hidden-files: true | |
path: '.coverage*' | |
django-main-postgres: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.12'] | |
requirements-file: ['requirement_base_django_main.txt'] | |
os: [ | |
ubuntu-latest, | |
] | |
services: | |
postgres: | |
image: postgres:15 | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: postgres | |
ports: | |
- 5432:5432 | |
# needed because the postgres container does not provide a healthcheck | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
sudo apt install gettext gcc -y | |
python -m pip install --upgrade pip uv | |
uv pip install --system pytest | |
uv pip install --system -r test_requirements/${{ matrix.requirements-file }} | |
uv pip install --system -r test_requirements/databases.txt | |
uv pip install --system -e . | |
- name: Test with django test runner (coverage enabled) | |
run: | | |
python -c "from django import __version__ ; print(f'Django version {__version__}')" | |
coverage run manage.py test | |
continue-on-error: true | |
env: | |
DATABASE_URL: postgres://postgres:postgres@127.0.0.1/postgres | |
- name: Upload coverage data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-data-${{ github.job }}-${{ matrix.python-version }}-${{ matrix.requirements-file }} | |
include-hidden-files: true | |
path: '.coverage*' | |
django-main-mysql: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.12'] | |
requirements-file: ['requirement_base_django_main.txt'] | |
os: [ | |
ubuntu-latest, | |
] | |
services: | |
mysql: | |
image: mysql:8.4 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: djangocms_test | |
ports: | |
- 3306:3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
sudo apt install gettext gcc -y | |
python -m pip install --upgrade pip uv | |
uv pip install --system pytest | |
uv pip install --system -r test_requirements/${{ matrix.requirements-file }} | |
uv pip install --system -r test_requirements/databases.txt | |
uv pip install --system -e . | |
- name: Test with django test runner (coverage enabled) | |
run: | | |
coverage run manage.py test | |
continue-on-error: true | |
env: | |
DATABASE_URL: mysql://root@127.0.0.1/djangocms_test | |
- name: Upload coverage data | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-data-${{ github.job }}-${{ matrix.python-version }}-${{ matrix.requirements-file }} | |
include-hidden-files: true | |
path: '.coverage*' | |
coverage: | |
name: Coverage | |
runs-on: ${{ matrix.os }} | |
needs: [ | |
postgres, mysql, sqlite, | |
django-main-sqlite, | |
django-main-postgres, | |
django-main-mysql, | |
] | |
strategy: | |
matrix: | |
python-version: ['3.12'] | |
os: [ ubuntu-latest, ] | |
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 dependencies | |
run: python -m pip install --upgrade coverage[toml] | |
- name: Download data | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: coverage-data-* | |
merge-multiple: true | |
- name: Combine coverage | |
run: | | |
python -m coverage combine | |
python -m coverage html | |
python -m coverage report | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v5 | |
- name: Upload HTML report (for debugging) | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: html-report | |
path: htmlcov |