释放Flake8¶
有没有什么是很难找到的关于如何 Flake8 被释放。
我们使用 专业 发布(例如,2.0.0,3.0.0等),用于可能向后不兼容的大型发布。
我们使用 少数的 包含特性和依赖项版本更改的发行版(例如,2.1.0、2.2.0、3.1.0、3.2.0等)。
我们使用 补丁 发布(例如,2.1.1、2.1.2、3.0.1、3.0.10等),用于包含 only 错误修复。
在这个意义上,我们遵循语义版本控制。但我们更像是一套指导方针。我们也不是完美的,所以我们可能会犯错误,这很好。
及主版本升级软件¶
主要版本通常与向后不兼容相关。 Flake8 希望避免这些,但偶尔会需要它们。
历史上, Flake8 已生成主要版本:
取消认可依赖项(2.0)
大规模重构(2.0、3.0)
巧妙打破CLI更改(3.0)
中断对插件接口的更改(3.0)
主要版本还可以包含:
错误修复(可能有向后不兼容的解决方案)
新特点
依赖关系更改
补丁发布¶
补丁版本只应该有错误修复。
我们不更新补丁版本中的依赖约束。如果不安装 Flake8 在PyPI中,您的打包程序有可能使用不同的需求。一些下游的再分配程序已经被认为是强制执行新版本的PyFlakes、pep8/PyCodestyle或McCabe。使用时偶尔会造成破损 Flake8 . 在这种情况下,我们帮不了你什么忙。
过程¶
为了准备发布,我们在 docs/source/releases/
命名: {{{{ release_number }}}}.rst
(例如, 3.0.0.rst
). 我们注意到错误修复、改进和依赖性版本的更改,以及用户需要注意的其他事项。
发布前,必须通过以下毒物测试环境:
Python2.7(又名。,
tox -e py27
)Python3.6(又名。,
tox -e py36
)Python3.7(又名。,
tox -e py37
)PyPy(又名。,
tox -e pypy
)短绒(又名。,
tox -e linters
)
我们标记传递这些项并包含发行说明的最新提交。
最后,我们跑了 tox -e release
构建源代码分发(例如。, flake8-3.0.0.tar.gz
),然后用绳线将它们上载到PyPI。