Docs changes workflow#144
Open
tbuchaillot wants to merge 2 commits into
Open
probelabs / Visor: architecture
failed
Jul 21, 2026 in 54s
🚨 Check Failed
architecture check failed because fail_if condition was met.
Details
📊 Summary
- Total Issues: 3
- Error Issues: 2
- Warning Issues: 1
🔍 Failure Condition Results
Failed Conditions
- global_fail_if: output.issues && output.issues.some(i => i.severity === 'critical' || i.severity === 'error')
- Severity: ❌ error
Issues by Category
Architecture (2)
- ❌ .github/workflows/docs-preview.yml:88 - The
previewjob implements a monolithic design, embedding component-specific logic for five different products (gateway,dashboard, etc.) directly within the workflow, controlled by numerousifconditions. Furthermore, the PR description confirms this complex logic is a verbatim copy from another repository's workflow (exp/tyk-docs.yml). This approach introduces significant architectural issues: it violates the Single Responsibility Principle, making the workflow difficult to maintain and extend, and the cross-repository duplication creates major technical debt, requiring manual synchronization of any future changes. ⚠️ .github/workflows/docs-preview.yml:173 - The shell functionmassage()is defined identically in two separaterunsteps: "Generate gateway swagger" (lines 173-188) and "Generate dashboard docs" (lines 193-208). This duplication within the same file violates the DRY (Don't Repeat Yourself) principle and makes the script harder to maintain, as any changes must be applied in both places.
Logic (1)
- ❌ system:0 - Global failure condition met: output.issues && output.issues.some(i => i.severity === 'critical' || i.severity === 'error')
Powered by Visor from Probelabs
💡 TIP: You can chat with Visor using /visor ask <your question>
Annotations
Check failure on line 325 in .github/workflows/docs-preview.yml
probelabs / Visor: architecture
architecture Issue
The `preview` job implements a monolithic design, embedding component-specific logic for five different products (`gateway`, `dashboard`, etc.) directly within the workflow, controlled by numerous `if` conditions. Furthermore, the PR description confirms this complex logic is a verbatim copy from another repository's workflow (`exp/tyk-docs.yml`). This approach introduces significant architectural issues: it violates the Single Responsibility Principle, making the workflow difficult to maintain and extend, and the cross-repository duplication creates major technical debt, requiring manual synchronization of any future changes.
Raw output
To mitigate the technical debt and create a more scalable design, the component-specific generation logic should be extracted into shared, reusable composite actions, as mentioned in the PR description. This workflow should be refactored to be a pure orchestrator that calls these actions. This architectural refactoring should be prioritized to avoid solidifying a fragile, duplicated implementation.
Check warning on line 208 in .github/workflows/docs-preview.yml
probelabs / Visor: architecture
architecture Issue
The shell function `massage()` is defined identically in two separate `run` steps: "Generate gateway swagger" (lines 173-188) and "Generate dashboard docs" (lines 193-208). This duplication within the same file violates the DRY (Don't Repeat Yourself) principle and makes the script harder to maintain, as any changes must be applied in both places.
Raw output
Refactor the script to define the `massage()` function only once. You could combine the two swagger generation steps into one, or define the function in a way that it's available to both steps (e.g., by exporting it in a previous step).
Loading