Quality Gates
Ironloom Cargo formatting, Clippy, tests, dependency policy, vulnerability audit, schemas, documentation build, Docker build, Helm render और SonarCloud analysis के माध्यम से strict validation बनाए रखता है।
Local Gates
sh
cargo fmt --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
cargo run -p ironloom-schemas -- --check
cargo deny check
cargo audit
just scripts-test
npm run docs:build
helm lint deploy/helm/ironloom
helm template ironloom deploy/helm/ironloomRecipe Shortcuts
just proofruntime image build करता है, local container start करता है, setup values submit करता है, और complete proof app generate करता है।just k3s-acceptancedisposable k3s container start करता है, Helm chart install करता है, signed Discord intake verify करता है, और prove करता है कि PVC-backed artifact index pod restart के बाद भी बना रहता है।just discord-endpoint-acceptancereal Discord application का उपयोग करके public Interactions Endpoint URL को Discord के signed validationPINGसे validate करता है।just external-probereal bound runtime credentials का उपयोग करके GitHub source-of-truth repository state read करता है और SonarCloud quality तथा issue state poll करता है।just gatesformat, Clippy, tests, schemas, SonarCloud bootstrap script behavior, docs, Helm, dependency policy, और vulnerability audit के common local gates चलाता है।just setup-urlmanual browser validation के लिए local setup URL और installer token print करता है।
Publishing Gates
- Docker Buildx
docker/ironloom-runtime/Dockerfilebuild करता है। - Helm
deploy/helm/ironloomको OCI chart के रूप में publish करता है। - GitHub Pages VitePress public site publish करता है।
- SonarCloud को
cargo llvm-covसे Rust LCOV coverage और CI द्वारा enforce किए गए उसी lint command से generated Clippy JSON report मिलती है। - SonarCloud docs-site files analyze करता है, लेकिन उन्हें coverage accounting से exclude करता है ताकि Rust LCOV quality gate signal बना रहे।
- SonarCloud scan के बाद CI scanner compute-engine task पूरा होने का इंतजार करता है और workflow log में authenticated quality gate status तथा हर condition print करता है।
- CI scan से पहले
vannadii_ironloomSonarCloud project verify करता है, SonarCloud 404 लौटाए तो उसे create करता है, और SonarCloud main branch को GitHub default branch से align करता है। अगर target नाम वाली stale non-main branch पहले से मौजूद हो, तो CI SonarCloud main branch rename करने से पहले उस branch को delete करता है और result verify करता है। - अगर SonarCloud
NONEलौटाता है क्योंकि project quality gate से associated नहीं है, तो CI authenticated project measures के विरुद्ध organization default gate enforce करता है और missing या violating measures पर fail closed करता है। - Runtime external probe भी SonarCloud
NONEलौटाने पर वही organization default gate fallback उपयोग करता है, ताकि live probes quality gate को pending छोड़ने के बजाय passed या failed report करें। SONAR_TOKENsecret project create/read करने, main branch manage करने, analysis submit करने, quality gate पढ़ने, organization quality gates पढ़ने, और project measures पढ़ने में सक्षम होना चाहिए; उसे quality gates modify करने की permission नहीं चाहिए।