2018年9月25日火曜日

Wandbox の対応言語・コンパイラバージョンの追加を通知するアカウントを作った

こんにちは。
Wandbox の更新を通知する仕組みは前々あって、新しいコンパイラーが追加されるとリプライをくれるようにしてました。
ブログズミ: Wandbox のコンパイラー追加を通知する環境を作った


それがいつからかリプライを送らなくなってしまってました。


どうやら、Zapier 側で @ 付きのメッセージが制限され、@ を取り除かれてツイートするようになったためでした。


Zapier から Integromat への引っ越しも考えましたが、 引越し先でも @ 制限がかかる可能性は高いので、
Zapier はそのままに通知専用の Twitter アカウントを作成しました。


というわけで、@Wandbox_News をよろしくお願いします。

2018年9月19日水曜日

iutest v1.16.6 をリリースしました

C++ テスティングフレームワーク iutest v1.16.6 をリリースしました。
Github: https://github.com/srz-zumix/iutest/releases
OSDN: https://osdn.net/projects/iutest/releases/70056

変更点は以下の通りです。
* Improved
  * Matcher に (NanSensitive)FloatNear/DoubleNear を追加
  * Matcher に template 版の浮動小数点数比較を追加・(NanSensitive)FloatingPointEq/FloatingPointNear
  * long double に対応
  
* Changes
  * iuwandbox: -D__WANDBOX__ コンパイラーオプションを必ずつけるように変更

* Bug fixes
  * iuwandbox: dryrun オプションが失敗を返す問題を修正
  * いくつかのコンパイラー警告を修正

さて、1.16 系は今回で最後のリリースとなります。(なんもなければ…)
先行で対応開始していた C++17 対応を develop に取り込み、version 1.17 を目指して開発して参りますmm

2018年9月18日火曜日

[Jenkins] GroovyPostbuildAction.createShortText が使えなくなりました

import org.jvnet.hudson.plugins.groovypostbuild.*;
build.getActions().add(GroovyPostbuildAction.createShortText(text));

Groovy Postbuild Plugin のバッジ処理が Badge Plugin に切り出されたので、Badge Plugin を使うようにしましょう。

import com.jenkinsci.plugins.badge.action.*;
build.getActions().add(BadgeAction.createShortText(text));

ちなみに import するパスは、src/main/java 以下を書く感じなので覚えておきましょう。
(最初プラグイン名だけ変えて、うまくいかなくてうんうん言ってた…)

2018年9月10日月曜日

CI 好きがウォッチしておくべきリポジトリ

こんにちは、趣味は CI ! ずみっくすです。
よろしくお願いします。

さて、CI/CD のサービスや OSS 、あとはレビュー系もかなり増えてきましたね。
iutest では、20近くのサービスを利用していますが、私が使ったことがない・知らない CI サービスもまだまだあります。

ちゃんとした開発をするのであれば、CI サービスを 10 個や 20 個使うのはオススメしません。
はっきり言って、これは趣味です。



とはいえ、メリットもあります。

楽しい
push をするとたくさんのサービスが動き出し、自動でテストをしてくれる様は動くと楽しいです!

毛色の異なるテストが組みやすい
1つの CI サービスでマトリックス組んでいろんなことをやらせることも、もちろんできます。(Docker とか使いやすくなったので柔軟性も上がってきていると思う)
ただ、詰め込みすぎると yaml にしろ、 GUI config にしろ、設定は1箇所になるので、どんどん複雑かつ読みにくくなっていきます。
複数の CI サービスを使うことで、区切りが明確できるので、1つあたりの設定はシンプルにすることができます。
また、 Mac OS と Windows 、Linux それぞれでテストしたい場合も、1つのサービスで気にすべき OS が1つに絞られるのは楽だったりします。
(複数の OS のテストが組みやすいサービスもありますが)

リスク回避
消えていく CI サービスも当然あります。そのサービスのみに依存していた場合、1から次のサービスを探すことになりますが、
はじめから複数サービスを使っていれば、引っ越しも容易です。
また、フリープランでは制限がかかる場合もあるので、そのへんの調整も可能です。

というわけで
みなさんもご興味が湧きましたら、ぜひいろんな CI サービスを使ってみてください。
iutest では、今後も新しい CI サービスを導入していきますので、ぜひウォッチやスターをお願いしますmm

今回は、以上です。



















じゃなーーい!!

ウォッチしておくべきリポジトリ: awesome-ci
今回紹介したいのは iutest ではなく、awesome-ci です。
CI サービスのリストを見やすくまとめてくれています。

個人的は、プランで探しやすいのと Hosted かどうかもある程度わかるのが嬉しいです。
以前、筆者も CI サービスの比較記事を書いてましたが、GitHub でまとめちゃうのが便利そうだったので便乗しようと思います。
というわけで、早速 Rocro INSPECODESider の追加 PR をしました!



CI サービスの Twitter リストも作った
ついでに、Twitter アカウントのあるサービスを集めてみました。


今度こそ、以上です。
では。




2018年9月3日月曜日

AppVeyor で Auto Cancel

最近、iutest の開発が活発?(無駄なコミットが多いとも言う)な影響で、AppVeyor の回転が非常に悪くなっていたので、Auto Cancel 設定を有効にしました。

Auto Cancel とは?
Auto Cancel 機能は、新しいビルドがキューに積まれたら、現在実行中(およびキュー済み)のジョブをキャンセルする機能です。
普通に開発していると、短い時間の間に何回か push することってあると思いますが、そうすると CI にはその分だけビルドがキューされ実行されます。
CI の1サイクルが短ければ、すぐさま実行されて終わり。とは思いますが、そうもいかないことも多いでしょう。(AppVeyor はなかなかキューが回らなくてよく詰まる・・・)


つまりんぐ・・・

そんなときに、有効にしておくと便利なのが Auto Cancel 機能です。
他の CI サービスでもよく見ることがありますが、AppVeyor では Rolling Builds という名前で提供されています。
Rolling Builds は、YAML 設定では変えられないので、 GUI 設定で変える必要があります。
Settings の General にあります。



(キューだけキャンセルとか、プルリクだけキャンセルとか、もできそうですね)
最後に
他の CI サービスの対応状況もまとめたいなーと思いつつ、今回は以上です。

では。