GitHub Action
Lunaria GitHub Action は、マージ後のローカライゼーション状態に変更が与える影響の概要を、プルリクエストにコメントとして表示し、潜在的な問題と Lunaria の動作についてのインサイトを提供します。
必要条件
- Node.js -
v20.0.0以上。 @lunariajs/core-v0.1.0以上。
Action の設定
以下の内容で、プロジェクト内の .github/workflows/lunaria.yml に新しいファイルを作成してください。使用するパッケージマネージャーに応じて内容を調整してください:
name: Lunaria
on: # 対象の `main` ブランチでプルリクエストが開かれた、または同期されたときにワークフローをトリガー # 別のブランチ名を使用している場合、`main` をあなたのブランチ名に置き換えてください pull_request_target: types: [opened, synchronize] branches: [main]
# ワークフローがレポジトリをクローンし、プルリクエストにコメントできるように許可permissions: contents: read pull-requests: write
jobs: lunaria-overview: name: Lunaria 概要の生成 runs-on: ubuntu-latest
steps: - name: クローン uses: actions/checkout@v4 with: # Lunaria が正常に動作するために必要 # アクションがすべての git 歴史をクローンするようにする fetch-depth: 0
- name: Node の設定 uses: actions/setup-node@v4 with: node-version: 20 cache: npm
- run: npm install
- name: Lunaria 概要の生成name: Lunaria
on: # 対象の `main` ブランチでプルリクエストが開かれた、または同期されたときにワークフローをトリガー # 別のブランチ名を使用している場合、`main` をあなたのブランチ名に置き換えてください pull_request_target: types: [opened, synchronize] branches: [main]
# ワークフローがレポジトリをクローンし、プルリクエストにコメントできるように許可permissions: contents: read pull-requests: write
jobs: lunaria-overview: name: Lunaria 概要の生成 runs-on: ubuntu-latest
steps: - name: クローン uses: actions/checkout@v4 with: # Lunaria が正常に動作するために必要 # アクションがすべての git 歴史をクローンするようにする fetch-depth: 0
- name: Node の設定 uses: actions/setup-node@v4 with: node-version: 20 cache: pnpm
- name: PNPM の設定 uses: pnpm/action-setup@v3
- run: pnpm install
- name: Lunaria 概要の生成name: Lunaria
on: # 対象の `main` ブランチでプルリクエストが開かれた、または同期されたときにワークフローをトリガー # 別のブランチ名を使用している場合、`main` をあなたのブランチ名に置き換えてください pull_request_target: types: [opened, synchronize] branches: [main]
# ワークフローがレポジトリをクローンし、プルリクエストにコメントできるように許可permissions: contents: read pull-requests: write
jobs: lunaria-overview: name: Lunaria 概要の生成 runs-on: ubuntu-latest
steps: - name: クローン uses: actions/checkout@v4 with: # Lunaria が正常に動作するために必要 # アクションがすべての git 歴史をクローンするようにする fetch-depth: 0
- name: Node の設定 uses: actions/setup-node@v4 with: node-version: 20 cache: yarn
- run: yarn install
- name: Lunaria 概要の生成設定が正しく行われていれば、この Action は、Lunaria でトラックされているファイルを含む新しい、または更新されたすべてのプルリクエストにコメントを残します(トラックされていないものはコメントを受けません)。
モノレポ向けの追加手順
デフォルトでは、Action はレポジトリのベースディレクトリ内に @lunariajs/core パッケージがあるか探します。
モノレポを使用していて、package.json ファイルのルートにパッケージがインストールされていない場合、working-directory を正しいパスに設定する必要があります。
この例では、@lunariajs/core パッケージが docs/package.json ファイルにインストールされていると仮定しており、working-directory は docs に設定する必要があります:
- name: Lunaria 概要の生成 with: working-directory: docsプライベートレポ向けの追加手順
デフォルトでは、権限の不足により、Action はプライベートレポで実行されません。これを修正するには、いくつかの追加手順が必要です:
-
GitHub 上で新しい 個人用アクセストークン (PAT) を作成し、レポジトリの Action シークレットに追加します。
-
前に追加したシークレット名に対応する
token入力を、.github/workflows/lunaria.ymlファイルのチェックアウトおよび Lunaria ワークフローのステップに追加します:- name: クローンuses: actions/checkout@v4with:# Lunaria が正常に動作するために必要# アクションがすべての git 歴史をクローンするようにするfetch-depth: 0token: ${{ secrets.PAT }}- name: Lunaria 概要の生成with:token: ${{ secrets.PAT }}
参照
入力値
-
token- オプション:Action を実行するための GitHub の個人用アクセストークン。- name: Lunaria 概要の生成with:token: ${{ secrets.PAT }} -
working-directory- オプション:Action を実行するための目的の作業ディレクトリ。@lunariajs/coreがインストールされたサブディレクトリに設定する必要があります。- name: Lunaria 概要の生成with:working-directory: docs