Skip to content

chore: sync main → develop after v0.41.1 #990

chore: sync main → develop after v0.41.1

chore: sync main → develop after v0.41.1 #990

Workflow file for this run

name: CI
on:
pull_request:
branches: [develop, main]
types: [opened, synchronize, reopened, ready_for_review]
push:
branches: [develop]
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'
jobs:
pr-title:
if: github.event_name == 'pull_request'
name: PR title
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
frontend:
name: Frontend
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Lint
run: bun run lint
- name: Format check
run: bun run format:check
- name: Build design system library
run: bun run build:lib
- name: Build (TypeScript typecheck + bundle)
run: bun run build
- name: Unit tests
run: bun run test:run
backend:
name: Backend
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: write
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v5
# On PRs: hard fail if developer forgot to run `uv lock`.
- name: Check uv.lock is up to date
if: github.event_name == 'pull_request'
run: uv lock --check
- name: Install dependencies
run: uv sync
- name: Lint (ruff)
run: uv run ruff check . && uv run ruff format --check .
- name: Unit tests
run: uv run pytest --ignore=services/analytics/tests/e2e -m "not integration and not e2e" -v