.github/skills/pre-release-validation/SKILL.md
Run comprehensive pre-release checks: full test suite, E2E tests, coverage verification, CHANGELOG validation, and generated code freshness. Triggers on: before creating a release tag, release preparation.
npx skillsauth add aztfmod/terraform-provider-azurecaf pre-release-validationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Check that CHANGELOG.md has entries under ## [Unreleased]:
sed -n '/^## \[Unreleased\]/,/^## \[v/p' CHANGELOG.md | grep -c "^- "
If no entries, FAIL: "No unreleased changes documented in CHANGELOG.md."
go generate
git diff --name-only azurecaf/models_generated.go
If there are uncommitted changes, FAIL: "Generated code is stale. Run go generate and commit."
make test_ci 2>&1 | tee /tmp/prerelease-tests.txt
All tests must pass.
make test_e2e 2>&1 | tee /tmp/prerelease-e2e.txt
All E2E tests must pass.
make test_coverage 2>&1 | tee /tmp/prerelease-coverage.txt
Coverage must be >= 95%.
## Pre-Release Validation Report
| Check | Status |
|-------|--------|
| CHANGELOG has entries | ✅ / ❌ |
| Generated code fresh | ✅ / ❌ |
| Unit tests | ✅ / ❌ |
| E2E tests | ✅ / ❌ |
| Coverage >= 95% | ✅ (<percentage>%) / ❌ (<percentage>%) |
Overall: READY FOR RELEASE / NOT READY
rm -f /tmp/prerelease-*.txt
development
Analyze test failure output to identify root cause and suggest fixes. Use when build or test failures occur. Triggers on: test failures, build errors, CI failures.
development
Validate a resource definition end-to-end using terraform test with mock_provider azurerm. Proves the CAF-generated name is accepted by the azurerm provider schema without Azure credentials. Use after provider-build-test succeeds to run the mocked azurerm integration test.
documentation
Analyze changes since the last release tag and determine the appropriate semantic version bump (patch/minor/major) based on CHANGELOG entries and commit types. Triggers on: release preparation, version planning.
testing
Compare two versions of resourceDefinition.json (e.g., branch vs main) and produce a structured change summary. Triggers on: PR review, audit, before/after comparison.