自动上游依赖测试
项目描述
Strazar(来自保加利亚语的哨兵)帮助您主动监视上游包的新版本。一旦找到包,它就会被添加到您的测试矩阵中,以确保您的软件与最新的上游依赖项兼容!
Strazar通过更新.travis.yml环境并使用GitHub API自动将更改拉取和推送到您的存储库来工作。实际的环境设置和测试由CI服务器执行,而Strazar充当新构建的触发器!
变更日志
0.2.8 (2017-06-16)
改进错误日志;
0.2.7 (2017-06-11)
在配置中找到新添加的包时记录日志;
更好的异常记录。
0.2.5 (2017-01-11)
如果Strazar正在监视当前不在.travis.yml中的包,则不会崩溃。这可能发生在您的软件切换依赖项时,例如从boto切换到boto3,但您仍然希望保留先前依赖项的监视配置。
0.2.4 (2017-01-05)
在提交日志中使用新的包名和版本;
修复了一个问题,即当存在相互冲突的包时,Strazar无法正确更新测试矩阵。现在支持以下语法
env: - '_BOTO=2.45.0 _DJANGO=1.9 _DJANGO_STORAGES=1.5.1' - '_BOTO3=1.4.3 _DJANGO=1.9 _DJANGO_STORAGES=1.5.1'
当找到Django 1.10时,矩阵将按如下方式更新
env: - '_BOTO=2.45.0 _DJANGO=1.9 _DJANGO_STORAGES=1.5.1' - '_BOTO=2.45.0 _DJANGO=1.10 _DJANGO_STORAGES=1.5.1' - '_BOTO3=1.4.3 _DJANGO=1.9 _DJANGO_STORAGES=1.5.1' - '_BOTO3=1.4.3 _DJANGO=1.10 _DJANGO_STORAGES=1.5.1'
0.2.3 (2016-07-28)
添加日志以指示进度和状态;
0.2.2 (2016-05-16)
处理数据流中的非ASCII字符;
0.2.1 (2016-05-15)
初始发布
安装
要安装
pip install strazar
支持的上游包存储库
支持的CI环境
目前仅支持Travis-CI!
支持的源代码仓库
目前仅支持作为我们使用其API而不是git直接使用的GitHub!
GITHUB_TOKEN环境变量允许认证的API访问。此令牌需要public_repo或repo权限。
准备.travis.yml
Strazar使用变量格式_PACKAGE_NAME,其中变量名以下划线开头,后面跟大写包名。所有连字符都转换为下划线。我们建议您的.travis.yml文件遵循相同的约定。这是Strazar自己的.travis.yml的样子
language: python python: - 2.7 - 3.5 install: - pip install coverage flake8 mock PyYAML==$_PYYAML PyGithub==$_PYGITHUB script: - ./test.sh env: - _PYGITHUB=1.26.0 _PYYAML=3.11
监控PyPI
PyPI不提供web-hooks,所以我们根据配置设置检查感兴趣包的RSS源。要从cron作业(在Mr. Senko我们每小时执行一次)开始监控PyPI,请执行以下代码
import os import strazar os.environ['GITHUB_TOKEN'] = 'xxxxxxxxx' config = { "PyYAML" : [ { 'cb' : strazar.update_github, 'args': { 'GITHUB_REPO' : 'MrSenko/strazar', 'GITHUB_BRANCH' : 'master', 'GITHUB_FILE' : '.travis.yml' } }, ], } strazar.monitor_pypi_rss(config)
config字典使用包名作为第一级键。如果您对某个特定包感兴趣,请在此处添加它。所有其他从RSS源检测到的包都将被忽略。如果您的项目依赖于多个包,您必须将它们作为第一级键在config中列出,并重复键值。
键值是一个回调方法和执行一次新包发布在网上的参数列表。
strazar.update_github回调知道如何提交到您的源仓库,这将自动触发新的CI构建。
贡献
源代码和问题跟踪器在https://github.com/MrSenko/strazar
商业支持
Mr. Senko为开源库提供商业支持,如果您需要的话!
项目详情
strazar-0.2.8.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 861042080fbe0564a39b5cb64609c11157d2ca36e5329621585759ba3c7e63ef |
|
MD5 | beb5ed8a5e2c143fee214c0f32e360df |
|
BLAKE2b-256 | 06adeef88dd6d0472414dd2ee5296364420cf15fc8de52e8bd70baf788221443 |