mirror of
				https://github.com/KevinMidboe/python-gpiozero.git
				synced 2025-10-29 17:50:37 +00:00 
			
		
		
		
	Implement native Debian packaging (control files are part of the source repo) with Makefile to simplify the release procedure.
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
=================
 | 
						|
Release Procedure
 | 
						|
=================
 | 
						|
 | 
						|
On your build Pi, perform the following steps:
 | 
						|
 | 
						|
1. Ensure you have a reliable Internet connection (preferably Ethernet).
 | 
						|
 | 
						|
2. Ensure you have the following Debian packages installed: ``devscripts, dput,
 | 
						|
   python-all, python3-all, gnupg, build-essential, git, python-setuptools,
 | 
						|
   python3-setuptools, python-rpi.gpio, python3-rpi.gpio``
 | 
						|
 | 
						|
3. Ensure you have a valid ``~/.pypirc`` configuration. For example::
 | 
						|
 | 
						|
       [distutils]
 | 
						|
       index-servers =
 | 
						|
           pypi
 | 
						|
 | 
						|
       [pypi]
 | 
						|
       username:my_username
 | 
						|
       password:my_long_password
 | 
						|
 | 
						|
4. Ensure you have a valid ``~/.dput.cf`` setup which includes the
 | 
						|
   ``[raspberrypi]`` target. For example::
 | 
						|
 | 
						|
       [raspberrypi]
 | 
						|
       fqdn = build-master.raspberrypi.org
 | 
						|
       incoming = incoming
 | 
						|
       login = incoming
 | 
						|
       method = scp
 | 
						|
 | 
						|
5. Ensure you have a valid public/private key-pair defined for GNUPG.
 | 
						|
 | 
						|
6. In the ``python-gpiozero`` directory, run ``make release``. This will launch
 | 
						|
   ``dch`` to update the Debian changelog. Fill this out properly (ticket
 | 
						|
   references!) and the release will be generated, tagged, signed, and
 | 
						|
   registered with GitHub and PyPI.
 | 
						|
 | 
						|
   .. note::
 | 
						|
 | 
						|
       Although the release has been registered at this point, no packages
 | 
						|
       have been generated or uploaded to any service.
 | 
						|
 | 
						|
7. Still in the ``python-gpiozero`` directory, run ``make upload``. This will
 | 
						|
   generate the actual debian packages, upload them to Raspbian, and upload
 | 
						|
   the source package to PyPI.
 | 
						|
 | 
						|
8. On GitHub, close any milestone associated with the release.
 | 
						|
 | 
						|
9. On ReadTheDocs, update the project configuration to build the new release,
 | 
						|
   then set it to the default version for the project.
 |