mirror of
				https://github.com/thelsing/knx.git
				synced 2025-10-26 10:26:25 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			117 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Upstream
 | |
| 
 | |
| on:
 | |
|   workflow_dispatch:
 | |
|   pull_request:
 | |
| 
 | |
| permissions:
 | |
|   contents: read
 | |
| 
 | |
| concurrency:
 | |
|   group: upstream-${{ github.ref }}
 | |
|   cancel-in-progress: true
 | |
| 
 | |
| env:
 | |
|   PIP_BREAK_SYSTEM_PACKAGES: 1
 | |
|   # For cmake:
 | |
|   VERBOSE: 1
 | |
| 
 | |
| jobs:
 | |
|   standard:
 | |
|     name: "🐍 3.13 latest • ubuntu-latest • x64"
 | |
|     runs-on: ubuntu-latest
 | |
|     # Only runs when the  'python dev' label is selected
 | |
|     if: "contains(github.event.pull_request.labels.*.name, 'python dev')"
 | |
| 
 | |
|     steps:
 | |
|     - uses: actions/checkout@v4
 | |
| 
 | |
|     - name: Setup Python 3.13
 | |
|       uses: actions/setup-python@v5
 | |
|       with:
 | |
|         python-version: "3.13"
 | |
|         allow-prereleases: true
 | |
| 
 | |
|     - name: Setup Boost
 | |
|       run: sudo apt-get install libboost-dev
 | |
| 
 | |
|     - name: Update CMake
 | |
|       uses: jwlawson/actions-setup-cmake@v2.0
 | |
| 
 | |
|     - name: Run pip installs
 | |
|       run: |
 | |
|         python -m pip install --upgrade pip
 | |
|         python -m pip install -r tests/requirements.txt        
 | |
| 
 | |
|     - name: Show platform info
 | |
|       run: |
 | |
|         python -m platform
 | |
|         cmake --version
 | |
|         pip list        
 | |
| 
 | |
|     # First build - C++11 mode and inplace
 | |
|     - name: Configure C++11
 | |
|       run: >
 | |
|         cmake -S . -B build11
 | |
|         -DPYBIND11_WERROR=ON
 | |
|         -DDOWNLOAD_CATCH=ON
 | |
|         -DDOWNLOAD_EIGEN=ON
 | |
|         -DCMAKE_CXX_STANDARD=11
 | |
|         -DCMAKE_BUILD_TYPE=Debug        
 | |
| 
 | |
|     - name: Build C++11
 | |
|       run: cmake --build build11 -j 2
 | |
| 
 | |
|     - name: Python tests C++11
 | |
|       run: cmake --build build11 --target pytest -j 2
 | |
| 
 | |
|     - name: C++11 tests
 | |
|       run: cmake --build build11  --target cpptest -j 2
 | |
| 
 | |
|     - name: Interface test C++11
 | |
|       run: cmake --build build11 --target test_cmake_build
 | |
| 
 | |
|     # Second build - C++17 mode and in a build directory
 | |
|     - name: Configure C++17
 | |
|       run: >
 | |
|         cmake -S . -B build17
 | |
|         -DPYBIND11_WERROR=ON
 | |
|         -DDOWNLOAD_CATCH=ON
 | |
|         -DDOWNLOAD_EIGEN=ON
 | |
|         -DCMAKE_CXX_STANDARD=17        
 | |
| 
 | |
|     - name: Build C++17
 | |
|       run: cmake --build build17 -j 2
 | |
| 
 | |
|     - name: Python tests C++17
 | |
|       run: cmake --build build17 --target pytest
 | |
| 
 | |
|     - name: C++17 tests
 | |
|       run: cmake --build build17 --target cpptest
 | |
| 
 | |
|     # Third build - C++17 mode with unstable ABI
 | |
|     - name: Configure (unstable ABI)
 | |
|       run: >
 | |
|         cmake -S . -B build17max
 | |
|         -DPYBIND11_WERROR=ON
 | |
|         -DDOWNLOAD_CATCH=ON
 | |
|         -DDOWNLOAD_EIGEN=ON
 | |
|         -DCMAKE_CXX_STANDARD=17
 | |
|         -DPYBIND11_INTERNALS_VERSION=10000000        
 | |
| 
 | |
|     - name: Build (unstable ABI)
 | |
|       run: cmake --build build17max -j 2
 | |
| 
 | |
|     - name: Python tests (unstable ABI)
 | |
|       run: cmake --build build17max --target pytest
 | |
| 
 | |
|     - name: Interface test (unstable ABI)
 | |
|       run: cmake --build build17max --target test_cmake_build
 | |
| 
 | |
|     # This makes sure the setup_helpers module can build packages using
 | |
|     # setuptools
 | |
|     - name: Setuptools helpers test
 | |
|       run: |
 | |
|         pip install setuptools
 | |
|         pytest tests/extra_setuptools        
 |