#94 — Fri 21 November 2025 by Evan Chen
Now that I have 3 Django projects instead of 1, I feel like I'm trying my
hardest to make sure the infrastructure is as similar as possible between them.
The ideal case is .pre-commit-config.yaml and Makefile can just be
copy-pasted between projects while ci.yml is project-agnostic:
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
ci:
name: ✨ Full CI Audit Workflow
runs-on: ubuntu-latest
steps:
- name: 🧾 Checkout code
uses: actions/checkout@v6
- name: 🐍 Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.13"
- name: 📦 Install uv
uses: astral-sh/setup-uv@v7
with:
enable-cache: true
- name: 📥 Install dependencies
run: uv sync
- name: 🧼 Check formatting
run: make fmt
- name: 🔍 Run checks
run: make check
- name: 🧪 Run tests
run: make test