feat: enhance cause visibility options and update related translations #1245
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: Backend Check | |
| on: | |
| push: | |
| branches: | |
| - "*" | |
| - "main" | |
| paths: | |
| - "backend/**.py" | |
| - "backend/uv.lock" | |
| - "backend/pyproject.toml" | |
| - "Dockerfile*" | |
| - "docker-compose*.yml" | |
| - ".github/workflows/backend_check.yml" | |
| pull_request: | |
| branches: | |
| - "main" | |
| paths: | |
| - "backend/**.py" | |
| - "backend/uv.lock" | |
| - "backend/pyproject.toml" | |
| - "Dockerfile*" | |
| - "docker-compose*.yml" | |
| - ".github/workflows/backend_check.yml" | |
| jobs: | |
| static_analysis: | |
| name: Run Black formatting check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out Git repository | |
| uses: actions/checkout@v6 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| working-directory: ./backend | |
| python-version: "3.13" | |
| cache-dependency-glob: | | |
| **/pyproject.toml | |
| **/uv.lock | |
| - name: Install Ruff with uv | |
| working-directory: ./backend | |
| run: | | |
| uv sync --only-group ruff | |
| - name: Check formatting with Ruff | |
| working-directory: ./backend | |
| continue-on-error: true | |
| run: | | |
| uv run ruff format --check . | |
| - name: Check linting using Ruff | |
| working-directory: ./backend | |
| run: | | |
| uv run ruff check --select I . | |
| checking_migrations: | |
| name: Check for migrations | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out Git repository | |
| uses: actions/checkout@v6 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| working-directory: ./backend | |
| python-version: "3.13" | |
| cache-dependency-glob: | | |
| **/pyproject.toml | |
| **/uv.lock | |
| - name: Install dependencies | |
| working-directory: ./backend | |
| run: | | |
| uv sync | |
| - name: Check for migrations | |
| working-directory: ./backend | |
| env: | |
| SECRET_KEY: "dummy_secret_key" | |
| ENCRYPT_KEY: "this-key-should-be-exactly-32-ch" | |
| run: | | |
| set -a | |
| uv run ./manage.py makemigrations --check --dry-run | |
| set +a | |
| tests: | |
| name: Run backend tests on Python ${{ matrix.python }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python: [ "3.13", "3.14" ] | |
| services: | |
| postgres: | |
| image: postgres:16.10 | |
| env: | |
| POSTGRES_DB: redirect | |
| POSTGRES_USER: user | |
| POSTGRES_PASSWORD: password | |
| ports: | |
| - 5432:5432 | |
| steps: | |
| - name: Check out Git repository | |
| uses: actions/checkout@v6 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| with: | |
| working-directory: ./backend | |
| python-version: "${{ matrix.python }}" | |
| cache-dependency-glob: | | |
| **/pyproject.toml | |
| **/uv.lock | |
| - name: Create test environment file | |
| run: | | |
| cp .env.example .env.test | |
| - name: Install dependencies | |
| working-directory: ./backend | |
| env: | |
| ENV_FILE_NAME: .env.test | |
| run: | | |
| uv sync | |
| sudo apt-get update | |
| sudo apt-get install gettext | |
| uv run ./manage.py compilemessages | |
| - name: Run tests | |
| working-directory: ./backend | |
| env: | |
| ENV_FILE_NAME: .env.test | |
| DATABASE_NAME: redirect | |
| DATABASE_USER: user | |
| DATABASE_PASSWORD: password | |
| DATABASE_HOST: 127.0.0.1 | |
| DATABASE_PORT: 5432 | |
| run: | | |
| uv run ./manage.py wait_for_db | |
| uv run pytest -Wd --cov --cov-report=xml --cov-report=term-missing --cov-fail-under=60 -n auto | |
| codeql_analysis: | |
| name: Analyze code using CodeQL | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| language: [ "python", "javascript" ] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Initialize CodeQL | |
| uses: github/codeql-action/init@v4 | |
| with: | |
| languages: "${{ matrix.language }}" | |
| - name: Perform CodeQL Analysis | |
| uses: github/codeql-action/analyze@v4 |