コンテンツへスキップ

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 概要の生成
uses: yanthomasdev/[email protected]

設定が正しく行われていれば、この Action は、Lunaria でトラックされているファイルを含む新しい、または更新されたすべてのプルリクエストにコメントを残します(トラックされていないものはコメントを受けません)。

モノレポ向けの追加手順

デフォルトでは、Action はレポジトリのベースディレクトリ内に @lunariajs/core パッケージがあるか探します。

モノレポを使用していて、package.json ファイルのルートにパッケージがインストールされていない場合、working-directory を正しいパスに設定する必要があります。

この例では、@lunariajs/core パッケージが docs/package.json ファイルにインストールされていると仮定しており、working-directorydocs に設定する必要があります:

- name: Lunaria 概要の生成
uses: yanthomasdev/[email protected]
with:
working-directory: docs

プライベートレポ向けの追加手順

デフォルトでは、権限の不足により、Action はプライベートレポで実行されません。これを修正するには、いくつかの追加手順が必要です:

  1. GitHub 上で新しい 個人用アクセストークン (PAT) を作成し、レポジトリの Action シークレットに追加します。

  2. 前に追加したシークレット名に対応する token 入力を、.github/workflows/lunaria.yml ファイルのチェックアウトおよび Lunaria ワークフローのステップに追加します:

    - name: クローン
    uses: actions/checkout@v4
    with:
    # Lunaria が正常に動作するために必要
    # アクションがすべての git 歴史をクローンするようにする
    fetch-depth: 0
    token: ${{ secrets.PAT }}
    - name: Lunaria 概要の生成
    uses: yanthomasdev/[email protected]
    with:
    token: ${{ secrets.PAT }}

参照

入力値

  • token - オプション:Action を実行するための GitHub の個人用アクセストークン

    - name: Lunaria 概要の生成
    uses: yanthomasdev/[email protected]
    with:
    token: ${{ secrets.PAT }}
  • working-directory - オプション:Action を実行するための目的の作業ディレクトリ。@lunariajs/core がインストールされたサブディレクトリに設定する必要があります。

    - name: Lunaria 概要の生成
    uses: yanthomasdev/[email protected]
    with:
    working-directory: docs