try python 3.14 in CI #1516
Workflow file for this run
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
| # This workflow comes from https://github.com/ofek/hatch-mypyc | |
| # https://github.com/ofek/hatch-mypyc/blob/5a198c0ba8660494d02716cfc9d79ce4adfb1442/.github/workflows/test.yml | |
| name: Test / opensearch | |
| on: | |
| schedule: | |
| - cron: "0 0 * * *" | |
| pull_request: | |
| paths: | |
| - "integrations/opensearch/**" | |
| - "!integrations/opensearch/*.md" | |
| - ".github/workflows/opensearch.yml" | |
| concurrency: | |
| group: opensearch-${{ github.head_ref }} | |
| cancel-in-progress: true | |
| env: | |
| PYTHONUNBUFFERED: "1" | |
| FORCE_COLOR: "1" | |
| defaults: | |
| run: | |
| working-directory: integrations/opensearch | |
| jobs: | |
| run: | |
| name: Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest] # we run OpenSearch using Docker, which is not available on MacOS and Windows GitHub Runners | |
| python-version: ["3.10", "3.14"] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install Hatch | |
| run: pip install hatch "virtualenv<21.0.0" | |
| - name: Lint | |
| if: matrix.python-version == '3.10' && runner.os == 'Linux' | |
| run: hatch run fmt-check && hatch run test:types | |
| - name: Run opensearch container | |
| run: docker compose up -d | |
| - name: Run tests (in parallel, using 4 cores) | |
| run: hatch run test:cov-retry -n 4 # GA runner has 4 cores | |
| - name: Run unit tests with lowest direct dependencies | |
| run: | | |
| hatch run uv pip compile pyproject.toml --resolution lowest-direct --output-file requirements_lowest_direct.txt | |
| hatch -e test env run -- uv pip install -r requirements_lowest_direct.txt | |
| hatch run test:unit | |
| - name: Nightly - run unit tests with Haystack main branch | |
| if: github.event_name == 'schedule' | |
| run: | | |
| hatch env prune | |
| hatch -e test env run -- uv pip install git+https://github.com/deepset-ai/haystack.git@main | |
| hatch run test:unit | |
| notify-slack-on-failure: | |
| needs: run | |
| if: failure() && github.event_name == 'schedule' | |
| runs-on: ubuntu-slim | |
| steps: | |
| - uses: deepset-ai/notify-slack-action@v1 | |
| with: | |
| slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL_NOTIFICATIONS }} |