Replace hardcoded workflow blocks with config-driven products.yml#19
Replace hardcoded workflow blocks with config-driven products.yml#19mosheabr merged 3 commits intoNVIDIA:mainfrom
Conversation
Teams onboard by adding an entry to products.yml instead of editing workflow files. Both sync-skills.yml and ci.yml now read product definitions from this single config using yq. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
39e3d31 to
69ad839
Compare
The sync-skills workflow pulls actual skill files from product repos, making the separate count-verification workflow unnecessary. The count check also fails on symlinked paths (Megatron-Core) and requires a separate token (PRIVATE_REPO_ACCESS_TOKEN) to maintain. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Nice work @sayalinvidia — Makes sense on removing A couple things to check before merging: 1.
|
1. Add yq version check step — yq is pre-installed on ubuntu-24.04 (ubuntu-latest) but this fails fast with a clear error if missing. 2. Use git credential helper instead of embedding the PAT in clone URLs. Prevents token leaking in error output. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Thanks for the review @mosheabr
|
|
Both concerns addressed nicely @sayalinvidia — thanks for the quick turnaround. The @pmcaughan-nv — can you take a look before we merge? You're closer to the workflow infra so would be good to get your sign-off too. |
|
Looks good as an interim solution - I think this could be improved by being more transparent in surfacing errors (clone and checkout commands pipe to null) and it would be more beneficial long-term to have a per-product sync/commit flow, but this would be too much with the interim HITM approach. I believe this is good enough to have as a starting solution to build off of |

Teams onboard by adding an entry to products.yml instead of editing workflow files. Both sync-skills.yml and ci.yml now read product definitions from this single config using yq.
Summary
Adds products.yml as the single source of truth for the product catalog
Rewrites sync-skills.yml to loop over products.yml using yq instead of 20+ hardcoded checkout/copy blocks
Rewrites ci.yml to read product definitions from products.yml instead of a hardcoded bash array
Adds continue-on-error: true to the issue-creation step (prevents double-failure when Issues is disabled)
Onboarding experience for teams
Before: edit README + sync-skills.yml + ci.yml (3 files, workflow knowledge required)
After: add an entry to products.yml and open a PR:
repo: NVIDIA-AI-Blueprints/rag
description: "RAG pipeline — deploy, configure, and manage retrieval augmented generation."
skills:
catalog_dir: rag-blueprint
Test plan
yqparsing works on GitHub-hosted runnerworkflow_dispatchof sync-skills with validSKILLS_SYNC_PATworkflow_dispatchof ci.yml to verify count checks