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