Skip to content

Bump date-fns from 3.6.0 to 4.4.0 in /frontend #100

Bump date-fns from 3.6.0 to 4.4.0 in /frontend

Bump date-fns from 3.6.0 to 4.4.0 in /frontend #100

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
check-lockfile:
name: Check backend lockfile is up to date
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 0
- name: Ensure lockfiles are updated when .in files change
run: |
BASE=${{ github.event.pull_request.base.sha }}
HEAD=${{ github.event.pull_request.head.sha }}
CHANGED=$(git diff --name-only "$BASE" "$HEAD")
FAIL=0
if echo "$CHANGED" | grep -q 'backend/requirements\.in$'; then
if ! echo "$CHANGED" | grep -q 'backend/requirements\.txt$'; then
echo "::error::backend/requirements.in was modified but backend/requirements.txt was not."
FAIL=1
fi
if ! echo "$CHANGED" | grep -q 'backend/requirements-dev\.txt$'; then
echo "::error::backend/requirements.in was modified but backend/requirements-dev.txt was not."
FAIL=1
fi
fi
if echo "$CHANGED" | grep -q 'backend/requirements-dev\.in$'; then
if ! echo "$CHANGED" | grep -q 'backend/requirements-dev\.txt$'; then
echo "::error::backend/requirements-dev.in was modified but backend/requirements-dev.txt was not."
FAIL=1
fi
fi
if [ "$FAIL" -eq 1 ]; then
echo "::error::Please run pip-compile to regenerate lockfiles. See README for instructions."
exit 1
fi
backend-tests:
name: Backend tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
fetch-depth: 0
- name: Check for backend changes
id: changes
run: |
if [ "${{ github.event_name }}" = "push" ]; then
CHANGED=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} 2>/dev/null \
|| git diff --name-only HEAD~1 HEAD 2>/dev/null \
|| echo "backend/")
else
CHANGED=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }})
fi
if echo "$CHANGED" | grep -Eq '^(backend/|\.github/workflows/ci\.yml$)'; then
echo "backend=true" >> "$GITHUB_OUTPUT"
fi
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
if: steps.changes.outputs.backend == 'true'
with:
python-version: "3.13"
cache: pip
cache-dependency-path: backend/requirements-dev.txt
- name: Install backend dependencies
if: steps.changes.outputs.backend == 'true'
working-directory: backend
run: python -m pip install -r requirements-dev.txt
- name: Run Ruff
if: steps.changes.outputs.backend == 'true'
working-directory: backend
run: python -m ruff check .
- name: Run tests
if: steps.changes.outputs.backend == 'true'
working-directory: backend
run: python -m pytest tests/ -v --cov=app --cov-report=term-missing
frontend-lint:
name: Frontend Lint & Typecheck
runs-on: ubuntu-latest
defaults:
run:
working-directory: frontend
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 20
cache: npm
cache-dependency-path: frontend/package-lock.json
- run: npm ci
- run: npm run lint
- run: npm run typecheck