July 26, 2016

Super Sylphide 進捗状況(86) -- ちょっとすごいロガーのバイナリ自動生成

生存報告がてら、ちょっとすごいロガーGitHubで公開していることの関連話を記録しておこうと思います。

ソースコードや基板設計データは、作ったものをそのままGitHubにpushすればよいので、手間はないのですが、附随するファームウェアやツールのバイナリは、これまで手動生成して登録していたため、それなりに時間を取られてきました。ならば、ということで全部自動化してみました。生成しているものとその仕組みです。

ファームウェア
実機で動く8051バイナリ。Travis-CIでコンパイラであるsdccをスクリプトで野良ビルドし、さらにファームウェア自体をビルドしている。タグ付きの場合に限り、GitHubのReleaseにDeployしている。
ツールバイナリ(Linux)
Travis-CIでmake,g++でビルド。常にmasterの最新版をBintrayにDeployするようにした。
ツールバイナリ(Raspberry Pi)
Travis-CIでmake,g++-arm-linux-gnueabihfでクロスビルド。g++-arm-linux-gnueabihfはaptで拾ってきている。常にmasterの最新版をBintrayにDeployするようにした。
ツールバイナリ(Windows)
AppVeyor上のVisual Studio 2015でslnをビルドしている。常にmasterの最新版をBintrayにDeployするようにした。

.travis.yml.travis.bintray.jsonあたりに上記手順が集約されています。またAppVeyorはGUIで設定してしまっているのですが、Yamlで書き出すとこんな感じになっています。

最も嵌ったのがTravis-CIのBintrayへのJSONの書き方でincludePattern等が純粋な正規表現ではないところです。JSONを駆動しているprovide付近にある通り、正規表現の丸括弧前でどこかしらのパスに一致している必要がありました。

こんな感じでGitHubにpushするだけでいろいろと回るようになっています。

22:51 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | コメント (0) | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/939