Выпуск версии
Как подготовить выпуск
Этот файл предоставляет обзор того, что необходимо для создания бинарных выпусков NumPy.
Текущая информация о сборке и выпуске
Текущая информация о сборке и выпуске NumPy и SciPy разбросана по нескольким местам. Она должна быть обобщена в одном месте, обновлена и, при необходимости, описана более подробно. Разделы ниже перечисляют все места, где можно найти полезную информацию.
Дерево исходного кода
- INSTALL.rst.txt
- release.sh
- pavement.py
Документация NumPy
- https://github.com/numpy/numpy/blob/master/doc/HOWTO_RELEASE.rst.txt
- http://projects.scipy.org/numpy/wiki/MicrosoftToolchainSupport (недействующая ссылка)
Вики SciPy.org
- https://www.scipy.org/Installing_SciPy и ссылки на этой странице.
- http://new.scipy.org/building/windows.html (недействующая ссылка)
Вики документации
- http://docs.scipy.org/numpy/docs/numpy-docs/user/install.rst/ (недействующая ссылка)
Скрипты выпуска
Поддерживаемые платформы и версии
Python 2.7 и >=3.4 являются поддерживаемыми версиями при сборке из исходного кода. Мы тестируем NumPy со всеми этими версиями каждый раз, когда мы объединяем код в ветвь master. Бинарные установщики могут быть доступны для подмножества этих версий (см. ниже).
OS X
Python 2.7 и >=3.4 — это версии, для которых мы предоставляем бинарные установщики. Поддерживаются версии OS X >= 10.6. Мы собираем бинарные wheel для OSX, совместимые с Python с Python.org, системным Python, homebrew и macports — см. этот сводный отчет о сборке wheel для OSX для получения подробностей.
Windows
Мы собираем 32- и 64-разрядные wheel для Python 2.7, 3.4, 3.5 на Windows. Поддерживаются Windows XP, Vista, 7, 8 и 10. Мы собираем NumPy с помощью компиляторов MSVC на Appveyor, но надеемся обновить до инструментария mingw-w64. Windows wheel используют ATLAS для BLAS/LAPACK.
Linux
Мы собираем и поставляем manylinux1 wheel для NumPy. Многие дистрибутивы Linux включают свои собственные бинарные сборки NumPy.
BSD/Solaris
Бинарные файлы не предоставляются, но были сообщения об успешной сборке на Solaris и BSD.
Инструментарий
Мы собираем все наши wheel в облачной инфраструктуре — поэтому этот список компиляторов предназначен для информации и отладки сборок локально. См. скрипты .travis.yml и appveyor.yml в репозитории numpy wheel для окончательного источника рецептов сборки. Пакеты, доступные с помощью pip, отмечены.
Компиляторы
Используется та же версия gcc, что и для сборки самого Python на каждой платформе. В настоящее время это означает:
- Сборки OS X на travis в настоящее время используют
clang. Похоже, что бинарные wheel для OSX >= 10.6 могут быть безопасно собраны из виртуальных машин travis-ci OSX 10.9 при сборке с Python из установщиков Python.org; - Сборки Windows используют версию MSVC, соответствующую версии Python, для которой они собираются;
- Manylinux1 wheel используют gcc, предоставленный в образах Docker Manylinux.
Для сборки бинарных файлов вам понадобится Cython. Cython компилирует файлы .pyx в дистрибутиве NumPy в файлы .c.
Сборка исходных архивов и wheel
Вам потребуется право записи для numpy-wheels, чтобы инициировать сборку wheel.
- Python(ы) с python.org или дистрибутива Linux.
- cython (pip)
- virtualenv (pip)
- Paver (pip)
- pandoc pandoc.org или дистрибутива Linux.
- numpy-wheels https://github.com/MacPython/numpy-wheels (клонировать)
Сборка документации
Для сборки документов требуется ряд файлов latex .sty. Установите их все, чтобы избежать проблем.
- Sphinx (pip)
- numpydoc (pip)
- Matplotlib
- Texlive (или MikTeX на Windows)
Загрузка на PyPI
- terryfy https://github.com/MacPython/terryfy (клонировать).
- beautifulsoup4 (pip)
- delocate (pip)
- auditwheel (pip)
- twine (pip)
Генерация списков авторов/PR
Вам потребуется персональный токен доступа https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/, чтобы скрипты могли получить доступ к репозиторию NumPy в github.
- gitpython (pip)
- pygithub (pip)
Virtualenv
Virtualenv — очень полезный инструмент для хранения нескольких версий пакетов. Он также используется в скрипте Paver для сборки документации.
Что выпущено
Wheels
- Windows wheel для Python 2.7, 3.4, 3.5, для 32- и 64-разрядных систем, собранные с помощью Appveyor;
- Wheel с двойной архитектурой для OSX, собранные с помощью travis-ci;
- 32- и 64-разрядные Manylinux1 wheel, собранные с помощью travis-ci.
Дополнительные сведения см. в репозитории по сборке numpy wheel.
Другие
- Заметки к выпуску
- Журнал изменений
Распространение исходных кодов
Мы собираем исходные выпуски в форматах .zip и .tar.gz.
Процесс выпуска
Согласование графика выпуска
Типичный график выпуска включает одну бета-версию, две кандидатские версии релиза и окончательный релиз. Сначала лучше обсудить время на списке рассылки, чтобы люди успели внести свои коммиты вовремя, получить изменения в вики документации и т. д. После того, как дата будет установлена, создайте новую ветвь maintenance/x.y.z, добавьте новые пустые заметки к выпуску для следующей версии в ветвь master и обновите этапы Trac Milestones.
Убедитесь, что текущая ветвь корректно собирает пакет
git clean -fxd python setup.py bdist python setup.py sdist
Чтобы фактически собрать бинарные файлы после правильной настройки всего, можно использовать скрипт release.sh. Для получения подробностей о процессе сборки лучше прочитать скрипт pavement.py.
Примечание
Следующие шаги повторяются для бета-версий, кандидатских версий релиза и окончательного релиза.
Проверьте устаревшие функции
Перед созданием ветви релиза необходимо проверить, что весь устаревший код, который должен быть удален, действительно удален, а все новые устаревшие функции указывают в строке документации или предупреждении об устаревании, в какой версии код будет удален.
Проверьте номер версии C API
Номер версии C API необходимо отслеживать в трех местах:
- numpy/core/setup_common.py
- numpy/core/code_generators/cversions.txt
- numpy/core/include/numpy/numpyconfig.h
Процесс включает три шага.
- Если API изменился, увеличьте C_API_VERSION в setup_common.py. API не изменяется только в том случае, если любой код, скомпилированный с использованием текущего API, будет обратной совместим с последней выпущенной версией NumPy. Любые изменения в C-структурах или добавления в публичный интерфейс сделают новый API не обратной совместимым.
-
Если C_API_VERSION на первом шаге изменился или если хеш API изменился, файл cversions.txt необходимо обновить. Чтобы проверить хеш, запустите скрипт numpy/core/cversions.py и запишите хеш API, который он выводит. Если этот хеш не совпадает с последним хешем в файле numpy/core/code_generators/cversions.txt, то хеш изменился. Используя соответствующие C_API_VERSION и хеш, добавьте новую запись в cversions.txt. Если версия API не изменилась, но хеш отличается, вам необходимо закомментировать предыдущую запись для этой версии API. Например, в NumPy 1.9 были добавлены аннотации, которые изменили хеш, но API был таким же, как и в 1.8. Хеш служит проверкой на изменения API, но не является окончательным.
Если шаги 1 и 2 выполнены правильно, сборка релиза не должна выдавать предупреждение "API mismatch detect at the beginning of the build".
- В файле numpy/core/include/numpy/numpyconfig.h понадобится новая макрос NPY_X_Y_API_VERSION, где X и Y — номера основной и дополнительной версии выпуска. Значение этой макросы необходимо увеличивать только от предыдущей версии, если некоторые функции или макросы в файлах заголовков были устаревшими.
Номер версии C ABI в numpy/core/setup_common.py следует обновлять только для выпуска новой версии.
Проверьте заметки к выпуску
Используйте towncrier для создания заметок к выпуску и внесения изменений. Это удалит все фрагменты из doc/release/upcoming_changes и добавит doc/release/<version>-note.rst. Обратите внимание, что в настоящее время towncrier необходимо устанавливать с основной ветки, так как последняя версия (19.2.0) устарела.
towncrier –version “<version>” git commit -m”Create release note”
Проверьте, что заметки к выпуску актуальны.
Обновите заметки к выпуску с разделом «Основные моменты». Укажите некоторые из следующих пунктов:
- Основные новые функции
- Устаревшие и удаленные функции
- Поддерживаемые версии Python
- Для SciPy, поддерживаемые версии NumPy
- Перспективы на ближайшее будущее
Обновите статус выпуска и создайте тег выпуска
Определите хеш коммита выпуска, например 1b2e1d63ff.
- ::
-
git co 1b2e1d63ff # выводит предупреждение о detached head
Сначала измените/проверьте следующие переменные в pavement.py в зависимости от версии выпуска:
RELEASE_NOTES = 'doc/release/1.7.0-notes.rst' LOG_START = 'v1.6.0' LOG_END = 'maintenance/1.7.x'
Выполните другие изменения. Когда вы будете готовы к выпуску, выполните следующие изменения:
diff --git a/setup.py b/setup.py index b1f53e3..8b36dbe 100755 --- a/setup.py +++ b/setup.py @@ -57,7 +57,7 @@ PLATFORMS = ["Windows", "Linux", "Solaris", "Mac OS- MAJOR = 1 MINOR = 7 MICRO = 0 -ISRELEASED = False +ISRELEASED = True VERSION = '%d.%d.%drc1' % (MAJOR, MINOR, MICRO) # Return the git revision as a string
И убедитесь, что переменная VERSION установлена правильно.
Теперь вы можете сделать коммит и тег выпуска. Мы рекомендуем вам не отправлять коммит или тег сразу же, на случай, если вам нужно сделать дополнительную очистку. Мы предпочитаем отложить отправку тега до тех пор, пока мы не уверены, что это именно та форма выпущенного кода (см.: Отправить тег и коммит выпуска):
git commit -s -m “REL: Выпуск.” setup.py git tag -s <version>
Флаг -s создает подписанный тег PGP (обычно GPG). Пожалуйста, подписывайте теги выпуска.
Тег выпуска должен содержать номер версии в аннотации (сообщении тега). К сожалению, имя тега может быть изменено без нарушения подписи, но содержимое сообщения нельзя изменять.
См.: https://github.com/scipy/scipy/issues/4919 для обсуждения подписи тегов выпуска и https://keyring.debian.org/creating-key.html для получения инструкций по созданию ключа GPG, если у вас его нет.
Чтобы ваш ключ легче было идентифицировать, рассмотрите возможность отправки вашего ключа на публичные серверы ключей, используя команду, такую как:
gpg --send-keys <yourkeyid>
Применить исправление для исправления ложных размеров шагов
NPY_RELAXED_STRIDE_CHECKING стал значением по умолчанию в NumPy 1.10.0, и ложные размеры шагов используются в ветке разработки для выявления проблем. Необходимо обновить исправление patch, если это необходимо, и применить его к ветке выпуска, чтобы рационализировать размеры шагов.
Обновить версию ветки master
Увеличьте номер выпуска в setup.py. Предоставления кандидатов должны иметь «rc1» (или «rc2», «rcN») добавлены к формату X.Y.Z.
Также создайте новый хэш версии в cversions.txt и соответствующее определение версии NPY_x_y_API_VERSION в numpyconfig.h
Запустить сборку колес на travis-ci и Appveyor
См. numpy wheels репозиторий.
В этом репозитории отредактируйте файлы:
-
.travis.yml; -
appveyor.yml.
В обоих случаях установите переменную BUILD_COMMIT на текущий тег выпуска — например, v1.11.1.
Убедитесь, что тег выпуска был отправлен.
Запустите сборку, выполнив коммит ваших правок в .travis.yml и appveyor.yml в репозитории:
cd /path/to/numpy-wheels # Edit .travis.yml, appveyor.yml git commit git push
Колеса, после сборки, появляются в контейнере Rackspace, указанном по адресу:
- http://wheels.scipy.org
- https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com
Адрес HTTP может обновиться первым, и вам следует подождать 15 минут после завершения сборки перед получением бинарных файлов.
Выпустить релиз
Сгенерируйте изменения и заметки для загрузки с помощью:
paver write_release
Сборка и архивирование документации
Выполните:
cd doc/ make dist
чтобы проверить, что документация находится в состоянии, пригодном для сборки. Затем, после создания тега, создайте архив документации в репозитории numpy/doc:
# This checks out github.com/numpy/doc and adds (``git add``) the # documentation to the checked out repo. make merge-doc # Now edit the ``index.html`` file in the repo to reflect the new content, # and commit the changes git -C dist/merge commit -a "Add documentation for <version>" # Push to numpy/doc repo git -C push
Обновить PyPI
Колеса и исходные файлы должны быть загружены на PyPI.
Вам следует сначала загрузить колеса, а затем исходные форматы, чтобы убедиться, что пользователи pip случайно не получат установку исходных файлов, когда ожидали бинарные колеса.
Вы можете сделать это автоматически, используя скрипт wheel-uploader из https://github.com/MacPython/terryfy. Вот рекомендуемая команда для загрузки всех колес Windows, Manylinux, OSX и загрузки на PyPI.
NPY_WHLS=~/wheelhouse # local directory to cache wheel downloads CDN_URL=https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com wheel-uploader -u $CDN_URL -w $NPY_WHLS -v -s -t win numpy 1.11.1rc1 wheel-uploader -u $CDN_URL -w warehouse -v -s -t macosx numpy 1.11.1rc1 wheel-uploader -u $CDN_URL -w warehouse -v -s -t manylinux1 numpy 1.11.1rc1
Флаг -v предоставляет подробную обратную связь, -s заставляет скрипт подписывать колеса с помощью вашего ключа GPG перед загрузкой. Не забудьте загрузить колеса перед исходным tar-архивом, чтобы не было периода, в течение которого люди переключаются с ожидаемой бинарной установки на установку исходного кода с PyPI.
Существует два способа обновления выпуска исходного кода на PyPI, первый из них:
$ git clean -fxd # to be safe $ python setup.py sdist --formats=gztar,zip # to check # python setup.py sdist --formats=gztar,zip upload --sign
Это запросит вашу фразу пароля к ключу PGP для подписи скомпилированных исходных пакетов.
Второй способ — загрузить файл PKG_INFO внутри каталога sdist в веб-интерфейсе PyPI. Исходный tar-архив также можно загрузить через этот интерфейс.
Отправить тег и коммит выпуска
Наконец, теперь, когда вы уверены, что этот тег правильно определяет исходный код, который вы выпустили, вы можете отправить тег и коммит выпуска в github:
git push # Push release commit git push upstream <version> # Push tag named <version>
где upstream указывает на основной репозиторий https://github.com/numpy/numpy.git.
Обновить scipy.org
Объявление о выпуске с ссылкой на сайт загрузки должно быть размещено на боковой панели главной страницы scipy.org.
scipy.org должен быть PR в https://github.com/scipy/scipy.org. Файл, который нужно изменить, это www/index.rst. Найдите News.
Оповещение списков рассылки
О выпуске следует сообщить в списках рассылки NumPy и SciPy, в python-announce, а возможно, также в списках рассылки Matplotlib, IPython и/или Pygame.
Во время этапа бета-тестирования/RC необходимо опубликовать явное обращение к тестированию бинарных файлов с несколькими другими библиотеками (SciPy/Matplotlib/Pygame) на списке рассылки.
Оповестить Linux Weekly News
Отправьте электронное письмо редактору LWN, чтобы сообщить ему о выпуске. Инструкции по адресу: https://lwn.net/op/FAQ.lwn#contact
После окончательного выпуска
После объявления окончательного выпуска остаются несколько административных задач:
- Переместить изменения из ветки выпуска в заметки к выпуску и скрипты выпуска, если таковые имеются, в ветку master.
- Обновить этапы в Trac.
Пошаговые инструкции
Этот файл содержит пошаговое руководство по выпуску NumPy 1.14.5 на Linux. Команды можно скопировать в командную строку, но убедитесь, что вы заменяете 1.14.5 на правильную версию.
Пошаговое руководство по выпуску
Обратите внимание, что в фрагментах кода ниже upstream относится к корневому репозиторию на github, а origin к вилке в вашем личном аккаунте. Вам может потребоваться внести коррективы, если вы не создавали вилку репозитория, а просто клонировали его локально. Вы также можете отредактировать .git/config и добавить upstream, если оно еще не присутствует.
Обратный порт запросов на вытягивание
Изменения, отмеченные для этого выпуска, должны быть обратным портом в ветку maintenance/1.14.x.
Обновление документации выпуска
Файл doc/changelog/1.14.5-changelog.rst должен быть обновлён, чтобы отразить окончательный список изменений и авторов. Этот текст можно сгенерировать с помощью:
$ python tools/changelog.py $GITHUB v1.14.4..maintenance/1.14.x > doc/changelog/1.14.5-changelog.rst
где GITHUB содержит ваш токен доступа к github. Этот текст также может быть добавлен к doc/release/1.14.5-notes.rst для обновлений выпуска, но не для новых релизов, таких как 1.14.0, так как списки изменений для релизов *.0 имеют тенденцию быть чрезмерно длинными. Файл doc/source/release.rst также должен быть обновлён с ссылкой на новые заметки к выпуску. Эти изменения должны быть внесены в ветку maintenance, а затем перенесены в ветку master.
Завершение заметки к релизу
Заполните заметку к релизу doc/release/1.14.5-notes.rst, указав ключевые изменения.
Подготовка коммита выпуска
Переключитесь на ветку для выпуска, убедитесь, что она обновлена, и очистите репозиторий:
$ git checkout maintenance/1.14.x $ git pull upstream maintenance/1.14.x $ git submodule update $ git clean -xdfq
Отредактируйте pavement.py и setup.py, как подробно описано в HOWTO_RELEASE:
$ gvim pavement.py setup.py $ git commit -a -m"REL: NumPy 1.14.5 release."
Проверка корректности:
$ python runtests.py -m "full" # NumPy < 1.17 only $ python3 runtests.py -m "full"
Отправьте этот выпуск непосредственно в конец ветки maintenance. Это требует права записи в репозиторий numpy:
$ git push upstream maintenance/1.14.x
В качестве примера см. коммит 1.14.3 REL: https://github.com/numpy/numpy/commit/73299826729be58cec179b52c656adfcaefada93.
Сборка исходных релизов
Для сборки исходных релизов используется Paver. Он создаст каталоги release и release/installers и поместит исходные релизы *.zip и *.tar.gz в последний.
$ python3 -m cython --version # check for correct cython version $ paver sdist # sdist will do a git clean -xdf, so we omit that
Сборка колес
Запустите сборку колес, указав в репозитории numpy-wheels на этот коммит. Это может занять некоторое время. Репозиторий numpy-wheels клонирован из https://github.com/MacPython/numpy-wheels. Начните с pull, так как к репозиторию, возможно, обращались и вносили изменения другие пользователи, а push может потерпеть неудачу:
$ cd ../numpy-wheels $ git pull upstream master $ git branch <new version> # only when starting new numpy version $ git checkout v1.14.x # v1.14.x already existed for the 1.14.4 release
Отредактируйте файлы .travis.yml и .appveyor.yml чтобы убедиться, что в них указана правильная версия, и добавьте хэш коммита для коммита REL созданного выше для BUILD_COMMIT, см. пример из v1.14.3:
$ gvim .travis.yml .appveyor.yml $ git commit -a $ git push upstream HEAD
Теперь подождите. Если вы нервничаете из-за длительности процесса — сборка может занять несколько часов — вы можете отслеживать процесс сборки по предоставленным ссылкам на https://github.com/MacPython/numpy-wheels, чтобы проверить статус сборки на travis и appveyor. Убедитесь, что все необходимые колеса были собраны и загружены перед продолжением. В настоящее время должно быть 22 из них на https://wheels.scipy.org, 4 для Mac, 8 для Windows и 10 для Linux. Обратите внимание, что иногда сборки, как и тесты, терпят неудачу по не связанным причинам, и вам потребуется перезапустить их.
Скачать колеса
После успешной сборки всех колес загрузите их, используя wheel-uploader в репозитории terryfy. Репозиторий terryfy можно клонировать из https://github.com/MacPython/terryfy, если у вас его еще нет. Колеса также можно загрузить с помощью wheel-uploader, но мы предпочитаем загрузить все колеса в каталог ../numpy/release/installers и загрузить их позже, используя twine:
$ cd ../terryfy $ git pull upstream master $ CDN_URL=https://3f23b170c54c2533c070-1c8a9b3114517dc5fe17b7c3f8c63a43.ssl.cf2.rackcdn.com $ NPY_WHLS=../numpy/release/installers $ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t win numpy 1.14.5 $ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t manylinux1 numpy 1.14.5 $ ./wheel-uploader -u $CDN_URL -n -v -w $NPY_WHLS -t macosx numpy 1.14.5
Если вы делаете это часто, рассмотрите возможность добавления CDN_URL и NPY_WHLS в вашу стандартную среду.
Генерация файлов README
Это необходимо сделать после загрузки всех установщиков, но перед обновлением файла дорожного покрытия для продолжения разработки:
$ cd ../numpy $ paver write_release
Пометить релиз
После того, как пакеты были построены и загружены без ошибок, вернитесь к своему репозиторию numpy в ветке maintenance и пометьте REL коммит, подписав его своим ключом gpg:
$ git tag -s v1.14.5
Вы должны загрузить свой публичный ключ gpg на github, чтобы метка отображалась как «верифицированная».
Проверьте, что файлы в release/installers имеют правильные версии, затем опубликуйте метку в upstream:
$ git push upstream v1.14.5
Мы ждём, чтобы опубликовать метку на этом этапе, потому что она публичная и не должна изменяться после публикации.
Сбросить ветку maintenance в состояние разработки
Добавьте ещё один REL коммит в ветку numpy maintenance, который сбрасывает ISREALEASED флаг в False и увеличивает счётчик версии:
$ gvim pavement.py setup.py
Создайте заметки о релизе для следующего релиза и отредактируйте их, чтобы установить версию:
$ cp doc/release/template.rst doc/release/1.14.6-notes.rst $ gvim doc/release/1.14.6-notes.rst $ git add doc/release/1.14.6-notes.rst
Добавьте новые заметки о релизе в список релизов документации:
$ gvim doc/source/release.rst
Зафиксируйте результат:
$ git commit -a -m"REL: prepare 1.14.x for further development" $ git push upstream maintenance/1.14.x
Загрузка на PyPI
Загрузите на PyPI, используя twine. После недавних изменений в PyPI требуется недавняя версия twine, версия 1.11.0 была использована здесь.
$ cd ../numpy $ twine upload release/installers/*.whl $ twine upload release/installers/numpy-1.14.5.zip # Upload last.
Если одна из команд прервётся в середине, что не редкость, вам может потребоваться выборочно загрузить оставшиеся файлы, так как PyPI не позволяет загружать один и тот же файл дважды. Исходный файл следует загрузить последним, чтобы избежать проблем с синхронизацией, если пользователи pip обратятся к файлам в процессе. Обратите внимание, что PyPI допускает только одно распределение исходного кода, здесь мы выбрали архив zip.
Загрузка файлов на github
Перейдите на https://github.com/numpy/numpy/releases, там должна быть v1.14.5
tag, щелкните по ней и нажмите кнопку редактирования для этой метки. Есть два способа добавить файлы: с помощью редактируемого текстового окна и в виде файлов бинарных загрузок.
- Скопируйте и вставьте содержимое файла
release/README.mdв текстовое окно. - Загрузите
release/installers/numpy-1.14.5.tar.gzв качестве бинарного файла. - Загрузите
release/installers/numpy-1.14.5.zipв качестве бинарного файла. - Загрузите
release/README.rstв качестве бинарного файла. - Загрузите
doc/changelog/1.14.5-changelog.rstв качестве бинарного файла. - Установите флажок предварительного релиза, если это предварительный релиз.
- Нажмите кнопку
{Publish,Update} releaseвнизу.
Загрузка документов на numpy.org
Этот шаг необходим только для финальных релизов и может быть пропущен для предварительных релизов. make merge-doc клонирует репозиторий numpy/doc в doc/build/merge и обновляет его новой документацией:
$ pushd doc $ make dist $ make merge-doc $ popd
Если серия релизов новая, вам нужно будет добавить новый раздел на главную страницу doc/build/merge/index.html сразу после комментария «insert here»:
$ gvim doc/build/merge/index.html +/'insert here'
В противном случае, необходимо только обновить ссылки zip и pdf с новым именем метки:
$ gvim doc/build/merge/index.html +/'tag v1.14'
Вы можете «протестировать» новую документацию в браузере, чтобы убедиться, что ссылки работают:
$ firefox doc/build/merge/index.html
После того, как всё покажется удовлетворительным, зафиксируйте и загрузите изменения:
$ pushd doc/build/merge $ git commit -am"Add documentation for v1.14.5" $ git push $ popd
Объявление о релизе на scipy.org
Предполагается, что вы создали форк https://github.com/scipy/scipy.org:
$ cd ../scipy.org $ git checkout master $ git pull upstream master $ git checkout -b numpy-1.14.5 $ gvim www/index.rst # edit the News section $ git commit -a $ git push origin HEAD
Теперь перейдите к своему форку и создайте запрос на добавление для ветки.
Объявление на списках рассылки
Релиз должен быть объявлен на списках рассылки numpy-discussion, scipy-devel, scipy-user и python-announce-list. Обратитесь к предыдущим объявлениям за базовым шаблоном. Список участников и список PR совпадает с тем, что сгенерировано для заметок о релизе выше. Если вы пересылаете, убедитесь, что python-announce-list находится в BCC, чтобы ответы не отправлялись на этот список.
Задачи после релиза
Переопубликуйте изменения в документации doc/release/1.14.5-notes.rst, doc/changelog/1.14.5-changelog.rst и добавьте заметку о релизе в doc/source/release.rst.
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/dev/releasing.html