diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2020-01-01 09:53:22 -0700 |
---|---|---|
committer | Charles Harris <charlesr.harris@gmail.com> | 2020-01-01 09:53:22 -0700 |
commit | 4cd613a7dc3030a315ff04fcf7a93dcc5d83451d (patch) | |
tree | 4ddb18a9fbf6f0668a12e8725a28f87a81a0f7e7 | |
parent | 648fe68f79dfbad21947db4b55873703db0675c4 (diff) | |
download | numpy-maintenance/1.17.x.tar.gz |
REL: Prepare 1.17.x for further developmentmaintenance/1.17.x
-rw-r--r-- | doc/release/1.17.6-notes.rst | 45 | ||||
-rw-r--r-- | doc/source/release.rst | 1 | ||||
-rw-r--r-- | pavement.py | 65 | ||||
-rwxr-xr-x | setup.py | 2 |
4 files changed, 84 insertions, 29 deletions
diff --git a/doc/release/1.17.6-notes.rst b/doc/release/1.17.6-notes.rst new file mode 100644 index 000000000..41bd49596 --- /dev/null +++ b/doc/release/1.17.6-notes.rst @@ -0,0 +1,45 @@ +.. currentmodule:: numpy + +========================== +NumPy 1.17.6 Release Notes +========================== + + +Highlights +========== + + +New functions +============= + + +Deprecations +============ + + +Future Changes +============== + + +Expired deprecations +==================== + + +Compatibility notes +=================== + + +C API changes +============= + + +New Features +============ + + +Improvements +============ + + +Changes +======= diff --git a/doc/source/release.rst b/doc/source/release.rst index febc96dc5..a5e98d65c 100644 --- a/doc/source/release.rst +++ b/doc/source/release.rst @@ -2,6 +2,7 @@ Release Notes ************* +.. include:: ../release/1.17.6-notes.rst .. include:: ../release/1.17.5-notes.rst .. include:: ../release/1.17.4-notes.rst .. include:: ../release/1.17.3-notes.rst diff --git a/pavement.py b/pavement.py index 427fbc96d..d4d6892df 100644 --- a/pavement.py +++ b/pavement.py @@ -12,8 +12,7 @@ Assumes you have git and the binaries/tarballs in installers/:: paver write_release paver write_note -This automatically put the checksum into README.rst, and write the Changelog -which can be uploaded to sourceforge. +This automatically put the checksum into README.rst, and writes the Changelog. TODO ==== @@ -42,7 +41,7 @@ from paver.easy import Bunch, options, task, sh #----------------------------------- # Path to the release notes -RELEASE_NOTES = 'doc/release/1.17.5-notes.rst' +RELEASE_NOTES = 'doc/release/1.17.6-notes.rst' #------------------------------------------------------- @@ -183,6 +182,18 @@ def compute_sha256(idirs): def write_release_task(options, filename='README'): """Append hashes of release files to release notes. + This appends file hashes to the release notes ane creates + four README files of the result in various formats: + + - README.rst + - README.rst.gpg + - README.md + - README.md.gpg + + The md file are created using `pandoc` so that the links are + properly updated. The gpg files are kept separate, so that + the unsigned files may be edited before signing if needed. + Parameters ---------- options : @@ -193,46 +204,44 @@ def write_release_task(options, filename='README'): """ idirs = options.installers.installersdir - source = paver.path.path(RELEASE_NOTES) - target = paver.path.path(filename + '.rst') - if target.exists(): - target.remove() + notes = paver.path.path(RELEASE_NOTES) + rst_readme = paver.path.path(filename + '.rst') + md_readme = paver.path.path(filename + '.md') - tmp_target = paver.path.path(filename + '.md') - source.copy(tmp_target) + # append hashes + with open(rst_readme, 'w') as freadme: + with open(notes) as fnotes: + freadme.write(fnotes.read()) - with open(str(tmp_target), 'a') as ftarget: - ftarget.writelines(""" + freadme.writelines(""" Checksums ========= MD5 --- +:: """) - ftarget.writelines([' %s\n' % c for c in compute_md5(idirs)]) - ftarget.writelines(""" + freadme.writelines([f' {c}\n' for c in compute_md5(idirs)]) + freadme.writelines(""" SHA256 ------ +:: """) - ftarget.writelines([' %s\n' % c for c in compute_sha256(idirs)]) + freadme.writelines([f' {c}\n' for c in compute_sha256(idirs)]) - # Sign release - cmd = ['gpg', '--clearsign', '--armor'] + # generate md file using pandoc before signing + sh(f"pandoc -s -o {md_readme} {rst_readme}") + + # Sign files if hasattr(options, 'gpg_key'): - cmd += ['--default-key', options.gpg_key] - cmd += ['--output', str(target), str(tmp_target)] - subprocess.check_call(cmd) - print("signed %s" % (target,)) - - # Change PR links for github posting, don't sign this - # as the signing isn't markdown compatible. - with open(str(tmp_target), 'r') as ftarget: - mdtext = ftarget.read() - mdtext = re.sub(r'^\* `(\#[0-9]*).*?`__', r'* \1', mdtext, flags=re.M) - with open(str(tmp_target), 'w') as ftarget: - ftarget.write(mdtext) + cmd = f'gpg --clearsign --armor --default_key {options.gpg_key}' + else: + cmd = 'gpg --clearsign --armor' + + sh(cmd + f' --output {rst_readme}.gpg {rst_readme}') + sh(cmd + f' --output {md_readme}.gpg {md_readme}') @task @@ -56,7 +56,7 @@ Operating System :: MacOS MAJOR = 1 MINOR = 17 -MICRO = 5 +MICRO = 6 ISRELEASED = True VERSION = '%d.%d.%d' % (MAJOR, MINOR, MICRO) |