可配置开发工作流的集合
roberto的Python项目详细描述
roberto是一组可配置的开发工作流。它的目标是 促进开发和质量保证 Github上的Theochem组织。
对于相对简单的配置文件(.roberto.yaml),命令 rob将执行以下步骤:
- 安装miniconda(和osx上的macosx sdk)。
- 为开发和测试创造一个conda环境
- 安装依赖项(对于正在开发的包和所有 开发工具)。
- 在适当的位置构建软件,即不安装它。
- 运行linter(可选地只显示与更改相关的消息)。
- 运行单元测试和其他测试
- 制作文档
当您运行rob robot时,将执行一些额外的步骤,这些步骤是 默认情况下不执行,因为它们速度慢且失败的风险低:
- 上传文档。(默认情况下禁用)
- 制作源代码和二进制版本包。
- 部署发布。(默认情况下禁用)
(为了清楚起见,省略了一些小步骤。)这些步骤应该对 本地计算机与连续集成系统(如 travis ci,使本地准备拉取请求变得容易。也有可能 只运行这些任务的一个子集,这在处理 代码。如果 这些已经出现了,以加快罗伯托的速度。
准备任务(1-3)有些硬编码,但它们足够聪明 安装一个像样的开发环境,并对 剩下的任务。这些剩余的任务(4-10)是可配置的,可以 已更改为适用于python和/或cmake项目。
安装
必须安装python 3(>;=3.5)。其他依赖项将与 下面的说明。
罗伯托可以与conda一起安装:
conda install theochem::roberto
它也可以与pip一起安装。下列任何一项都可以 首选:
pip install roberto pip install roberto --user python3 -m pip install roberto python3 -m pip install roberto --user
在某些平台上,可能必须先调整${PATH}变量 可以运行rob。
用法
开始之前,请注意roberto将安装miniconda,默认情况下 ~/miniconda3,如果还不存在。您可以通过设置 环境变量ROBERTO_CONDA_BASE_PATH或 在全局roberto配置文件~/.roberto.yaml:
conda:base_path:<your/preferred/location>
例如,您可以使用此方法来避免对现有MICONDA安装的干扰。 然而,为了避免这种干扰,罗伯托还将使conda环境 对于每一个开发包,都有相对较长的名称。例如, 当roberto在自己的源树中执行时,conda环境将是 roberto-dev-python-3.7。
要使用roberto,只需在源树的根中运行rob,其中 项目的.roberto.yaml已找到。使用rob --help获取 任务(如果您只想复制CI过程的一部分)。如果 您的${PATH}变量设置不正确,您还可以运行roberto作为 python3 -m roberto而不是rob。
最好在每个git commit之前运行rob,以确保 提交的代码是干净的和有效的。
在使用CardboardLint工具和进行开发时 branch,cardboardlint将只显示linter消息 已经改变了。如果您想查看所有消息,请运行roberto as ROBERTO_ABS=1 rob。
有关如何配置roberto的更多详细信息,请参见 文档:https://theochem.github.com/roberto
开发
如果您有问题或想法,请在github上打开一个问题。实用的 有关如何作出贡献的信息,请参阅 CONTRIBUTING.rst。
roberto故意是一个小的代码库,因此可以很容易地理解 它的工作原理是正在读取源代码。罗伯托广泛使用invoke来避免编写大量的锅炉板代码。