3030 PYTHONUNBUFFERED : " 1"
3131 FORCE_COLOR : " 1"
3232 PINECONE_API_KEY : ${{ secrets.PINECONE_API_KEY }}
33- TEST_MATRIX_OS : ' ["ubuntu-latest"]'
34- TEST_MATRIX_PYTHON : ' ["3.10", "3.14"]'
3533
3634jobs :
3735 compute-test-matrix :
@@ -40,13 +38,20 @@ jobs:
4038 run :
4139 working-directory : .
4240 outputs :
43- os : ${{ steps.set.outputs.os }}
44- python-version : ${{ steps.set.outputs.python-version }}
41+ matrix : ${{ steps.set.outputs.matrix }}
4542 steps :
4643 - id : set
4744 run : |
48- echo 'os=${{ github.event_name == 'push' && '["ubuntu-latest"]' || env.TEST_MATRIX_OS }}' >> "$GITHUB_OUTPUT"
49- echo 'python-version=${{ github.event_name == 'push' && '["3.10"]' || env.TEST_MATRIX_PYTHON }}' >> "$GITHUB_OUTPUT"
45+ if [ "${{ github.event_name }}" = "push" ]; then
46+ echo 'matrix=[{"os":"ubuntu-latest","python-version":"3.10","INDEX_NAME":"index-310"}]' >> "$GITHUB_OUTPUT"
47+ else
48+ MATRIX='['
49+ # Pinecone tests are time expensive, so only test on Ubuntu
50+ MATRIX+='{"os":"ubuntu-latest","python-version":"3.10","INDEX_NAME":"index-310"},'
51+ MATRIX+='{"os":"ubuntu-latest","python-version":"3.14","INDEX_NAME":"index-313"}'
52+ MATRIX+=']'
53+ echo "matrix=$MATRIX" >> "$GITHUB_OUTPUT"
54+ fi
5055
5156 run :
5257 name : Python ${{ matrix.python-version }} on ${{ startsWith(matrix.os, 'macos-') && 'macOS' || startsWith(matrix.os, 'windows-') && 'Windows' || 'Linux' }}
5863 strategy :
5964 fail-fast : false
6065 matrix :
61- # Pinecone tests are time expensive, so only test on Ubuntu
62- os : ${{ fromJSON(needs.compute-test-matrix.outputs.os) }}
63- python-version : ${{ fromJSON(needs.compute-test-matrix.outputs.python-version) }}
64- include :
65- - python-version : " 3.10"
66- INDEX_NAME : " index-310"
67- - python-version : " 3.14"
68- INDEX_NAME : " index-313"
66+ include : ${{ fromJSON(needs.compute-test-matrix.outputs.matrix) }}
6967
7068 steps :
7169 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7876 - name : Install Hatch
7977 run : pip install hatch
8078
81- # TODO: Once this integration is properly typed, use hatch run test:types
82- # https://github.com/deepset-ai/haystack-core-integrations/issues/1771
8379 - name : Lint
8480 if : matrix.python-version == '3.10' && runner.os == 'Linux'
8581 run : hatch run fmt-check && hatch run test:types
0 commit comments