2015-10-20 113 views
1

我想跟蹤我的精縮的JavaScript包的大小,因爲它是受拉的請求在GitHub上產生在GitHub上的文件大小:跟蹤使用特拉維斯-CI

combined JS code size changes by +0.68%

我想看看在Travis-CI構建的每次提交中,GitHub狀態下生成的文件的大小會發生變化。這與coveralls.io和其他工具在更改時跟蹤代碼覆蓋範圍相似。

我該怎麼做?是否有現有的工具?寫我自己的簡單嗎?

+0

如果我正確理解這一點,你想有代碼覆蓋的JavaScript? –

+0

不。我已經有JavaScript的代碼覆蓋範圍。我想要的是一個GitHub「檢查」,它報告構建工件的大小如何變化。 – danvk

回答

3

GitHub提供了一個simple API用於發佈提交狀態。

通過將一個GitHub上的OAuth令牌在Travis-CI environment variable,您可以運行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回購庫中找到該腳本。有了它,你只是在你的特拉維斯構建運行此:

python weigh_in.py path-to-script.min.js 

同時會產生犯下的狀態就像一個在問題的屏幕截圖。