Skip to content

Commit

Permalink
Simplify everything
Browse files Browse the repository at this point in the history
  • Loading branch information
dyve committed Nov 30, 2024
1 parent d7fcfd0 commit e56c463
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 92 deletions.
97 changes: 14 additions & 83 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,103 +1,34 @@
name: test
name: Test

on: [ push, pull_request ]
on:
push:
branches:
- main
pull_request:

concurrency:
group: test-${{ github.head_ref }}
cancel-in-progress: true

jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: chartboost/ruff-action@v1

tests_matrix:
jobs:
build:
runs-on: ubuntu-latest
needs: [ ruff ]
strategy:
matrix:
python-version: [3.8, 3.9, "3.10", 3.11, 3.12, 3.13]
django-version: [4.2, 5.0, 5.1, "main"]
exclude:
# Django 5.0
- python-version: 3.8
django-version: 5.0
- python-version: 3.9
django-version: 5.0

# Django 5.1
- python-version: 3.8
django-version: 5.1
- python-version: 3.9
django-version: 5.1

# Django main
- python-version: 3.8
django-version: "main"
- python-version: 3.9
django-version: "main"
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
- name: Update repositories
run: sudo apt-get update

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
cache-dependency-path: requirements-test.txt
- run: python -m pip install -r requirements-test.txt
- run: python -m pip install -U Django==${{ matrix.django-version }}
if: matrix.django-version != 'main'
- run: python -m pip install -U https://github.com/django/django/archive/master.tar.gz
if: matrix.django-version == 'main'
- run: python -m pip install -e .
- run: coverage run manage.py test
- run: python -m pip install -U coveralls
- name: Upload coveralls (parallel)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_PARALLEL: true
run: coveralls --service=github
allow-prereleases: true

docs:
runs-on: ubuntu-latest
needs: [ tests_matrix ]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: 'pip'
cache-dependency-path: docs/requirements.txt
- name: Build documentation
run: |
python -m pip install -r docs/requirements.txt
make docs
build:
runs-on: ubuntu-latest
needs: [ tests_matrix ]
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
- name: Build
run: make build
uses: astral-sh/setup-uv@v4

tests:
if: always()
runs-on: ubuntu-latest
needs: [ tests_matrix, ruff, docs, build ]
steps:
- name: Check tests matrix status
if: needs.tests_matrix.result != 'success'
run: exit 1
- name: Finish parallel build
uses: coverallsapp/github-action@v2
with:
parallel-finished: true
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Test with tox
run: uvx --with tox-uv --with tox-gh-actions tox
20 changes: 14 additions & 6 deletions justfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
# use with https://github.com/casey/just
set export := true
set dotenv-load := true

VENV_DIRNAME := ".venv"

# default recipe
default:
just --list
just --list

[private]
@check_uv:
Expand All @@ -13,12 +16,17 @@ default:

# Set up development environment
@bootstrap: check_uv
if test ! -e .venv; then \
if test ! -e $VENV_DIRNAME; then \
uv python install; \
fi
uv sync
just update

# Install and/or update all dependencies defined in pyproject.toml
@update: check_uv
uv sync --all-extras --upgrade

# Format
@format: bootstrap
ruff format .
ruff check . --fix
ruff format .
ruff check . --fix

5 changes: 2 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,14 @@ deps =
5.0: Django==5.0.*
5.1: Django==5.1.*
main: https://github.com/django/django/archive/main.tar.gz
-r{toxinidir}/requirements-test.txt

[testenv:ruff]
basepython = python3.11
basepython = python3.12
deps = ruff
commands = ruff check .

[testenv:docs]
basepython = python3.11
basepython = python3.12
allowlist_externals = make
setenv =
PYTHONWARNINGS=default
Expand Down

0 comments on commit e56c463

Please sign in to comment.