我在Github上有一个使用Github发布系统进行版本化的Python GUI。我想在软件中向用户提供版本号。这些信息是否以我可以通过编程方式访问的方式存储?
目前,我们将版本号存储在可以从GUI访问的版本文件中,但这很容易被忽略,因此有时会过时。是否有不同的最佳实践,不需要在两个不同的位置跟踪版本号?
答案 0 :(得分:2)
要获取最新版本号,如果您使用的是Github release system,则会有API for it。您希望get the latest release应为https://api.github.com/repos/:owner/:repo/releases/latest
。
但是,您希望用户使用的特定版本的版本号是什么,而不是Github上的最新版本号。为此,您确实需要软件中的某个版本号。
我建议将其放在配置文件中,这可以通过软件轻松阅读和编辑。然后,您的 自动 发布程序将编辑该配置文件,并执行发布所需的所有其他操作。发布过程完全自动化非常重要,正如您所观察到的那样,人们会忘记事情。
对于发布管理器,它可能看起来像这样:
make_release v1.2.3 master
这会做一切。编辑配置。运行发布测试。提交更改。在Github上创建一个版本。等...
如果你正在使用semantic versioning,你甚至不会让人决定版本号。人类只会说它是什么类型的释放。
# v1.2.3 -> v1.2.4
make_release --patch master
# v1.2.3 -> v1.3.0
make_release --minor master