chore: sync main → develop after v0.41.1 #990
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: 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 | |