docs: add CLAUDE.md with i18n isolation rule, release workflow, repo … #12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: tests | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| pre-commit: | |
| name: pre-commit | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1 | |
| test: | |
| name: py${{ matrix.python-version }} / django ${{ matrix.django }} | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ matrix.experimental == true }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13"] | |
| django: ["4.2", "5.0", "5.1", "5.2"] | |
| exclude: | |
| - python-version: "3.13" | |
| django: "4.2" | |
| - python-version: "3.13" | |
| django: "5.0" | |
| include: | |
| # Django 6.0 is in pre-release as of 2026-05; supports Python 3.12+. | |
| # Tracked on --prerelease=allow so alpha/beta breakage is visible | |
| # but doesn't block PRs (continue-on-error above). | |
| - python-version: "3.12" | |
| django: "6.0" | |
| experimental: true | |
| - python-version: "3.13" | |
| django: "6.0" | |
| experimental: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 # v5.4.2 | |
| - name: Install package and test deps | |
| run: | | |
| uv pip install --system -e ".[test]" | |
| if [ "${{ matrix.django }}" = "6.0" ]; then | |
| uv pip install --system --prerelease=allow "Django>=6.0a1,<7" | |
| else | |
| uv pip install --system "Django~=${{ matrix.django }}.0" | |
| fi | |
| - name: Show resolved versions | |
| run: uv pip list --system | |
| - name: Run pytest | |
| run: pytest -v |