1313 - " **/*.d2"
1414 - " site/**"
1515 - " ui/**"
16-
16+
1717 workflow_run :
1818 workflows : ["Formal Spec Listener"]
1919 types :
2020 - completed
2121 branches :
2222 - main
2323
24+ workflow_dispatch : # Allow manual triggering or via API
25+
2426# Global permissions
2527permissions :
2628 contents : read
@@ -117,18 +119,18 @@ jobs:
117119 with :
118120 lfs : true
119121 fetch-depth : 2
120-
122+
121123 - name : 🛠️ Setup Node.js
122124 uses : actions/setup-node@v4
123125 with :
124126 node-version : 22
125127 cache : " yarn"
126- cache-dependency-path : ./ui/yarn.lock
128+ cache-dependency-path : ./ui/yarn.lock
127129
128130 - name : 📦 Install dependencies
129131 working-directory : ui
130132 run : yarn install
131-
133+
132134 - name : 🏗️ Build visualizer
133135 working-directory : ui
134136 run : |
@@ -147,8 +149,8 @@ jobs:
147149 needs : [viz-build]
148150 # For workflow_run events, we don't need viz-build
149151 if : |
150- github.event_name == 'pull_request' ||
151- github.event_name == 'push' ||
152+ github.event_name == 'pull_request' ||
153+ github.event_name == 'push' ||
152154 (github.event_name == 'workflow_run' && github.event.workflow_run.conclusion == 'success')
153155 outputs :
154156 has_changes : ${{ steps.check_changes.outputs.has_changes || github.event_name == 'workflow_run' }}
@@ -216,7 +218,7 @@ jobs:
216218 run : |
217219 # Create formal spec directory if it doesn't exist
218220 mkdir -p site/static/formal-spec
219-
221+
220222 # Check if we have files to copy
221223 if [ -z "$(ls -A formal-spec-html/ 2>/dev/null)" ]; then
222224 echo "No formal spec HTML files found - using placeholder"
@@ -266,7 +268,7 @@ jobs:
266268 docs-publish :
267269 name : " Publish"
268270 if : |
269- github.ref == 'refs/heads/main' &&
271+ github.ref == 'refs/heads/main' &&
270272 needs.docs-build.outputs.has_changes == 'true'
271273 runs-on : ubuntu-latest
272274 needs : docs-build
0 commit comments