Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mathiasertl/django-ca
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.27.0
Choose a base ref
...
head repository: mathiasertl/django-ca
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing 699 changed files with 50,357 additions and 30,620 deletions.
4 changes: 2 additions & 2 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
**/*.backup
**/*.log
**/*.py[co]
**/.ruff_cache
**/*.sqlite3
**/*.sw[a-z]
**/__pycache__
@@ -18,7 +19,6 @@
/.mypy_cache/
/.pytest_cache/
/.python-version
/.ruff_cache/
/.tox/
/bin/
/ca/*.crl
@@ -29,7 +29,7 @@
/ca/ca/settings.yaml
/ca/files/
/docs/build/
/docs/source/_files/docker-compose.yml
/docs/source/_files/compose.yaml
/include/
/lib/
/share/
8 changes: 4 additions & 4 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -21,7 +21,7 @@ on:
- cron: '44 21 * * 0'

jobs:
analyze:
run:
name: Analyze
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
@@ -43,11 +43,11 @@ jobs:

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4.1.1

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
config-file: ./.github/codeql/config.yml
languages: ${{ matrix.language }}
@@ -59,6 +59,6 @@ jobs:
# queries: security-extended,security-and-quality

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
30 changes: 15 additions & 15 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -2,38 +2,38 @@ name: Documentation
on:
push:
pull_request:
pull_request_target:

jobs:
env:
UV_SYSTEM_PYTHON: 1

jobs:
run:
runs-on: ubuntu-latest

env:
DJANGO_CA_SECRET_KEY: dummy

steps:

- name: Acquire sources
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4.1.1

- name: Setup Python
uses: actions/setup-python@v4.3.0
uses: actions/setup-python@v5.0.0
with:
python-version: "3.10"
# Python 3.13 currently fails
python-version: "3.12"
architecture: x64

- name: Apply caching of dependencies
uses: actions/cache@v3.0.11
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('**/requirements-*.txt') }}
enable-cache: true
cache-dependency-glob: "requirements.txt"

- name: Update setuptools/wheel
run: uv pip install -U setuptools wheel

- name: Install dependencies
run: |
pip install -U pip setuptools wheel
pip install -r requirements.txt
pip install -r requirements/requirements-docs.txt
run: uv pip install -r requirements.txt -r requirements/requirements-docs.txt

- name: doc8 style checks
run: doc8 docs/source/
40 changes: 40 additions & 0 deletions .github/workflows/faketime.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Tests with faked time
on:
push:
pull_request:

env:
UV_SYSTEM_PYTHON: 1

jobs:
run:
runs-on: ubuntu-latest

name: libfaketime test
steps:
- name: Install APT dependencies
run: sudo apt-get install -y firefox softhsm2 faketime

- name: Acquire sources
uses: actions/checkout@v4.1.1

- name: Setup Python
uses: actions/setup-python@v5.0.0
with:
python-version: "3.13"
architecture: x64

- name: Install uv
uses: astral-sh/setup-uv@v4
with:
enable-cache: true
cache-dependency-glob: "requirements.txt"

- name: Update setuptools/wheel
run: uv pip install -U setuptools wheel

- name: Install dependencies
run: uv pip install -r requirements.txt -r requirements/requirements-test.txt

- name: Run tests
run: faketime -f +100y pytest -v --no-selenium --cov-report term-missing --durations=20
25 changes: 14 additions & 11 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
@@ -2,7 +2,9 @@ name: type checking
on:
push:
pull_request:
pull_request_target:

env:
UV_SYSTEM_PYTHON: 1

jobs:
run:
@@ -14,24 +16,25 @@ jobs:
steps:

- name: Acquire sources
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4.1.1

- name: Setup Python
uses: actions/setup-python@v4.3.0
uses: actions/setup-python@v5.0.0
with:
python-version: 3.11
python-version: "3.13"
architecture: x64

- name: Apply caching of dependencies
uses: actions/cache@v3.0.11
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('**/requirements-*.txt') }}
enable-cache: true
cache-dependency-glob: "requirements.txt"

- name: Update setuptools/wheel
run: uv pip install -U setuptools wheel

- name: Install dependencies
run: |
pip install -U pip setuptools wheel
pip install -r requirements.txt -r requirements/requirements-mypy.txt
run: uv pip install -r requirements.txt -r requirements/requirements-mypy.txt

- name: run mypy
run: mypy .
42 changes: 20 additions & 22 deletions .github/workflows/quality.yml
Original file line number Diff line number Diff line change
@@ -2,47 +2,45 @@ name: Code quality
on:
push:
pull_request:
pull_request_target:

jobs:
env:
UV_SYSTEM_PYTHON: 1

jobs:
run:
runs-on: ubuntu-latest

env:
DJANGO_CA_SECRET_KEY: dummy

steps:

- name: Acquire sources
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4.1.1

- name: Setup Python
uses: actions/setup-python@v4.3.0
uses: actions/setup-python@v5.0.0
with:
python-version: "3.11"
python-version: "3.13"
architecture: x64

- name: Apply caching of dependencies
uses: actions/cache@v3.0.11
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('**/requirements-*.txt') }}
enable-cache: true
cache-dependency-glob: "requirements.txt"

- name: Update setuptools/wheel
run: uv pip install -U setuptools wheel

- name: Install dependencies
run: |
pip install -U pip setuptools wheel
pip install -r requirements.txt
pip install -r requirements/requirements-test.txt
pip install -r requirements/requirements-lint.txt
uv pip install -r requirements.txt
uv pip install -r requirements/requirements-test.txt
uv pip install -r requirements/requirements-lint.txt
# Mitigate "Unable to import 'typing_extensions' (import-error)"
pip install typing-extensions
- name: Install program
run: pip install -e .
uv pip install typing-extensions
- name: Run black, isort and flake8
- name: Run ruff
run: python dev.py code-quality

# Will show outdated dependencies, etc
@@ -54,8 +52,8 @@ jobs:

- name: Validate sdist/wheel
run: |
pip install -r requirements/requirements-dist.txt
python setup.py sdist bdist_wheel
uv pip install -r requirements/requirements-dist.txt
python -m build
twine check --strict dist/*
- name: Run pylint
48 changes: 26 additions & 22 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -2,48 +2,52 @@ name: Tests
on:
push:
pull_request:
pull_request_target:

jobs:
env:
UV_SYSTEM_PYTHON: 1

tests:
jobs:
run:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ ubuntu-latest ]
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
django-version: [ "3.2", "4.2" ]
cryptography-version: [ "41.0" ]

name: Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }}, cryptography ${{ matrix.cryptography-version }}
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
django-version: [ "4.2.0", "5.1.0" ]
cryptography-version: [ "44.0" ]
pydantic-version: [ "2.10.0" ]
exclude:
- python-version: 3.9
django-version: 5.1.0

name: Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }}, cryptography ${{ matrix.cryptography-version }}, pydantic ${{ matrix.pydantic-version }}
steps:
- name: Install APT dependencies
run: sudo apt-get install -y firefox softhsm2

- name: Acquire sources
uses: actions/checkout@v3.1.0
uses: actions/checkout@v4.1.1

- name: Setup Python
uses: actions/setup-python@v4.3.0
uses: actions/setup-python@v5.0.0
with:
python-version: ${{ matrix.python-version }}
architecture: x64

- name: Apply caching of dependencies
uses: actions/cache@v3.0.11
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
path: ~/.cache/pip
key: os=${{ matrix.os }}-python=${{ matrix.python-version }}-pip-${{ hashFiles('**/requirements-*.txt') }}
enable-cache: true
cache-dependency-glob: "requirements.txt"

- name: Install dependencies
run: |
pip install -U pip setuptools wheel
pip install -r requirements.txt -r requirements/requirements-test.txt -r requirements/requirements-docs.txt django~=${{ matrix.django-version }} cryptography~=${{ matrix.cryptography-version }}
- name: Update setuptools/wheel
run: uv pip install -U setuptools wheel

- name: Install program
run: pip install -e .
- name: Install dependencies
run: uv pip install -r requirements.txt -r requirements/requirements-test.txt django~=${{ matrix.django-version }} cryptography~=${{ matrix.cryptography-version }} pydantic~=${{ matrix.pydantic-version }}

- name: Initialize demo
run: python dev.py init-demo

- name: Run tests
run: pytest -v --cov-report term-missing --durations=20
run: pytest -v --cov-report term-missing --durations=20
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -27,7 +27,7 @@
/dist
/dj18/
/docs/build/
/docs/source/_files/docker-compose.yml
/docs/source/_files/compose.yaml
/docs/source/_files/openapi.json
/fab.conf
/include/
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.10"
python: "3.12"
jobs:
pre_build:
- make -C docs extra-files
Loading