Files
notion-sql/scripts/verify-release.sh
james.maes fb10ae20c3 feat: Implement v1.0.0 release with comprehensive audit fixes
- Fix clippy warnings in test code by adding #[allow(dead_code)]
- Move all unit tests from source files to tests/ directory
- Add integration tests for SQL parsing and schema operations
- Create examples directory with 5 SQL query examples
- Add Windows CI job to ci.yml for cross-platform coverage
- Update Cargo.toml with documentation and readme fields
- Add comprehensive clean room audit documentation

All 39 tests passing, clippy clean, formatting verified
2026-06-02 13:12:50 -05:00

55 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
# Release Verification Checklist
set -e
echo "=== notion-sql v1.0.0 Release Verification ==="
echo ""
# 1. Code Quality Gates
echo "🔍 Step 1/6: Code Quality Gates"
cargo fmt --check && echo "✅ Formatting OK" || { echo "❌ Formatting FAILED"; exit 1; }
cargo clippy --all-targets --all-features -- -D warnings && echo "✅ Clippy OK" || { echo "❌ Clippy FAILED"; exit 1; }
cargo test --all-targets --all-features && echo "✅ Tests OK" || { echo "❌ Tests FAILED"; exit 1; }
RUSTDOCFLAGS='-D warnings' cargo doc --no-deps --all-features && echo "✅ Docs OK" || { echo "❌ Docs FAILED"; exit 1; }
# 2. Build System Gates
echo ""
echo "🔍 Step 2/6: Build System Gates"
cargo build --release && echo "✅ Release build OK" || { echo "❌ Build FAILED"; exit 1; }
dist generate --check && echo "✅ Dist config OK" || { echo "❌ Dist config FAILED"; exit 1; }
dist plan --tag v1.0.0 && echo "✅ Release plan OK" || { echo "❌ Release plan FAILED"; exit 1; }
# 3. Release Process Gates
echo ""
echo "🔍 Step 3/6: Release Process Gates"
gh repo view KofTwentyTwo/homebrew-tap && echo "✅ Homebrew tap exists" || { echo "❌ Homebrew tap FAILED"; exit 1; }
gh secret list --repo KofTwentyTwo/notion-sql | grep HOMEBREW_TAP_TOKEN && echo "✅ Token exists" || { echo "❌ Token check FAILED"; exit 1; }
# 4. Documentation Gates
echo ""
echo "🔍 Step 4/6: Documentation Gates"
grep -q "2026-06-02" CHANGELOG.md && echo "✅ CHANGELOG updated" || { echo "❌ CHANGELOG not updated"; exit 1; }
test -f examples/README.md && echo "✅ Examples README exists" || { echo "❌ Examples README missing"; exit 1; }
# 5. Security Gates
echo ""
echo "🔍 Step 5/6: Security Gates"
grep -q "NOTION_TOKEN" SECURITY.md && echo "✅ Token handling documented" || { echo "❌ Token handling not documented"; exit 1; }
grep -q "dry-run" README.md && echo "✅ Dry-run mode documented" || { echo "❌ Dry-run mode not documented"; exit 1; }
# 6. Final Verification
echo ""
echo "🔍 Step 6/6: Final Verification"
git status --short && echo "✅ No uncommitted changes" || { echo "⚠️ Uncommitted changes detected"; }
git log --oneline -5 && echo "✅ Recent commits OK"
git tag -l && echo "✅ Tags OK"
echo ""
echo "=== Release Verification Complete ==="
echo ""
echo "If all checks passed, proceed with release:"
echo " git commit -am 'Update CHANGELOG for v1.0.0'"
echo " git tag v1.0.0"
echo " git push origin v1.0.0"