可配置开发工作流的集合

roberto的Python项目详细描述


https://travis-ci.org/theochem/roberto.svg?branch=masterhttps://anaconda.org/theochem/roberto/badges/version.svghttps://codecov.io/gh/theochem/roberto/branch/master/graph/badge.svghttps://img.shields.io/pypi/v/roberto.svghttps://img.shields.io/pypi/pyversions/roberto.svghttps://img.shields.io/github/release/theochem/roberto.svg

roberto是一组可配置的开发工作流。它的目标是 促进开发和质量保证 Github上的Theochem组织。

对于相对简单的配置文件(.roberto.yaml),命令 rob将执行以下步骤:

  1. 安装miniconda(和osx上的macosx sdk)。
  2. 为开发和测试创造一个conda环境
  3. 安装依赖项(对于正在开发的包和所有 开发工具)。
  4. 在适当的位置构建软件,即不安装它。
  5. 运行linter(可选地只显示与更改相关的消息)。
  6. 运行单元测试和其他测试
  7. 制作文档

当您运行rob robot时,将执行一些额外的步骤,这些步骤是 默认情况下不执行,因为它们速度慢且失败的风险低:

  1. 上传文档。(默认情况下禁用)
  2. 制作源代码和二进制版本包。
  3. 部署发布。(默认情况下禁用)

(为了清楚起见,省略了一些小步骤。)这些步骤应该对 本地计算机与连续集成系统(如 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来避免编写大量的锅炉板代码。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Scanner对象作为构造函数参数传递给UserInterface类   spring未能启动bean“subtocolWebSocketHandler”;嵌套的例外是java。lang.IllegalArgumentException:没有处理程序   Java EE应用程序中后台服务的多线程Java线程(设置守护进程和优先级)?   java Pull to refresh返回列表的第一个位置   无法将comparator类转换为java。可比的   java将json从servlet传递到dojo   JavaHibernate:将子类实例转换为超类实例   java警告调用servlet类时非法反射访问   java静态变量值   java@Entity和@embeddeble之间有什么区别   java将作业配置导入公共作业配置类(注释配置)   sql公共表表达式(以values语句开头)在java中给出错误   java在ImageJ中使用ImageProcessor   java PostgreSQL executeBatch()会随着时间的推移而变慢   java在安卓中以表格形式排列sqllite表数据?   java中SVG的swing定制呈现   java删除与另一个实体映射的实体   java何时/如何添加ListView适配器,使用back按钮恢复它?(片段)   java为什么IBinder和Binder之间的类型转换不是非法的?   java在方法参数列表中使用ArrayList或List