mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	Run integration tests only on Python 3.13 to reduce CI resource usage (#9377)
This commit is contained in:
		
							
								
								
									
										39
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -214,17 +214,51 @@ jobs: | |||||||
|         if: matrix.os == 'windows-latest' |         if: matrix.os == 'windows-latest' | ||||||
|         run: | |         run: | | ||||||
|           ./venv/Scripts/activate |           ./venv/Scripts/activate | ||||||
|           pytest -vv --cov-report=xml --tb=native -n auto tests |           pytest -vv --cov-report=xml --tb=native -n auto tests --ignore=tests/integration/ | ||||||
|       - name: Run pytest |       - name: Run pytest | ||||||
|         if: matrix.os == 'ubuntu-latest' || matrix.os == 'macOS-latest' |         if: matrix.os == 'ubuntu-latest' || matrix.os == 'macOS-latest' | ||||||
|         run: | |         run: | | ||||||
|           . venv/bin/activate |           . venv/bin/activate | ||||||
|           pytest -vv --cov-report=xml --tb=native -n auto tests |           pytest -vv --cov-report=xml --tb=native -n auto tests --ignore=tests/integration/ | ||||||
|       - name: Upload coverage to Codecov |       - name: Upload coverage to Codecov | ||||||
|         uses: codecov/codecov-action@v5.4.3 |         uses: codecov/codecov-action@v5.4.3 | ||||||
|         with: |         with: | ||||||
|           token: ${{ secrets.CODECOV_TOKEN }} |           token: ${{ secrets.CODECOV_TOKEN }} | ||||||
|  |  | ||||||
|  |   integration-tests: | ||||||
|  |     name: Run integration tests | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     needs: | ||||||
|  |       - common | ||||||
|  |     steps: | ||||||
|  |       - name: Check out code from GitHub | ||||||
|  |         uses: actions/checkout@v4.2.2 | ||||||
|  |       - name: Set up Python 3.13 | ||||||
|  |         id: python | ||||||
|  |         uses: actions/setup-python@v5.6.0 | ||||||
|  |         with: | ||||||
|  |           python-version: "3.13" | ||||||
|  |       - name: Restore Python virtual environment | ||||||
|  |         id: cache-venv | ||||||
|  |         uses: actions/cache@v4.2.3 | ||||||
|  |         with: | ||||||
|  |           path: venv | ||||||
|  |           key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{ needs.common.outputs.cache-key }} | ||||||
|  |       - name: Create Python virtual environment | ||||||
|  |         if: steps.cache-venv.outputs.cache-hit != 'true' | ||||||
|  |         run: | | ||||||
|  |           python -m venv venv | ||||||
|  |           . venv/bin/activate | ||||||
|  |           python --version | ||||||
|  |           pip install -r requirements.txt -r requirements_test.txt | ||||||
|  |           pip install -e . | ||||||
|  |       - name: Register matcher | ||||||
|  |         run: echo "::add-matcher::.github/workflows/matchers/pytest.json" | ||||||
|  |       - name: Run integration tests | ||||||
|  |         run: | | ||||||
|  |           . venv/bin/activate | ||||||
|  |           pytest -vv --no-cov --tb=native -n auto tests/integration/ | ||||||
|  |  | ||||||
|   clang-format: |   clang-format: | ||||||
|     name: Check clang-format |     name: Check clang-format | ||||||
|     runs-on: ubuntu-24.04 |     runs-on: ubuntu-24.04 | ||||||
| @@ -494,6 +528,7 @@ jobs: | |||||||
|       - flake8 |       - flake8 | ||||||
|       - pylint |       - pylint | ||||||
|       - pytest |       - pytest | ||||||
|  |       - integration-tests | ||||||
|       - pyupgrade |       - pyupgrade | ||||||
|       - clang-tidy |       - clang-tidy | ||||||
|       - list-components |       - list-components | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user