dan*_*nvk 3 javascript github travis-ci
我想跟踪我的缩小JavaScript包的大小,因为它受到GitHub上的pull请求的影响:
我想在Travis-CI构建的每次提交中看到GitHub状态下生成文件的大小更改.这类似于coveralls.io和其他工具在更改时跟踪代码覆盖率的方式.
我怎样才能做到这一点?有现有的工具吗?写我自己很简单吗?
GitHub提供了一个简单的API,用于在提交时发布状态.
通过在Travis-CI环境变量中放置GitHub OAuth令牌,您可以运行curl
命令来发布状态:
filesize=$(wc -c < path-to-script.min.js | sed 's/ //g')
curl -H "Authorization: token $GITHUB_TOKEN" \
--data '{"context": "file size", "description": "'$filesize' bytes", "state": "success"}' \
https://api.github.com/repos/$TRAVIS_REPO_SLUG/statuses/$TRAVIS_COMMIT
Run Code Online (Sandbox Code Playgroud)
计算拉取请求导致的文件大小变化比较棘手.我最终创建了一个Python脚本来执行此操作,您可以在travis-weigh-in repo中找到它.有了它,你只需在你的Travis构建中运行它:
python weigh_in.py path-to-script.min.js
Run Code Online (Sandbox Code Playgroud)
它会产生提交状态,如问题截图中的状态.