Skip to content

Docs changes workflow#144

Open
tbuchaillot wants to merge 2 commits into
mainfrom
docs-diff
Open

Docs changes workflow#144
tbuchaillot wants to merge 2 commits into
mainfrom
docs-diff

improvement

5b63642
Select commit
Loading
Failed to load commit list.
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 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.
  • ⚠️ .github/workflows/docs-preview.yml:173 - 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.

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

See this annotation in the file changed.

@probelabs 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

See this annotation in the file changed.

@probelabs 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).