Github Actions のCIでphp-class-diagramでクラス図を生成することができるようになりました

Github Actions の CI で、php-class-diagramを使ってクラス図を生成することができるようになりました。

具体的には、Github Actions のアクションのリポジトリを作成しました。 smeghead/php-class-diagram-gh-action

このアクションを使うことで、workflowのymlファイルに数行記述するだけで、CI中にリポジトリ内のPHPソースコードからクラス図を生成することができるようになります。

この対応は、郡山さん(@koriym)にIssuesで提案いただいたのをきっかけに対応を開始しました。ありがとうございます。

GitHub Actionでの実行対応のリクエスト #63

以下は、smeghead/php-class-diagram-gh-action のREADMEの日本語訳です。


php-class-diagram-gh-action

これは、Github Actions php-class-diagram の CI アクションです。

A CLI tool that parses the PHP source directory and generates PlantUML class diagram scripts as output. [php-class-diagram](https://github.com/smeghead/php-class-diagram)

これは、php-class-diagram を使用して PHP ソース コードからクラス図を生成する Github Actions アクションです。 このアクションにより、指定されたファイル名のクラス図がランナーのデフォルトの作業ディレクトリ (GITHUB_WORKSPACE) に配置されます。

Accessing files created by a container action | Creating a Docker container action – GitHub Docs

このアクションで作業ディレクトリに図を生成した後、別のアクションを使用してそれをアーティファクトにアップロードするか、Github Pages にデプロイするか、リポジトリにコミットします。

Inputs

`target-path`

**必須** クラス図を生成するリポジトリ内のターゲットソースコードディレクトリを指定します。デフォルト src

`output-path`

出力する画像のファイルパスを指定します。デフォルト php-class-diagram.png

`options`

必要に応じて、php-class-diagram に追加するオプションを指定します。デフォルト ""

使用例

チェックアウトしたワークスペース内のクラス図を作成したいディレクトリからクラス図を作成し、アーティファクトとしてアップロードする例です。

  • .github/workflows/php-class-diagram.yml
name: PHP Class Diagram

on: [push]

jobs:
  create-class-diagram:
  runs-on: ubuntu-latest
  name: Create class diagram
  steps:
    - name: Checkout
       uses: actions/checkout@v4

    - name: Create class diagram
       id: create-class-diagram
       uses: smeghead/php-class-diagram-gh-action@v0
       with:
         target-path: src
         output-path: diagram.png

    - name: Upload Artifact
       uses: actions/upload-artifact@v4
       with:
          name: Class_Diagram
          path: diagram.png
          retention-days: 5

php-class-diagram のCIでもpush時にクラス図を作成するよう設定しました。

CIの結果は、以下のような形で確認できます。

Create class diagram というのが追加したjobです。

同じページの下の方で、保存されたArtifactsを確認できます。

このファイルをダウンロードして展開すると、生成したクラス図を確認できます。

実質、php-class-diagramのリポジトリでは、workflowファイルに20行追加しただけでクラス図を生成できましたので、PHPのソースコードが入っているGithubリポジトリを持ってる人は試してみて下さい。

 

 

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


The reCAPTCHA verification period has expired. Please reload the page.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください