Skip to content

build(deps): bump starlette from 0.46.1 to 0.47.2 in /docs #4259

build(deps): bump starlette from 0.46.1 to 0.47.2 in /docs

build(deps): bump starlette from 0.46.1 to 0.47.2 in /docs #4259

Workflow file for this run

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