APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

GitHub Actionsのwarningの対応はGitHub Copilot Chatで簡単にできそう

エーピーコミュニケーションズ ACS事業部 亀崎です。

GitHub Copilot for Businessを利用しているので、GitHub Copilot Chatも利用させて頂いております。 そんなGitHub Copilot Chatで、「お、いい感じだね」と思ったことがありましたので紹介させてください。

手元のリポジトリでyarnを使っているものがあるのですが、yarn実行時にキャッシュを有効にしたかったので、とあるサイトに記載されていた内容をGitHub Actionsで実行しました。以下はその一部です。

      # Get the yarn cache path.
      - name: Get yarn cache directory path
        id: yarn-cache-dir-path
        run: echo "::set-output name=dir::$(yarn config get cacheFolder)"

動作はするのですが、GitHub Actions実行後に以下のようなアラートが出ていました。

The set-output command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

参考とすべきURLも表示されているし、調べれば対応方法はわかるとは思いますが、まずは GitHub Copilot Chatに問い合わせしてみました。

すると、修正案を出してくれて、「Accept」すればそのまま修正完了。自分の修正イメージも合致しているので、もちろんAccept簡単です。

さらにもう1つの例です。

      - name: Restore yarn cache
        uses: actions/cache@v2
        id: yarn-cache
        with:
          path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
          key: yarn-cache-folder-${{ hashFiles('**/yarn.lock', '.yarnrc.yml') }}
          restore-keys: |
            yarn-cache-folder-

こちらも以下のようなワーニングがでてきました。

The following actions uses node12 which is deprecated and will be forced to run on node16: actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/

これも同様に GitHub Copilot Chatに確認します。

こちらはcacheのバージョンをNode 16に対応しているものにアップデートするよう提案してきます。 これでもいいとは思いますが、すでに cacheはv3が登場しているので、そちらにしたい。でも、バージョンアップをすれば問題は解消するということがわかるので、提案としてはまずまずです。

このように、GitHub Actionsで発生するワーニングなどは、GitHub Copilot Chatに問い合わせすることで、対応方法はだいたい提示してくれそうです。

あとは自分自身で受け入れるかどうか。GitHub Copilot Chatのおかげで「Captain」としての自分の修正内容にも自信を持てそうですし、まさに「Copilot」としての仕事は十分に果たしてくれてるなという感じを受けました。

GitHub Copilot Chatもなかなか使いどころの多い機能になりそうです。早くGAになって、より多くの方に体験して頂きたいと思います。