Nuxtmorishitaです。こどもBIRTHDAYはいこーよの中にありながら、このコーナーだけ独立したNuxt.jsのSPAとなっています。birthday.iko-yo.net次の記事で紹介したようにJestでテストしており、ESLintを使ってチェックもしています。tech.actindi.netこれまでは実装していたのが主に私とデザイナーの二人だけだったのでCIを用意しておらず、ローカルでJestとESLintを実行してチェックしていました。使えるようになったので、これを使ってCIをやってみました。JestまずはJestによるテストの実行。あればファイル名は何でも良いようです。coverage上記YAMLは次の処理を定義しています。Jestを実行するカバレッジの結果ファイルをアーティファクトとして保存する実行結果はマージボタンのところに次の様に表示されます。キャプチャはJestでエラーのある場合のものです。いうリンクをクリックすると次の様にエラーの詳細を確認できます。Failしたテストの詳細テストがすべて通れば、この画面からアーティファクトもダウンロードできます。どこでどんなエラーがあるのかプルリクエストにコメントとして指摘してほしいと考えました1。Prontoを利用しているのですが、Nuxt.jsのこのプロダクトではreviewdogを採用しました。してソースに追加します。lint上記の設定ファイルは次の処理を定義しています。ESLintを実行する見ての通り、上記の設定は処理として冗長です。経由で1回、直接実行で1回の計2回実行しています。終了するようなのです。実行自体にエラーがなければチェック成功として表示されてしまいます。実行することにしました3。これを実行してみます。ESLintのエラーが見つかると、次のような結果が表示されます。reviewdogの実行結果(エラーあり)そしてエラーの箇所には次のようなコメントが登録されます。reviewdogによるlintエラーのコメントどのルールに違反しているのか指摘してくれています。修正すべきかわかりやすいですね。両方のチェックにパスすると次の様に表示されます。成功時の結果とてもわかりやすいですね。これでコードフォーマットの崩れなど些末な部分は修正済み、かつアーティファクトのカバレッジでテストが必要十分かもレビュアが確認しやすい状態でコードレビューを依頼できます4。かんたんなシンタックスのYAMLの設定ファイルをリポジトリに追加するだけで、CIを追加できました。プルリクエスト上の操作はほぼ変わりません。サードパーティのCIサービスを使うときのようにアカウントを作ったり、あっちこっちクレデンシャルなどの設定を合わせる煩わしさもありません。何もテストだけに使えるわけではなく、Dockerイメージのビルドやデプロイパイプラインをトリガーしたりできます。自分でカスタムアクションを作ることもできます。GitOpsの強力なツールとなるでしょう。最後にアクトインディではエンジニアを募集しています。actindi.netJestもfailしたテストのコードにコメントで結果を入れてくれる方が便利かと思ったのですが、PRでの変更が、PRでは変更していない箇所のテストに影響したりするので難しそうですね。0で終了するのはなにか設定が間違っているのかと調べたのですが、わかりませんでした。他の方のブログ記事でもそのような画面キャプチャを載せていたので現状、それが仕様なのかなと。↩アクトインディではリリース前に相互レビューをしています。超便利morishitaです。CDKでLambdaをデプロイしてみた。morishitaです。このエントリはアクトインディアドベントカレ...2019-11-13Githubのラベル定義を宣言的に集中管理してみたmorishitaです。プッシュできないファイルがあると思ったら、仕様が変わってたmorishitaです。設定しないと...2019-07-03TypescriptのGASをJestでテストするmorishitaです。時々、業務で使うツールをGASで作ります。(9)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。