{ "version": 1, "name": "hwlab-deploy-skeleton-ci", "profile": "dev", "commands": [ { "name": "repo-reports-guard", "run": "node scripts/repo-reports-guard.mjs" }, { "name": "g14-contract-check", "run": "node --check scripts/g14-gitops-render.mjs && node scripts/g14-gitops-render.mjs --check && node --check scripts/artifact-publish.mjs && node --check scripts/g14-artifact-publish.mjs" }, { "name": "g14-artifact-publish-static-check", "run": "node --check scripts/artifact-publish.mjs && node --check scripts/g14-artifact-publish.mjs" }, { "name": "parse-deploy-json", "run": "node -e \"JSON.parse(require('node:fs').readFileSync('deploy/deploy.json','utf8'))\"" }, { "name": "parse-k8s-json-yaml", "run": "node -e \"const fs=require('node:fs'); for (const f of fs.readdirSync('deploy/k8s/base').concat(fs.readdirSync('deploy/k8s/dev').map(x=>'../dev/'+x), fs.readdirSync('deploy/k8s/prod').map(x=>'../prod/'+x))) { if (!f.endsWith('.yaml')) continue; const p=f.startsWith('..')?'deploy/k8s/'+f.replace('../',''):'deploy/k8s/base/'+f; JSON.parse(fs.readFileSync(p,'utf8')); }\"" }, { "name": "parse-frp-toml", "run": "python3 - <<'PY'\nimport pathlib, tomllib\nfor path in pathlib.Path('deploy/frp').glob('*.toml'):\n tomllib.loads(path.read_text())\nPY" } ], "forbidden": [ "prod-deploy", "secret-material", "unidesk-runtime-substitute", "force-push" ] }