Skip to content

Generate UML

Generate UML #10

name: Generate UML
on:
push:
branches:
- master
workflow_dispatch:
jobs:
generate-uml:
name: 'Generate UML'
runs-on: ubuntu-latest
permissions:
contents: write
env:
CODE_PATH: "./Assets/Scripts/"
UML_OUTPUT_PATH: "./UML/"
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 (THE FINAL FIX: Swapping to the reliable official action)
- name: Generate SVG Diagrams
uses: plantuml/plantuml-action@v2 # <-- RELIABLE ACTION
with:
# This action reliably finds all PUML files and renders the SVG next to them
path: ${{ env.UML_OUTPUT_PATH }}*.puml
args: -tsvg
# 4. Commit and Push Changes
- 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 }}.