mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-04 09:32:00 +00:00 
			
		
		
		
	gguf : add workflow for Pypi publishing
This commit is contained in:
		
							
								
								
									
										43
									
								
								.github/workflows/gguf-publish.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/gguf-publish.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					# This workflow will upload a Python Package using Twine when a GGUF release is created
 | 
				
			||||||
 | 
					# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# See `gguf-py/README.md` for how to make a release.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# This workflow uses actions that are not certified by GitHub.
 | 
				
			||||||
 | 
					# They are provided by a third-party and are governed by
 | 
				
			||||||
 | 
					# separate terms of service, privacy policy, and support
 | 
				
			||||||
 | 
					# documentation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					name: Upload Python Package
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    # Pattern matched against refs/tags
 | 
				
			||||||
 | 
					    tags:
 | 
				
			||||||
 | 
					      - 'gguf-v*'           # Push events to every version tag
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  deploy:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - uses: actions/checkout@v2
 | 
				
			||||||
 | 
					    - name: Set up Python
 | 
				
			||||||
 | 
					      uses: actions/setup-python@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        python-version: '3.9.x'
 | 
				
			||||||
 | 
					    - name: Install dependencies
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        cd gguf-py
 | 
				
			||||||
 | 
					        python -m pip install poetry
 | 
				
			||||||
 | 
					        poetry install
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
 | 
					    - name: Build package
 | 
				
			||||||
 | 
					      run: poetry build
 | 
				
			||||||
 | 
					    - name: Publish package
 | 
				
			||||||
 | 
					      uses: pypa/gh-action-pypi-publish@release/v1
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        password: ${{ secrets.PYPI_API_TOKEN }}
 | 
				
			||||||
@@ -27,8 +27,25 @@ In this case, upgrade Pip to the latest:
 | 
				
			|||||||
pip install --upgrade pip
 | 
					pip install --upgrade pip
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Publishing
 | 
					## Automatic publishing with CI
 | 
				
			||||||
To publish the package, you need to have `twine` and `build` installed:
 | 
					
 | 
				
			||||||
 | 
					There's a GitHub workflow to make a release automatically upon creation of tags in a specified format.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. Bump the version in `pyproject.toml`.
 | 
				
			||||||
 | 
					2. Create a tag named `gguf-vx.x.x` where `x.x.x` is the semantic version number.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					git tag -a v1.0.0 -m "Version 1.0 release"
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3. Push the tags.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					git push origin --tags
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Manual publishing
 | 
				
			||||||
 | 
					If you want to publish the package manually for any reason, you need to have `twine` and `build` installed:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
pip install build twine
 | 
					pip install build twine
 | 
				
			||||||
@@ -36,7 +53,7 @@ pip install build twine
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Then, folow these steps to release a new version:
 | 
					Then, folow these steps to release a new version:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
1. Update the version in `pyproject.toml`.
 | 
					1. Bump the version in `pyproject.toml`.
 | 
				
			||||||
2. Build the package:
 | 
					2. Build the package:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user