释放过程#

  • 更新发行说明:

    1. 审查和清理 doc/release/release_dev.rst

    2. 通过运行修复文档中的代码 cd doc && make doctest .

    3. 通过运行列出合并和贡献者的列表 doc/release/contribs.py <tag of previous release> .

    4. 将此列表粘贴到 release_dev.rst . 浏览公关标题中的亮点、反对意见和API更改,并在注释的相关部分提到这些内容。

    5. 重命名为 doc/release/release_<major>.<minor>.rst .

    6. 拷贝 doc/release/release_template.rstdoc/release/release_dev.rst 下一个版本。

    7. 添加 release_<major>.<minor>doc/release/index.rst

  • 删除文档上的开发人员横幅::

    git rm doc/_templates/layout.html
    
  • 更新 __version__ 在……里面 networkx/__init__.py

  • 提交更改:

    git add networkx/__init__.py
    git commit -m "Designate X.X release"
    
  • 在git中添加版本号作为标记:

    git tag -s [-u <key-id>] networkx-<major>.<minor> -m 'signed <major>.<minor> tag'
    

    (如果没有gpg密钥,请改用-m;对Debian打包来说,标记被注释是很重要的)

  • 将新元数据推送到github::

    git push --tags origin main
    
    (其中 origin 是对象的名称

    github.com:networkx/networkx 存储库。)

  • 查看github发布页面:

    https://github.com/networkx/networkx/tags
    
  • PIN徽章输入 README.rst ::

    - https://github.com/networkx/networkx/workflows/test/badge.svg?tag=networkx-<major>.<minor>
    - https://github.com/networkx/networkx/actions?query=branch%3Anetworkx-<major>.<minor>
    
  • 在PyPi上发布:

    git clean -fxd
    pip install -r requirements/release.txt
    python -m build --sdist --wheel
    twine upload -s dist/*
    
  • 解锁中的徽章 README.rst ::

    git restore README.rst
    
  • 网上更新文档:文档保存在单独的repo:networkx/documentation中

    • 等待CI服务部署到GitHub页面

    • 将分支机构与远程回购同步: git pull .

    • 复制CI服务构建的文档。假设您处于 documentation 回购::

      # FIXME - use eol_banner.html
      cp -a latest networkx-<major>.<minor>
      ln -sfn networkx-<major>.<minor> stable
      git add networkx-<major>.<minor> stable
      git commit -m "Add <major>.<minor> docs"
      # maybe squash all the Deploy GitHub Pages commits
      # git rebase -i HEAD~XX where XX is the number of commits back
      # check you didn't break anything
      # diff -r latest networkx-<major>.<minor>
      # you will then need to force the push so be careful!
      git push
      
  • 更新 __version__ 在……里面 networkx/__init__.py

  • 创建 doc/_templates/layout.html 使用::

    {% extends "!layout.html" %}
    
    {% block content %}
      {% include "dev_banner.html" %}
      {{ super() }}
    {% endblock %}
    
  • 提交并推送更改:

    git add networkx/__init__.py doc/_templates/layout.html
    git commit -m "Bump release version"
    git push origin main
    
  • 更新web frontpage:该网页保存在单独的repo:networkx/website中

    • 将分支机构与远程回购同步: git pull . 如果你想 make github 当你的分支不同步时,它会带来麻烦。

    • 更新 build/index.html .

    • 编辑 build/_static/docversions.js 并承诺

    • 将您的更改推送到回购。

    • 使用部署 make github .

  • 邮件列表上的发布说明。