我想跟踪我的缩小JavaScript包的大小,因为它受到GitHub上拉取请求的影响:
我想在Travis-CI构建的每次提交中看到GitHub状态下生成文件的大小更改。这与coveralls.io和其他工具在更改时跟踪代码覆盖率的方式类似。
我该怎么做?有现有的工具吗?写我自己很简单吗?
答案 0 :(得分:5)
GitHub在提交时提供simple API发布状态。
通过在Travis-CI environment variable中放置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
计算拉取请求导致的文件大小变化比较棘手。我最后创建了一个Python脚本来执行此操作,您可以在travis-weigh-in repo中找到它。有了它,你只需在你的Travis构建中运行它:
python weigh_in.py path-to-script.min.js
它将产生提交状态,如问题截图中的那个。