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

iPhoneで撮った写真(HEIC)をGitHubにアップロードする

GitHubアプリ上からアップロードするのが楽

Personal Access Tokenの見直し

整理した

Github ActionでfirebaseプロジェクトをS3にデプロイする

deploymentブランチにpushしたら自動でs3にデプロイできるようになった

Github ActionでCloudfrontのキャッシュをクリアする

デプロイ後にキャッシュクリアを行うように設定

GitHub app is built on Slack's workspace apps which are now deprecated

旧GitHub appは新appのインストール後に消すべきだった

Github Actionで特定のブランチの場合のみ実行する処理を書く

if: contains(github.ref, 'master')でmasterのみ自動コミットをするようにした