トップ 最新 追記
RSS feed

ただのにっき


2018-05-31(木) [長年日記]

CircleCIをOSS Gateのアンケート集計に使ってみた

自分がGitHubに置いてあるものはすべてOSSということもあり、CIにはOSSでの利用が無料のTravis CIを使っている。最近は毎日commitがなくてもビルドタスクを走らせてくれるなど*1、老舗ながらけっこう便利で良い。難点は無料枠はかなり遅いというくらいか。

で、他のCIサービスも使ってみたいと思っていたところ、先日のOSS Gateでアンケートの文法エラーをCIで検出させたいね*2、なんて話が出たので、これをCircleCIあたりでやってみようと。

CircleCIの使い方自体は、公式のドキュメントがけっこう充実していたので、Qiitaとかに頼らなくても(笑)ちゃんと使えた。

  1. アンケート集計用に使っているaggregate.rbを、文法エラー時にメッセージをSTDERRに出して、非ゼロで終了するように修正
  2. 実行時(日本標準時*3)の日付のあるアンケートフォルダ内だけを対象にしてaggregate.rbを実行するCI専用スクリプトを作成
  3. .circleci/config.ymlを書く。本物(?)のテストスイートを使っているわけじゃないので、かなり雑な感じである
  4. CIrcleCIのアカウントを作って、GitHubのoss-gate/workshopをアクティベート
    • CIの状況をGitHub側に通知する設定を有効に
    • プルリクが作られたときだけCIが走るように設定
    • forkされたリポジトリからのプルリクも対象にするように設定
    • その他、CI実行中にプルリクが書き換えられたらキャンセルするなどの指定

これで外部からプルリクが投げ込まれると、自動的にCIが走るようになる。ためしに一度エラーのあるアンケート回答を入れてCIが失敗するのを確認してから、続いてエラーを修正して成功に変わるのを確認したところ(→CircleCIの当該ページ):

スクリーンショット

これで次回のワークショップからは、参加者自身にエラー修正をしてもらえそうだ。これまでは集計者(進行役かサポートメンター)がいちいち直してたから面倒だったのよ。この方式ならビギナーのプルリク練習としてもよさげ。

Travis CIに比してはるかに速いので、無料枠では並列ビルドができないけど、これくらい速ければOSS Gateみたいに短時間のうちにたくさんのプルリクが投入される場面でも問題にはならなさそう。一方、無料枠が1500分/月なので、たくさんのOSSを抱えてる人には厳しい場合があるかも。とはいえ、デプロイのトリガーなんかにも使えるようなので、いくつかのプロジェクトで使ってみてもいいな。

*1 CircleCIでもworkflowを使ってスケジュールタスクが実行できるらしい。WebUIでポチポチするのとYAMLファイルを書くのとどっちがいいかって話だな。

*2 OSS Gateのアンケートは各自で指定のYAMLファイルを編集してプルリクエストするというハードコア形式なので、不慣れなビギナーはどうしても誤った文法のままcommitしてしまいがちなのだ。

*3 あとでCI環境内でのTZ環境変数をAsia/Tokyoに設定する。


2018-05-30(水) [長年日記]

ミリシタイベント プラチナスターツアー「花ざかりWeekend✿」(4Luxury)

イベント終了日、デレステの翌日がミリシタでもう忙しいのなんのって。しかも今回(というか前回あたりから)妙にボーダーが上がってきていて、以前は36000ptあたりで5万位余裕だったのが、ここのところ4万ptを超えてくるように。今回も、ラスト1時間でスパートかけられたので、4万ptを大きくオーバーしておいて安心できたけど、これがなかったらドボンだったわ。こえーよ。

この週末にはSSAでの5thライブ。おそらくこのイベントのユニットまではライブで登場するだろう。楽しみ楽しみ。それにしても、ミリシタで登場した新ユニットがちゃんと揃うように2日間の出演者が割り当てられていて、ほんとに感心する。てことはおおむね1年くらい先までスケジュールが決まっているってことで、それでいて不測の事態とかが起きても対応できるようになってるんだろうなぁ。(ちゃんとした)ソシャゲの運営って、ほんとすごい。

THE IDOLM@STER MILLION THE@TER GENERATION 09 4Luxury (特典なし)
4Luxury
バンダイナムコアーツ
¥ 1,620


2018-05-28(月) [長年日記]

デレステイベント「HARURUNRUN」

24306位 30296pt

デレステ、ミリシタ、シャニマスの3コンテンツが同時にゲーム内イベントを開始して、終了日が1日ずつずれているというわりと鬼のような状況に入っているんだけど、おかげで早々にしてシャニマスは脱落である。これまでのところ、シャニマスはまったく新規ユーザ獲得の施策をうってきてないので、既存のPだけが頼りだと思うんだけど、こういう脱落したPも多いと思うんだよね。大丈夫なんでしょうか?

というわけで、デレステのイベントは2倍、4倍のアイテム消費でがんがん効率よく進めて、だいたいいつものポジションへ。曲は難易度高かったなぁ。死ぬことはないけど難所が均等に散っていてコンボがつながらない感じ。

なお、コミュはまったく見ている暇がない。時間がねぇったらもう。

THE IDOLM@STER CINDERELLA GIRLS MASTER SEASONS SPRING
CINDERELLA GIRLS
日本コロムビア
¥ 1,580


トップ 最新 追記
RSS feed