表題の通りです。
msgpack-rustはMessagePackのRustによる実装の一つで、私が書いたものです。まだ実装していない機能が多いです。はい、がんばります。
これの大部分は夏頃に書いたコードなのですが、3ヶ月半ほど言語の変更に追随しなかった結果、 500行以上書き換えることになりました。pre-1.0の言語らしいエピソードと言えます。
Rustには独自のビルドシステム兼パッケージシステムがあります。それがrustpkgです。こちらの対応はほとんどできていたのですが、どう解決して良いかわからない問題が一つあったのでMLに投稿したところ、2分で答えが返ってきました。よくある質問だったようです。申し訳ないことをした……。
さて、めでたくmsgpack-rustは最新のRustでrustpkgを使ってビルドできるようになりましたが、しばらくの間は言語仕様に破壊的な変更が加わるでしょう。また、msgpack-rustも(やる気を補充したので)大きな変更が加わることになります。こんなとき便利なのが継続的インテグレーションです。
Travis CIは今のところRustを公式にはサポートしていません。なので、msgpack-rustの.travis.ymlに書かれている通り、Travis CIでRustのプロジェクトをビルドする際にはPPAからRustのナイトリービルドを入手します。ただし、このPPAはRustチーム自体が管理しているものではありません。PPAの信頼性は保証されていない点に留意しましょう。
こうしてmsgpack-rustはTravis CIの恩恵を受けることができるようになりました。しかし、この時点ではmsgpack-rustの変更をきっかけにビルドが始まることはあっても、Rustの変更をきっかけにビルドが始まることはありません。そこで、Rust CIに登録しましょう。これでPPAのRustパッケージが更新される度にリビルドが始まります。
やっぱり継続的インテグレーションは素敵ですね。