发布流程#

  • 设置发布变量

    export VERSION=<版本号> export PREVIOUS=<上一个版本号> export ORG=”networkx” export REPO=”networkx”

    如果是预发布版本

    export NOTES=”doc/release/release_dev.rst”

    如果是正式发布版本

    export NOTES=”doc/release/release_${VERSION}.rst” git rm doc/release/release_dev.rst

  • 自动生成发布说明

    changelist \({ORG}/\){REPO} networkx-\({PREVIOUS} main --version \){VERSION} –out \({NOTES} --format rst changelist \){ORG}/\({REPO} networkx-\){PREVIOUS} main –version \({VERSION} --out \){VERSION}.md

  • 编辑 doc/_static/version_switcher.json 以添加此发布版本,将键值对 "preferred": true 移动到最新的稳定版本,并提交。

  • 更新 doc/release/index.rst

  • 更新 __version__networkx/__init__.py 中。

  • 提交更改

    git add networkx/__init__.py ${NOTES} doc/_static/version_switcher.json doc/release/index.rst
    git commit -m "Designate ${VERSION} release"
    
  • 在 git 中将版本号添加为标签

    git tag -s networkx-${VERSION} -m "signed ${VERSION} tag"
    
  • 将新的元数据推送到 github

    git push --tags origin main
    
    (其中 origin 是存储库的名称

    github.com:networkx/networkx。)

  • 审查 github 发布页面

    https://github.com/networkx/networkx/tags
    
  • 更新网页上的文档:文档保存在一个独立的仓库中:networkx/documentation

    • 等待 CI 服务部署到 GitHub Pages

    • 将您的分支与远程仓库同步:git pull

    • 复制 CI 服务构建的文档。假设您位于 documentation 仓库的顶层

      # FIXME - use eol_banner.html
      cp -a latest ../networkx-${VERSION}
      git reset --hard <commit from last release>
      mv ../networkx-${VERSION} .
      rm -rf stable
      cp -rf networkx-${VERSION} stable
      git add networkx-${VERSION} stable
      git commit -m "Add ${VERSION} docs"
      git push  # force push---be careful!
      
  • 更新 __version__networkx/__init__.py 中。

  • 提交并推送更改

    git add networkx/__init__.py
    git commit -m "Bump release version"
    git push origin main
    
  • 更新网站首页:网页保存在一个独立的仓库中:networkx/website

    • 将您的分支与远程仓库同步:git pull。如果您的分支不同步时尝试 make github,会带来麻烦。

    • 更新 build/index.html

    • 编辑 build/_static/docversions.js 并提交

    • 将您的更改推送到仓库。

    • 使用 make github 进行部署。

  • 在邮件列表中发布发布说明。