未提供项目描述
项目描述
autocalver
厌倦了“提升版本”?对提交、拉取请求、标签以及大量手动工作以发布已存在于主分支的代码感到厌烦吗?
autocalver
包就是为了自动生成“日历版本”,并嚼口香糖,而且口香糖都已经用完了。
它根据提交日志自动生成calver。版本依赖于提交的时间,而不是构建的时间。版本格式为 <年>.<月>.<日>.<一天开始以来的秒数>
。时间总是先转换为UTC。
配置
确保 autocalver
已安装的正确方法是在 pyproject.toml
中要求它。
[build-system]
requires = ["setuptools>=45", "wheel", "autocalver"]
注意,默认情况下,autocalver
将 不会 运行任何版本控制命令。在使用 autocalver
之前,运行一个命令以拉取提交日志的前缀,并将其保存到文件中。例如,使用 git
,你可以使用
git log -n 1 --date=iso > git-log-head
将阶段分开的优势之一是,可以使得包构建器本身在一个无法访问版本控制元数据的环境中运行,只有源文件和提交日志的前缀。
该工具会覆盖 setup.cfg
中的版本(如果有的话)。配置是通过 pyproject.toml
完成的。例如,适合管道CI的配置可能如下所示
[tool.autocalver]
use = true
log = "git-log-head"
is_main_var = "BUILD_BRANCH_REF"
is_main_match = ".*/main$"
注意,如果你在 pyproject.toml
中使用 [project]
条目,它必须
- 没有
version
- 明确声明
dynamic = ["version"]
构建包
根据给定的环境变量及其值,版本会被生成为开发版、rc版或完整发布版。这允许检查分支、拉取请求或工作流名称的发布系统的环境变量。
在此配置下,将生成以下版本(假设最新提交的时间为2021年10月10日,太平洋时间8:39:44)。
本地构建
$ python -m build -n --wheel 2>& 1| tail -1
Successfully built fake_package-2021.10.10.56384.dev1-py3-none-any.whl
请注意,版本名称中包含dev1
。
模拟标记构建
$ GITHUB_REF=refs/tags/test-fix-PROJ-121 python -m build -n --wheel 2>& 1| tail -1
Successfully built fake_package-2021.10.10.56384rc1-py3-none-any.whl
此版本名称中包含rc1
,表示它是一个预发布版。这允许推送标签以生成包和测试修复。然而,由于标签推送未经审查,因此不会生成发布版。
模拟合并到主分支
$ GITHUB_REF=refs/heads/main python -m build -n --wheel 2>& 1| tail -1
Successfully built fake_package-2021.10.10.56384-py3-none-any.whl
请注意,如果没有use = true
,则工具不会替换版本。如果存在use = true
,则缺失任何其他变量将在构建期间导致错误,因为不存在的构建比损坏的构建要好。
自动获取最新提交
定义可选字段log_command
,如果包构建时间文件不可用,则运行该命令。它将为下次创建文件。请注意,如果文件“过时”,则需要手动删除。
项目详情
autocalver-2023.5.4.55367.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cff7429d54406af415bfcbdd32f918cee9450ff70a85dadbd5386712b9d6fdf0 |
|
MD5 | 718da832c60f1463cac6d264655cb5aa |
|
BLAKE2b-256 | 082b25d51bff4131ff4e738eabc66773372f242430e34f90c86e35fc43c632c2 |
autocalver-2023.5.4.55367-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 165d0355be7f8f1016298ad04c3b54e3bcb5af1c4659b460d238bb4d2a93b2e6 |
|
MD5 | 2cd1a238fe9874c967ec0de153a60c11 |
|
BLAKE2b-256 | 22460b2440b6c49d3de3c97120293ce34d705134f19b1d3ad171e2a8a272e4aa |