diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a2651434f..6975c2289 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,37 +10,37 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install pnpm - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + uses: pnpm/action-setup@v5 + - uses: actions/setup-node@v6 with: - node-version: 22 + node-version: 24 cache: pnpm - name: Install dependencies run: pnpm install - - uses: pre-commit/action@v3.0.1 + - uses: j178/prek-action@v1 test: runs-on: ubuntu-latest + container: + image: ghcr.io/fragdenstaat/fds-base strategy: matrix: python-version: ['3.12', '3.13', '3.14'] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Setup uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@v8.0.0 with: python-version: ${{ matrix.python-version }} activate-environment: true - name: Install pnpm - uses: pnpm/action-setup@v4 - - uses: actions/setup-node@v4 + uses: pnpm/action-setup@v5 + - uses: actions/setup-node@v6 with: - node-version: 22 + node-version: 24 cache: pnpm - - name: Install system-level dependencies - run: sudo apt-get update && sudo apt-get install libgdal-dev gdal-bin libmagic-dev libmagickwand-dev libpoppler-cpp-dev poppler-utils ghostscript - name: Install dependencies run: | uv sync @@ -53,7 +53,8 @@ jobs: coverage run --branch -m pytest froide/ coverage report --format=markdown >> $GITHUB_STEP_SUMMARY env: - DATABASE_URL: postgis://postgres:postgres@localhost/froide + DATABASE_URL: postgis://postgres:postgres@postgres/froide + DJANGO_ELASTICSEARCH_HOSTS: http://elasticsearch:9200 services: postgres: diff --git a/froide/settings.py b/froide/settings.py index 3d27f34dd..b156cd8a8 100644 --- a/froide/settings.py +++ b/froide/settings.py @@ -481,10 +481,12 @@ def STATICFILES_DIRS(self): # ######## Search ########### ELASTICSEARCH_INDEX_PREFIX = "froide" - ELASTICSEARCH_HOST = values.Value("localhost") - ELASTICSEARCH_DSL = { - "default": {"hosts": "http://%s:9200" % ELASTICSEARCH_HOST}, - } + ELASTICSEARCH_HOSTS = values.ListValue(["http://localhost:9200"]) + + @property + def ELASTICSEARCH_DSL(self): + return {"default": {"hosts": self.ELASTICSEARCH_HOSTS}} + ELASTICSEARCH_DSL_SIGNAL_PROCESSOR = ( "django_elasticsearch_dsl.signals.RealTimeSignalProcessor" )