MonorepoでGitHub Actionsを使う

公開日時
更新日時

サーバとフロントのコードを1リポジトリで管理したかったのでMonorepo形式で開発を進めることにした。

その際にフロントの場合はfrontディレクトリへの変更があった場合のみ、サーバの場合はserverディレクトリに変更があった場合のみGitHub Actionsでテストを実行するようにしたかったので対応方法を調べた。

対応方法としては、onでのトリガー時に paths を設定することでサブディレクトリへの変更のみを検知できるようになった。

また、そのままだとルートディレクトリが実行起点となってしまうので、 working-directory も合わせて設定するようにした。

これでMonorepoでも快適に開発が進めていける。

# .github/workflows/front-test.yml
name: Front Test
on:
  push:
    branches:
      - main
    paths:
      - 'front/**'
  pull_request:
    paths:
      - 'front/**'
jobs:
  jest_test:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./front # <=
    steps:
      - name: yarn
        run: |
          yarn
      - name: Run test
        run: |
          yarn run test

参考


Related #github

GitHubのDark theme

GitHub-flavoured markdown tips

詳細折りたたみをうまく使っていきたい

GitHub CLIを使い始めた

ブラウザからポチポチしなくていいのは楽

GitHub Actionsのワークフローを一時的に無効化する

「...」メニューをクリックして「Disable workflow」を選択

GitHub Actionsのワークフローを定期実行する

scheduleトリガーを設定する