feat: YAML pipeline template autocomplete (AzDO + GHA)
- Add scripts/sync_pipeline_templates.py — scans LRU AzDO and GHA template repos; outputs unified pipeline_templates_catalog.json (48 templates: 45 AzDO + 3 GHA) - Add scripts/template_sources.yml — source config (AzDO alias, GHA org) - Add pipeline_templates_catalog.json — baked catalog (49 KB) - Add ilsp/yaml_lsp/catalog.py — PipelineTemplateCatalog with completion item generators for template paths, param names, allowed values, GHA inputs - Add ilsp/yaml_lsp/proxy.py — async WS↔TCP bridge with LSP frame buffering, per-connection document tracking, AzDO/GHA context detection, and completion injection (LRU items sortText 0_, standard items downgraded to 9_) - Wire yaml_ws_handler into server.py (replaces raw _ws_proxy call) - Load PipelineTemplateCatalog at startup; reload + health report template count - Update push_catalogs.sh to push pipeline_templates_catalog.json - Update Dockerfile to bake pipeline_templates_catalog.json as image fallback - Add tests/test_yaml_catalog.py (14 tests) + tests/test_yaml_proxy.py (18 tests) All 67 tests green
This commit is contained in:
26
scripts/template_sources.yml
Normal file
26
scripts/template_sources.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
# Pipeline template sources for YAML autocomplete
|
||||
# Consumed by scripts/sync_pipeline_templates.py
|
||||
|
||||
sources:
|
||||
|
||||
# AzDO template repos — referenced via @alias in pipeline YAML
|
||||
azdo:
|
||||
- alias: pipeline-templates
|
||||
local_path: ~/IdeaProjects/Bitbucket/Drift/pipeline-templates
|
||||
# Relative subpaths to scan (empty = entire repo)
|
||||
scan_dirs:
|
||||
- tasks
|
||||
- stages
|
||||
- jobs
|
||||
- variables
|
||||
# File extensions to scan
|
||||
extensions: [.yaml, .yml]
|
||||
|
||||
# GitHub Actions reusable workflows — referenced via uses: org/repo/.github/workflows/file@ref
|
||||
gha:
|
||||
- org: LRU-Digital
|
||||
local_base: ~/IdeaProjects/GitHub/LRU-Digital
|
||||
# Only scan repos that have reusable workflows (workflow_call trigger)
|
||||
# Leave empty to scan all repos under local_base
|
||||
repos: []
|
||||
default_ref: main
|
||||
Reference in New Issue
Block a user