タグ

CIに関するtomoakinagaharaのブックマーク (8)

  • GitHub Actionsのワークフローを可視化するactions-timelineを作った

    最初に作ったのがCIAnalyzerです。なるべくツール自体の運用の手間がかからないように常駐サーバー無し、データの保存先と可視化はマネージドサービスを使う前提で設計しました。具体的にはデータの保存先をBigQueryとすることによって自前でDBを管理する必要をなくし、webhookを受けるのではなくcronで定期的にAPIを叩くことで常駐サーバーを不要にし、データの可視化はBigQueryと簡単に連携できてマネージドサービスであるLooker Studioを使用する前提としました。 CIAnalyzerのアーキテクチャ CIAnalyzerを作ったきっかけはAzure Pipelineの分析機能に感銘を受けたことで、それと同等の分析を当時自分が業務とプライベートで使用していたJenkins, CircleCI, Bitrise, GitHub Actionsでも可能にしたいと思って開発を

    GitHub Actionsのワークフローを可視化するactions-timelineを作った
  • 10年開発してきたPHPアプリケーションにPHPStanを導入した - BASEプロダクトチームブログ

    Tech Dept. 基盤グループエンジニアの @tenkoma です。 BASEには50以上のPHPプロジェクトのプライベートリポジトリがあります。 (アプリケーションは十数個で、残りの多くが、アプリケーションが依存するライブラリです) 過去4年ほどの間に新規に作られたリポジトリにはほぼ最初からPHPStanが導入されていますが、それ以前から開発していたリポジトリには導入されていないものが多数ありました。 それらのリポジトリにPHPStanを導入していったので、なぜ導入したか、導入方法、得られた効果について紹介します。 PHPStanとは PHPコードを実行せずに、実行時にエラーになりうる箇所を検出するツールです。PHPStanを利用しCIに組み込むと、テスト実行せずに検出できるバグの一部は、PHPStan解析で指摘してくれるので、コードレビューの負担が減ることが期待できます。 なぜPH

    10年開発してきたPHPアプリケーションにPHPStanを導入した - BASEプロダクトチームブログ
  • CSS の element() 関数をご存知?

    発端 きっかけは調べ物でこちらのブログを閲覧したときです。ぜひアクセスしてみてください。9 割以上の方は何も気づかないでしょう。 Chrome でのスクリーンショット なぜなら Firefox 以外のブラウザでは表示されないからです。 Firefox でのスクリーンショット Firefox でアクセスすると、“Woah! What's this?” と書いてある右側のミニマップに気づくはずです。 Firefox でのスクリーンショット これの驚くところは、なんと要素の状態がリアルタイムでミニマップにも反映されます。上記スクリーンショットはテキストを選択した状態ですが、ミニマップにもテキストが選択された状態で表示されていることが確認できます。 実装 どのように実装されているかというと、なんと CSS の element() 関数のみの 1 行で実装できます。そして、Firefox は ele

    CSS の element() 関数をご存知?
  • ビジュアルリグレッションテストをSlack通知するgithub actionを作ってみた - Qiita

    こんにちは@glassmonkeyです。 この記事はGitHub Actions Advent Calendar 2020最終日の記事です。 みなさんクリスマスはいかがお過ごしだったでしょうか? 私はこの記事のネタのactionを作ることを忘れてて夜なべでつくりました。 わりと私自身の個人開発で使うことをメインに据えているので、機能など色々足りていないところは少しずつ足していけたらとは考えています。 はじめに 今回はビジュアルリグレッションテストを行うGithub Actionを作ってみました。 マーケットプレイスにあげているので、興味がある方はご覧ください。 ソースコードもglassmonkey/image-regression-notificationに置いています。 実装の詳細に関しては過去の私が書いたGitHub Pagesをビジュアルリグレッションテストをしてみたに詳細を記載して

    ビジュアルリグレッションテストをSlack通知するgithub actionを作ってみた - Qiita
  • GitHub Actionsをローカルで実行する(nektos/act) - くらげになりたい。

    GitHub Actionsを試すときに、いちいちコミットしないといけないのがめんどくさいので、 ローカルで確認できればな〜と思い、色々調べたときの備忘録。 Dockerを立ち上げてローカルで実行できるのがあった...(*´ω`*) ・nektos/act: Run your GitHub Actions locally 🚀 使ったサンプルはこれ(*´ω`*) # ./github/workflows/build.yml # ./github/workflows/test.yml name: Act Sample on: release: types: [created] jobs: build: runs-on: ubuntu-latest steps: - run: | echo "MY_ENV_VAR = ${{ env.MY_ENV_VAR }}" echo "MY_2ND_EN

    GitHub Actionsをローカルで実行する(nektos/act) - くらげになりたい。
  • GitHub Actionをローカル実行する - actのメモ|Junichi Sato

    GitHub Actionを新しく作るとき、GitHub上でテストしては失敗を繰り返してしまう。actを使って、ある程度ローカルで動作検証した上で、GitHubで動かせるようにする。 インストール 実行にはDocker環境が必要。 macOSの場合、以下でインストールできる。 $ brew install actmac以外の環境で、goが入ってる場合は、以下でもインストールできる。 $ go install github.com/nektos/act@latestM1 Macで起動する場合は、「--container-architecture linux/amd64」オプションをつける。 また、以下の問題があり、yarnコマンドが実行できないことがある。 「-P」または「--platform」でプラットフォームを指定でき、上のissueに記載されている通り、「-P ubuntu-lates

    GitHub Actionをローカル実行する - actのメモ|Junichi Sato
  • バッチ処理 プラクティス

    バッチ処理は既に先人の方々が多くのナレッジを公開してくれていますが、それでもなお難しさが変わらないテーマだと思っています。 この記事は、筆者がこれまでの開発経験で気づいたバッチ処理の実装ナレッジを整理し、体系化を目指して文章にしました。 ここでの内容が、より良い課題解決に貢献できれば幸いです。 自身の断片的な思考整理(メモ書き)の延長で内容を整理したため、一部書き振りが統一されておらず、読みにくいかもしれません。ご了承ください。🙏 バッチ処理の難しさバッチ処理は難しい。 人によっては簡単なテーマかもしれませんが、自分は難しいテーマだと思っています。 「難しさの根源は何か?」を考えると、1. 考慮点が多様にあること 2. 解決する課題によって答えが大きく変わること に整理できました。 この2点は、どのソフトウェア開発にも当てはまる項目ではありますが、ことバッチ処理においては顕著に現れます。

    バッチ処理 プラクティス
  • [lizard]循環的複雑度(CCN)が高すぎるコードをブロックするGitHub Actionを作ってみた

    エレベータ―ピッチ コードの複雑度(CCN、行数など)をCIに組み込むことで、複雑すぎるコードのマージを阻止。 GitHub Actionとして、GitHub Marketplaceに公開し、容易に導入可能。 引数としてしきい値などを容易にカスタマイズ可能。 軽量なコンテナを使い1分以内に実行が可能 OSS+GitHub Actionsなのでプライベートリポジトリなどでも無課金で使用可能 概要 一般的に、アジャイル開発の現場においては、CIとしてテスト自動化を組み込むことが行われています。テスト自動化を行う事で、マージしたコードが、思いもよらない機能に対して、致命的な副作用を発生させていないことが保証され続けます。これによりエンジニアはより心理的安全性の高い環境で開発できます。 しかし、プロダクトが一定以上の規模になってくると、テストケースが十分に存在しており、カバレッジが高く保たれていた

    [lizard]循環的複雑度(CCN)が高すぎるコードをブロックするGitHub Actionを作ってみた
  • 1