Skip to content

Update project metadata #557

Update project metadata

Update project metadata #557

Workflow file for this run

name: Run Server Tests
on:
push:
branches:
- development
- main
paths:
- "Tekst-API/tekst/**"
- "Tekst-API/tests/**"
- "Tekst-API/pyproject.toml"
- "Tekst-API/uv.lock"
- ".github/workflows/server-tests.yml"
pull_request:
branches:
- development
paths:
- "Tekst-API/tekst/**"
- "Tekst-API/tests/**"
- "Tekst-API/pyproject.toml"
- "Tekst-API/uv.lock"
- ".github/workflows/server-tests.yml"
workflow_dispatch:
jobs:
tests:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./Tekst-API
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v4
with:
version: "0.5.7"
enable-cache: true
cache-dependency-glob: "./Tekst-API/uv.lock"
- name: Install Python
uses: actions/setup-python@v5
with:
python-version-file: "./Tekst-API/pyproject.toml"
- name: Install dependencies
run: uv sync
- name: Configure sysctl limits for ES
run: |
sudo swapoff -a
sudo sysctl -w vm.swappiness=1
sudo sysctl -w fs.file-max=262144
sudo sysctl -w vm.max_map_count=262144
- name: Start test service stack
run: |
docker compose -f dev/compose.yml --profile test -p tekst-testing up --detach
printf "Waiting for MongoDB service"; while ! $(curl -f http://127.0.0.1:27017 > /dev/null 2>&1); do sleep 1; printf "."; done; printf "\n"
printf "Waiting for Elasticsearch service"; while ! $(curl -f http://127.0.0.1:9200 > /dev/null 2>&1); do sleep 1; printf "."; done; printf "\n"
- name: Cancel on setup error
if: failure()
uses: andymckay/[email protected]
- name: Run tests
if: always()
run: TEKST_DEV_MODE=true TEKST_CUSTOM_ENV_FILE=.env.test TEKST_EMAIL__SMTP_STARTTLS=false uv run coverage run -m pytest && uv run coverage lcov
- name: Coveralls
uses: coverallsapp/github-action@v2