parent
8d8fabdf74
commit
a3d62b6bae
|
@ -9,7 +9,7 @@ description="Build release packages for pyqtgraph."
|
||||||
epilog = """
|
epilog = """
|
||||||
Package build is done in several steps:
|
Package build is done in several steps:
|
||||||
|
|
||||||
* Attempt to clone branch release-x.y.z from %s
|
* Attempt to clone branch release-x.y.z from source-repo
|
||||||
* Merge release branch into master
|
* Merge release branch into master
|
||||||
* Write new version numbers into the source
|
* Write new version numbers into the source
|
||||||
* Roll over unreleased CHANGELOG entries
|
* Roll over unreleased CHANGELOG entries
|
||||||
|
@ -37,9 +37,12 @@ Building deb packages requires several dependencies:
|
||||||
* python-all, python3-all
|
* python-all, python3-all
|
||||||
* python-stdeb, python3-stdeb
|
* python-stdeb, python3-stdeb
|
||||||
|
|
||||||
Building windows .exe files should be possible on any OS. Note, however, that
|
Note: building windows .exe files should be possible on any OS. However,
|
||||||
Debian/Ubuntu systems do not include the necessary wininst*.exe files; these
|
Debian/Ubuntu systems do not include the necessary wininst*.exe files; these
|
||||||
must be manually copied from the Python source.
|
must be manually copied from the Python source to the distutils/command
|
||||||
|
submodule path (/usr/lib/pythonX.X/distutils/command). Additionally, it may be
|
||||||
|
necessary to rename (or copy / link) wininst-9.0-amd64.exe to
|
||||||
|
wininst-6.0-amd64.exe.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -152,7 +155,7 @@ def build(args):
|
||||||
# Build windows executables
|
# Build windows executables
|
||||||
cd {build_dir}/pyqtgraph
|
cd {build_dir}/pyqtgraph
|
||||||
python setup.py build bdist_wininst --plat-name=win32
|
python setup.py build bdist_wininst --plat-name=win32
|
||||||
python setup.py build bdist_wininst
|
python setup.py build bdist_wininst --plat-name=win-amd64
|
||||||
cp dist/*.exe {pkg_dir}
|
cp dist/*.exe {pkg_dir}
|
||||||
""".format(**args.__dict__))
|
""".format(**args.__dict__))
|
||||||
args.exe_status = 'built'
|
args.exe_status = 'built'
|
||||||
|
|
|
@ -3,26 +3,29 @@ PyQtGraph Release Procedure
|
||||||
|
|
||||||
1. Create a release-x.x.x branch
|
1. Create a release-x.x.x branch
|
||||||
|
|
||||||
2. Run build-pg-release script
|
2. Run pyqtgraph/tools/pg-release.py script (this has only been tested on linux)
|
||||||
- creates clone of master
|
- creates clone of master
|
||||||
- merges release branch into master
|
- merges release branch into master
|
||||||
- updates version numbers in code
|
- updates version numbers in code
|
||||||
- creates pyqtgraph-x.x.x tag
|
- creates pyqtgraph-x.x.x tag
|
||||||
- creates release commit
|
- creates release commit
|
||||||
- builds source dist
|
- builds documentation
|
||||||
- test pip install
|
- builds source package
|
||||||
- builds windows dists
|
- tests pip install
|
||||||
- builds deb dist
|
- builds windows .exe installers (note: it may be necessary to manually
|
||||||
|
copy wininst*.exe files from the python source packages)
|
||||||
|
- builds deb package (note: official debian packages are built elsewhere;
|
||||||
|
these locally-built deb packages may be phased out)
|
||||||
|
|
||||||
3. test build files
|
3. test build files
|
||||||
- test setup.py, pip on OSX
|
- test setup.py, pip on OSX
|
||||||
- test setup.py, pip, 32/64 exe on windows
|
- test setup.py, pip, 32/64 exe on windows
|
||||||
- test setup.py, pip, deb on linux (py2, py3)
|
- test setup.py, pip, deb on linux (py2, py3)
|
||||||
|
|
||||||
4. Run upload-release script
|
4. Run pg-release.py script again with --publish flag
|
||||||
- pip upload
|
|
||||||
- github push + release
|
|
||||||
- website upload
|
- website upload
|
||||||
|
- github push + release
|
||||||
|
- pip upload
|
||||||
|
|
||||||
5. publish
|
5. publish
|
||||||
- update website
|
- update website
|
||||||
|
|
|
@ -11,19 +11,19 @@ def shell(cmd):
|
||||||
for line in cmd.split('\n'):
|
for line in cmd.split('\n'):
|
||||||
line = line.strip()
|
line = line.strip()
|
||||||
if line.startswith('#'):
|
if line.startswith('#'):
|
||||||
print '\033[33m> ' + line + '\033[0m'
|
print('\033[33m> ' + line + '\033[0m')
|
||||||
else:
|
else:
|
||||||
print '\033[32m> ' + line + '\033[0m'
|
print('\033[32m> ' + line + '\033[0m')
|
||||||
if line.startswith('cd '):
|
if line.startswith('cd '):
|
||||||
os.chdir(line[3:])
|
os.chdir(line[3:])
|
||||||
proc.stdin.write(line + '\n')
|
proc.stdin.write((line + '\n').encode('utf-8'))
|
||||||
proc.stdin.write('echo $? 1>&%d\n' % pout)
|
proc.stdin.write(('echo $? 1>&%d\n' % pout).encode('utf-8'))
|
||||||
ret = ""
|
ret = ""
|
||||||
while not ret.endswith('\n'):
|
while not ret.endswith('\n'):
|
||||||
ret += os.read(pin, 1)
|
ret += os.read(pin, 1)
|
||||||
ret = int(ret.strip())
|
ret = int(ret.strip())
|
||||||
if ret != 0:
|
if ret != 0:
|
||||||
print "Error, bailing out."
|
print("\033[31mLast command returned %d; bailing out.\033[0m" % ret)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
proc.stdin.close()
|
proc.stdin.close()
|
||||||
proc.wait()
|
proc.wait()
|
||||||
|
|
Loading…
Reference in New Issue