mirror of
				https://github.com/deepset-ai/haystack.git
				synced 2025-10-31 09:49:48 +00:00 
			
		
		
		
	feat: separate out preview tests (#5639)
				
					
				
			* add preview workflows * feedback * feedback * use preview extra * remove coverage and add separate e2e * rename workflow file for consistency * trigger ci * undo trigger * torch import in testing * add deps to unit tests * feedback * run container instead of service * comment * add if statement * fix tika version * separate out win integration tests * separate out all CIs * try installing docker on macos * exclude tika * remove tika docker
This commit is contained in:
		
							parent
							
								
									d61df24b27
								
							
						
					
					
						commit
						81b2e83d04
					
				
							
								
								
									
										2
									
								
								.github/workflows/ci_metrics.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/ci_metrics.yml
									
									
									
									
										vendored
									
									
								
							| @ -4,8 +4,10 @@ on: | |||||||
|   workflow_run: |   workflow_run: | ||||||
|     workflows: |     workflows: | ||||||
|       - "end-to-end" |       - "end-to-end" | ||||||
|  |       - "end-to-end (Preview)" | ||||||
|       - "Linting" |       - "Linting" | ||||||
|       - "Tests" |       - "Tests" | ||||||
|  |       - "Tests (Preview)" | ||||||
|       - "REST API Tests" |       - "REST API Tests" | ||||||
|     types: |     types: | ||||||
|       - completed |       - completed | ||||||
|  | |||||||
							
								
								
									
										1
									
								
								.github/workflows/e2e.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/workflows/e2e.yml
									
									
									
									
										vendored
									
									
								
							| @ -13,6 +13,7 @@ on: | |||||||
|       - ready_for_review |       - ready_for_review | ||||||
|     paths: |     paths: | ||||||
|       - "e2e/**/*.py" |       - "e2e/**/*.py" | ||||||
|  |       - "!e2e/preview/**/*.py"   # See e2e_preview.yml | ||||||
|       - ".github/workflows/e2e.yml" |       - ".github/workflows/e2e.yml" | ||||||
| 
 | 
 | ||||||
| env: | env: | ||||||
|  | |||||||
							
								
								
									
										42
									
								
								.github/workflows/e2e_preview.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								.github/workflows/e2e_preview.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,42 @@ | |||||||
|  | # If you change this name also do it in ci_metrics.yml | ||||||
|  | name: end-to-end (Preview) | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   workflow_dispatch: # Activate this workflow manually | ||||||
|  |   schedule: | ||||||
|  |     - cron: "0 0 * * *" | ||||||
|  |   pull_request: | ||||||
|  |     types: | ||||||
|  |       - opened | ||||||
|  |       - reopened | ||||||
|  |       - synchronize | ||||||
|  |       - ready_for_review | ||||||
|  |     paths: | ||||||
|  |       - "e2e/preview/**/*.py" | ||||||
|  |       - ".github/workflows/e2e_preview.yml" | ||||||
|  | 
 | ||||||
|  | env: | ||||||
|  |   PYTHON_VERSION: "3.8" | ||||||
|  |   OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   run: | ||||||
|  |     timeout-minutes: 60 | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |     - uses: actions/checkout@v4 | ||||||
|  | 
 | ||||||
|  |     - uses: actions/setup-python@v4 | ||||||
|  |       with: | ||||||
|  |         python-version: ${{ env.PYTHON_VERSION }} | ||||||
|  | 
 | ||||||
|  |     - name: Install dependencies | ||||||
|  |       run: | | ||||||
|  |         sudo apt-get update | ||||||
|  |         sudo apt install ffmpeg  # for local Whisper tests | ||||||
|  | 
 | ||||||
|  |     - name: Install Haystack | ||||||
|  |       run: pip install .[dev,preview] langdetect transformers[torch,sentencepiece]==4.32.1 'sentence-transformers>=2.2.0' pypdf openai-whisper tika 'azure-ai-formrecognizer>=3.2.0b2' | ||||||
|  | 
 | ||||||
|  |     - name: Run tests | ||||||
|  |       run: pytest e2e/preview | ||||||
							
								
								
									
										2
									
								
								.github/workflows/tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/tests.yml
									
									
									
									
										vendored
									
									
								
							| @ -17,6 +17,8 @@ on: | |||||||
|     paths: |     paths: | ||||||
|       - "**.py" |       - "**.py" | ||||||
|       - "pyproject.toml" |       - "pyproject.toml" | ||||||
|  |       - "!haystack/preview/**/*.py"  # See tests_preview.yml | ||||||
|  |       - "!test/preview/**/*.py"  # See tests_preview.yml | ||||||
|       - "!.github/**/*.py" |       - "!.github/**/*.py" | ||||||
|       - "!rest_api/**/*.py" |       - "!rest_api/**/*.py" | ||||||
|       - "!docs/**/*.py" |       - "!docs/**/*.py" | ||||||
|  | |||||||
							
								
								
									
										324
									
								
								.github/workflows/tests_preview.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										324
									
								
								.github/workflows/tests_preview.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,324 @@ | |||||||
|  | # If you change this name also do it in tests_preview_skipper.yml | ||||||
|  | name: Tests (Preview) | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   workflow_dispatch: # Activate this workflow manually | ||||||
|  |   push: | ||||||
|  |     branches: | ||||||
|  |       - main | ||||||
|  |       # release branches have the form v1.9.x | ||||||
|  |       - "v[0-9].*[0-9].x" | ||||||
|  |   pull_request: | ||||||
|  |     types: | ||||||
|  |       - opened | ||||||
|  |       - reopened | ||||||
|  |       - synchronize | ||||||
|  |       - ready_for_review | ||||||
|  |     paths: | ||||||
|  |       - "haystack/preview/**/*.py" | ||||||
|  |       - "test/preview/**/*.py" | ||||||
|  | 
 | ||||||
|  | env: | ||||||
|  |   OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} | ||||||
|  |   COHERE_API_KEY: ${{ secrets.COHERE_API_KEY }} | ||||||
|  |   CORE_AZURE_CS_ENDPOINT: ${{ secrets.CORE_AZURE_CS_ENDPOINT }} | ||||||
|  |   CORE_AZURE_CS_API_KEY: ${{ secrets.CORE_AZURE_CS_API_KEY }} | ||||||
|  |   PYTHON_VERSION: "3.8" | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   black: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  | 
 | ||||||
|  |       - uses: actions/setup-python@v4 | ||||||
|  |         with: | ||||||
|  |           python-version: ${{ env.PYTHON_VERSION }} | ||||||
|  | 
 | ||||||
|  |       - name: Install Black | ||||||
|  |         run: | | ||||||
|  |           pip install --upgrade pip | ||||||
|  |           pip install .[formatting] | ||||||
|  | 
 | ||||||
|  |       - name: Check status | ||||||
|  |         run: | | ||||||
|  |           if ! black . --check; then | ||||||
|  |             git status | ||||||
|  |             echo "###################################################################################################" | ||||||
|  |             echo "# " | ||||||
|  |             echo "# CHECK FAILED! Black found issues with your code formatting." | ||||||
|  |             echo "# " | ||||||
|  |             echo "# Either:" | ||||||
|  |             echo "# 1. Run Black locally before committing:" | ||||||
|  |             echo "# " | ||||||
|  |             echo "#     pip install .[formatting]" | ||||||
|  |             echo "#     black ." | ||||||
|  |             echo "# " | ||||||
|  |             echo "# 2. Install the pre-commit hook:" | ||||||
|  |             echo "# " | ||||||
|  |             echo "#     pre-commit install" | ||||||
|  |             echo "# " | ||||||
|  |             echo "# 3. See https://github.com/deepset-ai/haystack/blob/main/CONTRIBUTING.md for help." | ||||||
|  |             echo "# " | ||||||
|  |             echo "# If you have further problems, please open an issue: https://github.com/deepset-ai/haystack/issues" | ||||||
|  |             echo "# " | ||||||
|  |             echo "##################################################################################################" | ||||||
|  |             exit 1 | ||||||
|  |           fi | ||||||
|  | 
 | ||||||
|  |       - name: Calculate alert data | ||||||
|  |         id: calculator | ||||||
|  |         shell: bash | ||||||
|  |         if: (success() || failure()) && github.ref_name == 'main' | ||||||
|  |         run: | | ||||||
|  |           if [ "${{ job.status }}" = "success" ]; then | ||||||
|  |             echo "alert_type=success" >> "$GITHUB_OUTPUT"; | ||||||
|  |           else | ||||||
|  |             echo "alert_type=error" >> "$GITHUB_OUTPUT"; | ||||||
|  |           fi | ||||||
|  | 
 | ||||||
|  |       - name: Send event to Datadog | ||||||
|  |         if: (success() || failure()) && github.ref_name == 'main' | ||||||
|  |         uses: masci/datadog@v1 | ||||||
|  |         with: | ||||||
|  |           api-key: ${{ secrets.CORE_DATADOG_API_KEY }} | ||||||
|  |           api-url: https://api.datadoghq.eu | ||||||
|  |           events: | | ||||||
|  |             - title: "${{ github.workflow }} workflow" | ||||||
|  |               text: "Job ${{ github.job }} in branch ${{ github.ref_name }}" | ||||||
|  |               alert_type: "${{ steps.calculator.outputs.alert_type }}" | ||||||
|  |               source_type_name: "Github" | ||||||
|  |               host: ${{ github.repository_owner }} | ||||||
|  |               tags: | ||||||
|  |                 - "project:${{ github.repository }}" | ||||||
|  |                 - "job:${{ github.job }}" | ||||||
|  |                 - "run_id:${{ github.run_id }}" | ||||||
|  |                 - "workflow:${{ github.workflow }}" | ||||||
|  |                 - "branch:${{ github.ref_name }}" | ||||||
|  |                 - "url:https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" | ||||||
|  | 
 | ||||||
|  |   unit-tests: | ||||||
|  |     name: Unit / ${{ matrix.os }} | ||||||
|  |     needs: black | ||||||
|  |     strategy: | ||||||
|  |       fail-fast: false | ||||||
|  |       matrix: | ||||||
|  |         os: | ||||||
|  |           - ubuntu-latest | ||||||
|  |           - windows-latest | ||||||
|  |           - macos-latest | ||||||
|  |     runs-on: ${{ matrix.os }} | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  | 
 | ||||||
|  |       - uses: actions/setup-python@v4 | ||||||
|  |         with: | ||||||
|  |           python-version: ${{ env.PYTHON_VERSION }} | ||||||
|  | 
 | ||||||
|  |       - name: Install Haystack | ||||||
|  |         run: pip install .[dev,preview] langdetect transformers[torch,sentencepiece]==4.32.1 'sentence-transformers>=2.2.0' pypdf openai-whisper tika 'azure-ai-formrecognizer>=3.2.0b2' | ||||||
|  | 
 | ||||||
|  |       - name: Run | ||||||
|  |         run: pytest -m "unit" test/preview | ||||||
|  | 
 | ||||||
|  |       - name: Calculate alert data | ||||||
|  |         id: calculator | ||||||
|  |         shell: bash | ||||||
|  |         if: (success() || failure()) && github.ref_name == 'main' | ||||||
|  |         run: | | ||||||
|  |           if [ "${{ job.status }}" = "success" ]; then | ||||||
|  |             echo "alert_type=success" >> "$GITHUB_OUTPUT"; | ||||||
|  |           else | ||||||
|  |             echo "alert_type=error" >> "$GITHUB_OUTPUT"; | ||||||
|  |           fi | ||||||
|  | 
 | ||||||
|  |       - name: Send event to Datadog | ||||||
|  |         if: (success() || failure()) && github.ref_name == 'main' | ||||||
|  |         uses: masci/datadog@v1 | ||||||
|  |         with: | ||||||
|  |           api-key: ${{ secrets.CORE_DATADOG_API_KEY }} | ||||||
|  |           api-url: https://api.datadoghq.eu | ||||||
|  |           events: | | ||||||
|  |             - title: "${{ github.workflow }} workflow" | ||||||
|  |               text: "Job ${{ github.job }} in branch ${{ github.ref_name }}" | ||||||
|  |               alert_type: "${{ steps.calculator.outputs.alert_type }}" | ||||||
|  |               source_type_name: "Github" | ||||||
|  |               host: ${{ github.repository_owner }} | ||||||
|  |               tags: | ||||||
|  |                 - "project:${{ github.repository }}" | ||||||
|  |                 - "job:${{ github.job }}" | ||||||
|  |                 - "run_id:${{ github.run_id }}" | ||||||
|  |                 - "workflow:${{ github.workflow }}" | ||||||
|  |                 - "branch:${{ github.ref_name }}" | ||||||
|  |                 - "url:https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   integration-tests-linux: | ||||||
|  |     name: Integration / ubuntu-latest | ||||||
|  |     needs: unit-tests | ||||||
|  |     strategy: | ||||||
|  |       fail-fast: false | ||||||
|  |       matrix: | ||||||
|  |         os: | ||||||
|  |           - ubuntu-latest | ||||||
|  |     runs-on: ${{ matrix.os }} | ||||||
|  |     services: | ||||||
|  |       tika: | ||||||
|  |         image: apache/tika:2.9.0.0 | ||||||
|  |         ports: | ||||||
|  |           - 9998:9998 | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  | 
 | ||||||
|  |       - uses: actions/setup-python@v4 | ||||||
|  |         with: | ||||||
|  |           python-version: ${{ env.PYTHON_VERSION }} | ||||||
|  | 
 | ||||||
|  |       - name: Install dependencies | ||||||
|  |         run: | | ||||||
|  |           sudo apt update | ||||||
|  |           sudo apt install ffmpeg  # for local Whisper tests | ||||||
|  | 
 | ||||||
|  |       - name: Install Haystack | ||||||
|  |         run: pip install .[dev,preview] langdetect transformers[torch,sentencepiece]==4.32.1 'sentence-transformers>=2.2.0' pypdf openai-whisper tika 'azure-ai-formrecognizer>=3.2.0b2' | ||||||
|  | 
 | ||||||
|  |       - name: Run | ||||||
|  |         run: pytest --maxfail=5 -m "integration" test/preview | ||||||
|  | 
 | ||||||
|  |       - name: Calculate alert data | ||||||
|  |         id: calculator | ||||||
|  |         shell: bash | ||||||
|  |         if: (success() || failure()) && github.ref_name == 'main' | ||||||
|  |         run: | | ||||||
|  |           if [ "${{ job.status }}" = "success" ]; then | ||||||
|  |             echo "alert_type=success" >> "$GITHUB_OUTPUT"; | ||||||
|  |           else | ||||||
|  |             echo "alert_type=error" >> "$GITHUB_OUTPUT"; | ||||||
|  |           fi | ||||||
|  | 
 | ||||||
|  |       - name: Send event to Datadog | ||||||
|  |         if: (success() || failure()) && github.ref_name == 'main' | ||||||
|  |         uses: masci/datadog@v1 | ||||||
|  |         with: | ||||||
|  |           api-key: ${{ secrets.CORE_DATADOG_API_KEY }} | ||||||
|  |           api-url: https://api.datadoghq.eu | ||||||
|  |           events: | | ||||||
|  |             - title: "${{ github.workflow }} workflow" | ||||||
|  |               text: "Job ${{ github.job }} in branch ${{ github.ref_name }}" | ||||||
|  |               alert_type: "${{ steps.calculator.outputs.alert_type }}" | ||||||
|  |               source_type_name: "Github" | ||||||
|  |               host: ${{ github.repository_owner }} | ||||||
|  |               tags: | ||||||
|  |                 - "project:${{ github.repository }}" | ||||||
|  |                 - "job:${{ github.job }}" | ||||||
|  |                 - "run_id:${{ github.run_id }}" | ||||||
|  |                 - "workflow:${{ github.workflow }}" | ||||||
|  |                 - "branch:${{ github.ref_name }}" | ||||||
|  |                 - "url:https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   integration-tests-macos: | ||||||
|  |     name: Integration / macos-latest | ||||||
|  |     needs: unit-tests | ||||||
|  |     runs-on: macos-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  | 
 | ||||||
|  |       - uses: actions/setup-python@v4 | ||||||
|  |         with: | ||||||
|  |           python-version: ${{ env.PYTHON_VERSION }} | ||||||
|  | 
 | ||||||
|  |       - name: Install dependencies | ||||||
|  |         run: | | ||||||
|  |           brew install ffmpeg  # for local Whisper tests | ||||||
|  |           brew install docker | ||||||
|  |           colima start | ||||||
|  | 
 | ||||||
|  |       - name: Install Haystack | ||||||
|  |         run: pip install .[dev,preview] langdetect transformers[torch,sentencepiece]==4.32.1 'sentence-transformers>=2.2.0' pypdf openai-whisper tika 'azure-ai-formrecognizer>=3.2.0b2' | ||||||
|  | 
 | ||||||
|  |       - name: Run Tika | ||||||
|  |         run: docker run -d -p 9998:9998 apache/tika:2.9.0.0 | ||||||
|  | 
 | ||||||
|  |       - name: Run | ||||||
|  |         run: pytest --maxfail=5 -m "integration" test/preview | ||||||
|  | 
 | ||||||
|  |       - name: Calculate alert data | ||||||
|  |         id: calculator | ||||||
|  |         shell: bash | ||||||
|  |         if: (success() || failure()) && github.ref_name == 'main' | ||||||
|  |         run: | | ||||||
|  |           if [ "${{ job.status }}" = "success" ]; then | ||||||
|  |             echo "alert_type=success" >> "$GITHUB_OUTPUT"; | ||||||
|  |           else | ||||||
|  |             echo "alert_type=error" >> "$GITHUB_OUTPUT"; | ||||||
|  |           fi | ||||||
|  | 
 | ||||||
|  |       - name: Send event to Datadog | ||||||
|  |         if: (success() || failure()) && github.ref_name == 'main' | ||||||
|  |         uses: masci/datadog@v1 | ||||||
|  |         with: | ||||||
|  |           api-key: ${{ secrets.CORE_DATADOG_API_KEY }} | ||||||
|  |           api-url: https://api.datadoghq.eu | ||||||
|  |           events: | | ||||||
|  |             - title: "${{ github.workflow }} workflow" | ||||||
|  |               text: "Job ${{ github.job }} in branch ${{ github.ref_name }}" | ||||||
|  |               alert_type: "${{ steps.calculator.outputs.alert_type }}" | ||||||
|  |               source_type_name: "Github" | ||||||
|  |               host: ${{ github.repository_owner }} | ||||||
|  |               tags: | ||||||
|  |                 - "project:${{ github.repository }}" | ||||||
|  |                 - "job:${{ github.job }}" | ||||||
|  |                 - "run_id:${{ github.run_id }}" | ||||||
|  |                 - "workflow:${{ github.workflow }}" | ||||||
|  |                 - "branch:${{ github.ref_name }}" | ||||||
|  |                 - "url:https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   integration-tests-windows: | ||||||
|  |     name: Integration / windows-latest | ||||||
|  |     needs: unit-tests | ||||||
|  |     runs-on: windows-latest | ||||||
|  |     steps: | ||||||
|  |       - uses: actions/checkout@v3 | ||||||
|  | 
 | ||||||
|  |       - uses: actions/setup-python@v4 | ||||||
|  |         with: | ||||||
|  |           python-version: ${{ env.PYTHON_VERSION }} | ||||||
|  | 
 | ||||||
|  |       - name: Install Haystack | ||||||
|  |         run: pip install .[dev,preview] langdetect transformers[torch,sentencepiece]==4.32.1 'sentence-transformers>=2.2.0' pypdf openai-whisper tika 'azure-ai-formrecognizer>=3.2.0b2' | ||||||
|  | 
 | ||||||
|  |       - name: Run | ||||||
|  |         run: pytest --maxfail=5 -m "integration" test/preview -k 'not tika' | ||||||
|  | 
 | ||||||
|  |       - name: Calculate alert data | ||||||
|  |         id: calculator | ||||||
|  |         shell: bash | ||||||
|  |         if: (success() || failure()) && github.ref_name == 'main' | ||||||
|  |         run: | | ||||||
|  |           if [ "${{ job.status }}" = "success" ]; then | ||||||
|  |             echo "alert_type=success" >> "$GITHUB_OUTPUT"; | ||||||
|  |           else | ||||||
|  |             echo "alert_type=error" >> "$GITHUB_OUTPUT"; | ||||||
|  |           fi | ||||||
|  | 
 | ||||||
|  |       - name: Send event to Datadog | ||||||
|  |         if: (success() || failure()) && github.ref_name == 'main' | ||||||
|  |         uses: masci/datadog@v1 | ||||||
|  |         with: | ||||||
|  |           api-key: ${{ secrets.CORE_DATADOG_API_KEY }} | ||||||
|  |           api-url: https://api.datadoghq.eu | ||||||
|  |           events: | | ||||||
|  |             - title: "${{ github.workflow }} workflow" | ||||||
|  |               text: "Job ${{ github.job }} in branch ${{ github.ref_name }}" | ||||||
|  |               alert_type: "${{ steps.calculator.outputs.alert_type }}" | ||||||
|  |               source_type_name: "Github" | ||||||
|  |               host: ${{ github.repository_owner }} | ||||||
|  |               tags: | ||||||
|  |                 - "project:${{ github.repository }}" | ||||||
|  |                 - "job:${{ github.job }}" | ||||||
|  |                 - "run_id:${{ github.run_id }}" | ||||||
|  |                 - "workflow:${{ github.workflow }}" | ||||||
|  |                 - "branch:${{ github.ref_name }}" | ||||||
|  |                 - "url:https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" | ||||||
							
								
								
									
										21
									
								
								.github/workflows/tests_preview_skipper.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								.github/workflows/tests_preview_skipper.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | |||||||
|  | # If you change this name also do it in tests_preview.yml | ||||||
|  | name: Tests (Preview) | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   pull_request: | ||||||
|  |     types: | ||||||
|  |       - opened | ||||||
|  |       - reopened | ||||||
|  |       - synchronize | ||||||
|  |       - ready_for_review | ||||||
|  |     paths-ignore: | ||||||
|  |       - "haystack/preview/**/*.py" | ||||||
|  |       - "test/preview/**/*.py" | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   catch-all: | ||||||
|  |     name: Catch-all check | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Skip preview tests | ||||||
|  |         run: echo "Skipped!" | ||||||
							
								
								
									
										2
									
								
								.github/workflows/tests_skipper.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/tests_skipper.yml
									
									
									
									
										vendored
									
									
								
							| @ -10,6 +10,8 @@ on: | |||||||
|       - ready_for_review |       - ready_for_review | ||||||
|     paths-ignore: |     paths-ignore: | ||||||
|       - "**.py" |       - "**.py" | ||||||
|  |       - "!haystack/preview/**/*.py"  # See tests_preview.yml | ||||||
|  |       - "!test/preview/**/*.py"  # See tests_preview.yml | ||||||
|       - "pyproject.toml" |       - "pyproject.toml" | ||||||
|       - "!.github/**/*.py" |       - "!.github/**/*.py" | ||||||
|       - "!rest_api/**/*.py" |       - "!rest_api/**/*.py" | ||||||
|  | |||||||
| @ -1,7 +1,10 @@ | |||||||
| import os | import os | ||||||
| import random | import random | ||||||
|  | import logging | ||||||
| import numpy as np | import numpy as np | ||||||
| import torch | 
 | ||||||
|  | 
 | ||||||
|  | logger = logging.getLogger(__name__) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def set_all_seeds(seed: int, deterministic_cudnn: bool = False) -> None: | def set_all_seeds(seed: int, deterministic_cudnn: bool = False) -> None: | ||||||
| @ -16,9 +19,16 @@ def set_all_seeds(seed: int, deterministic_cudnn: bool = False) -> None: | |||||||
|     """ |     """ | ||||||
|     random.seed(seed) |     random.seed(seed) | ||||||
|     np.random.seed(seed) |     np.random.seed(seed) | ||||||
|     torch.manual_seed(seed) |  | ||||||
|     os.environ["PYTHONHASHSEED"] = str(seed) |     os.environ["PYTHONHASHSEED"] = str(seed) | ||||||
|     torch.cuda.manual_seed_all(seed) | 
 | ||||||
|     if deterministic_cudnn: |     try: | ||||||
|         torch.backends.cudnn.deterministic = True |         import torch | ||||||
|         torch.backends.cudnn.benchmark = False | 
 | ||||||
|  |         torch.manual_seed(seed) | ||||||
|  |         torch.cuda.manual_seed_all(seed) | ||||||
|  |         if deterministic_cudnn: | ||||||
|  |             torch.backends.cudnn.deterministic = True | ||||||
|  |             torch.backends.cudnn.benchmark = False | ||||||
|  | 
 | ||||||
|  |     except (ImportError, ModuleNotFoundError) as exc: | ||||||
|  |         logger.info("Could not set PyTorch seed because torch is not installed. Exception: %s", exc) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 ZanSara
						ZanSara