Skip to content

feat: enhance cause visibility options and update related translations #1245

feat: enhance cause visibility options and update related translations

feat: enhance cause visibility options and update related translations #1245

Workflow file for this run

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