Add release.py script for making releases and add documentation for this.

This commit is contained in:
ibu ☉ radempa 2020-12-31 16:27:02 +00:00
parent e4daeb15d2
commit ec1725c507
2 changed files with 47 additions and 4 deletions

View File

@ -13,7 +13,6 @@ Environment:
## Release process
cd REPO_ROOT
VERSION="1.1.0"
cd theanarchistlibrary_store
zip ../releases/theanarchistlibrary_store_v${VERSION}.zip *
Edit the version in theanarchistlibrary_store/__init__.py and
in the repo root call
./release.py

44
release.py Executable file
View File

@ -0,0 +1,44 @@
#!/usr/bin/env python3
import glob
import os
from zipfile import ZipFile
dir_path = os.path.dirname(os.path.realpath(__file__))
def get_version():
path = os.path.join(
dir_path,
'theanarchistlibrary_store',
'__init__.py',
)
with open(path, 'r') as file:
lines = file.read().split('\n')
for line in lines:
line_ = line.lower().strip()
if line_.startswith('version = '):
parts = line_[10:].lstrip('(').rstrip(')').split(',')
numbers = [int(part) for part in parts]
return '{}.{}.{}'.format(*numbers)
def release():
version = get_version()
tgt_fn = f'theanarchistlibrary_store_v{version}.zip'
tgt_path = os.path.join(dir_path, 'releases', tgt_fn)
src_glob = os.path.join(
dir_path,
'theanarchistlibrary_store',
'**',
)
with ZipFile(tgt_path, 'w') as zip:
for path in glob.glob(src_glob, recursive=True):
arcname = path[(len(src_glob) - 2):]
if arcname:
zip.write(path, arcname=arcname)
if __name__ == '__main__':
release()