mirror of
				https://github.com/thelsing/knx.git
				synced 2025-10-26 10:26:25 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			104 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Pip
 | |
| 
 | |
| on:
 | |
|   workflow_dispatch:
 | |
|   pull_request:
 | |
|   push:
 | |
|     branches:
 | |
|     - master
 | |
|     - stable
 | |
|     - v*
 | |
|   release:
 | |
|     types:
 | |
|     - published
 | |
| 
 | |
| jobs:
 | |
|   # This builds the sdists and wheels and makes sure the files are exactly as
 | |
|   # expected. Using Windows and Python 2.7, since that is often the most
 | |
|   # challenging matrix element.
 | |
|   test-packaging:
 | |
|     name: 🐍 2.7 • 📦 tests • windows-latest
 | |
|     runs-on: windows-latest
 | |
| 
 | |
|     steps:
 | |
|     - uses: actions/checkout@v2
 | |
| 
 | |
|     - name: Setup 🐍 2.7
 | |
|       uses: actions/setup-python@v2
 | |
|       with:
 | |
|         python-version: 2.7
 | |
| 
 | |
|     - name: Prepare env
 | |
|       run: python -m pip install -r tests/requirements.txt --prefer-binary
 | |
| 
 | |
|     - name: Python Packaging tests
 | |
|       run: pytest tests/extra_python_package/
 | |
| 
 | |
| 
 | |
|   # This runs the packaging tests and also builds and saves the packages as
 | |
|   # artifacts.
 | |
|   packaging:
 | |
|     name: 🐍 3.8 • 📦 & 📦 tests • ubuntu-latest
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     steps:
 | |
|     - uses: actions/checkout@v2
 | |
| 
 | |
|     - name: Setup 🐍 3.8
 | |
|       uses: actions/setup-python@v2
 | |
|       with:
 | |
|         python-version: 3.8
 | |
| 
 | |
|     - name: Prepare env
 | |
|       run: python -m pip install -r tests/requirements.txt build twine --prefer-binary
 | |
| 
 | |
|     - name: Python Packaging tests
 | |
|       run: pytest tests/extra_python_package/
 | |
| 
 | |
|     - name: Build SDist and wheels
 | |
|       run: |
 | |
|         python -m build
 | |
|         PYBIND11_GLOBAL_SDIST=1 python -m build        
 | |
| 
 | |
|     - name: Check metadata
 | |
|       run: twine check dist/*
 | |
| 
 | |
|     - name: Save standard package
 | |
|       uses: actions/upload-artifact@v2
 | |
|       with:
 | |
|         name: standard
 | |
|         path: dist/pybind11-*
 | |
| 
 | |
|     - name: Save global package
 | |
|       uses: actions/upload-artifact@v2
 | |
|       with:
 | |
|         name: global
 | |
|         path: dist/pybind11_global-*
 | |
| 
 | |
| 
 | |
| 
 | |
|   # When a GitHub release is made, upload the artifacts to PyPI
 | |
|   upload:
 | |
|     name: Upload to PyPI
 | |
|     runs-on: ubuntu-latest
 | |
|     if: github.event_name == 'release' && github.event.action == 'published'
 | |
|     needs: [packaging]
 | |
| 
 | |
|     steps:
 | |
|     - uses: actions/setup-python@v2
 | |
| 
 | |
|     # Downloads all to directories matching the artifact names
 | |
|     - uses: actions/download-artifact@v2
 | |
| 
 | |
|     - name: Publish standard package
 | |
|       uses: pypa/gh-action-pypi-publish@v1.4.1
 | |
|       with:
 | |
|         password: ${{ secrets.pypi_password }}
 | |
|         packages_dir: standard/
 | |
| 
 | |
|     - name: Publish global package
 | |
|       uses: pypa/gh-action-pypi-publish@v1.4.1
 | |
|       with:
 | |
|         password: ${{ secrets.pypi_password_global }}
 | |
|         packages_dir: global/
 |