Skip to content

Generate UML

Generate UML #9

name: Generate UML
on:
push:
branches:
- master # Or 'main', depending on your branch name
workflow_dispatch:
jobs:
generate-uml:
name: 'Generate UML'
runs-on: ubuntu-latest
permissions:
contents: write # <--- CRITICAL FIX FOR 403 ERROR
env:
CODE_PATH: "./Assets/Scripts/" # <-- Verify this path is correct
UML_OUTPUT_PATH: "./UML/" # <-- Verify this path is desired
UMP_GENERATION_PARAMETERS: -createAssociation -allInOne
steps:
- uses: actions/checkout@v2
# 1. SETUP .NET
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 8.0.x
# 2. INSTALL AND GENERATE PLANTUML FILES
- name: Generate PlantUML files
run: |
dotnet tool install --global PlantUmlClassDiagramGenerator --version 1.4.0
puml-gen ${{ env.CODE_PATH }} ${{ env.UML_OUTPUT_PATH }} -dir ${{ env.UMP_GENERATION_PARAMETERS }}
# 3. CONVERT PUML TO SVG
- name: Generate SVG Diagrams
uses: Timmy/plantuml-action@v1
with:
path: ${{ env.UML_OUTPUT_PATH }}*.puml
args: -tsvg # Generates SVG files
# 4. Commit and Push Changes (FIXED: Added '.' to commit all contents of the directory)
- uses: EndBug/add-and-commit@v7.0.0
with:
author_name: 'UML Bot'
message: 'Generate UML (${{ github.workflow }})'
author_email: 41898282+uml-bot[bot]@users.noreply.github.com
add: ${{ env.UML_OUTPUT_PATH }}. # <-- FIX: This ensures SVGs inside the UML folder are tracked