because adulthood is lonely

WallAboutListLeave

#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