xiaohongshu
xiaohongshu
Pre-push validation checklist (cargo fmt, clippy with zero warnings, feature flag testing, test suite), CI monitoring, merge process, and release quality gates. Use when preparing to push code, validating changes before PR, running CI checks, merging PRs, or preparing releases.
Full skill instructions
This skill provides guidance on validation workflows, CI/CD processes, and merge procedures for cqlite.
See validation-checklist.md for complete steps.
# Run all pre-push checks
./scripts/ci/validate-cleanup.sh
cargo fmt --all
git add -u
git commit -m "style: cargo fmt" || echo "No formatting needed"
# MUST pass with -D warnings (warnings = errors)
cargo clippy --package cqlite-core --lib --all-features -- -D warnings
Requirements:
#[allow(clippy::...)] without justification# M1 scope: reading only, no default features
cargo build --package cqlite-core --no-default-features --features=all-compression
Must succeed - tests feature gate correctness.
# Full feature set
cargo build --package cqlite-core --all-features
Must succeed - tests complete build.
# Run all library tests
cargo test --package cqlite-core --lib --all-features
Track test count - should not decrease unexpectedly.
# Run integration tests
cargo test --test '*'
Must pass - validates end-to-end functionality.
# Generate coverage report
cargo tarpaulin --out Html --output-dir coverage/
Target: ≥90% coverage (PRD requirement)
Core reading (minimal):
cargo build --package cqlite-core \
--no-default-features \
--features=all-compression
With benchmarks:
cargo build --package cqlite-core \
--no-default-features \
--features=all-compression,benchmarks
All features:
cargo build --package cqlite-core --all-features
# Test feature matrix
for features in "all-compression" "all-compression,benchmarks" "all-features"; do
echo "Testing: $features"
cargo test --package cqlite-core --no-default-features --features=$features
done
Located: .github/workflows/rust.yml
Jobs:
Format Check
cargo fmt -- --checkClippy
-D warningsBuild Matrix
Test Matrix
Coverage
# List recent runs
gh run list --branch <branch-name> --limit 5
# View specific run
gh run view <run-id>
# Watch live
gh run watch <run-id>
# Download logs
gh run view <run-id> --log
# Download failed job logs
gh run view <run-id> --log-failed
See merge-process.md for detailed workflow.
Before merging:
Squash merge (default for cleanup):
gh pr merge <pr-number> --squash --delete-branch
Merge commit (for feature branches):
gh pr merge <pr-number> --merge --delete-branch
Rebase (for clean history):
gh pr merge <pr-number> --rebase --delete-branch
<type>(<scope>): <subject>
<body>
<footer>
Types:
feat: New featurefix: Bug fixrefactor: Code refactoringperf: Performance improvementtest: Test additions/changesdocs: Documentationstyle: Formattingchore: Build/toolingcleanup: Dead code removalExample:
feat(parser): add support for duration CQL type
Implement deserialization for duration type consisting of
three VInts (months, days, nanoseconds).
- Add Duration variant to CqlType enum
- Implement parse_duration() with VInt handling
- Add property tests for edge cases
Closes #123
Common issues:
# Unused imports
cargo clippy --fix
# Unnecessary clones
# Review each and remove if safe
# Dead code warnings
# Expected for cleanup issues - document
Debugging:
# Run single test with output
cargo test --test test_name -- --nocapture
# Run with backtrace
RUST_BACKTRACE=1 cargo test test_name
# Run with logging
RUST_LOG=debug cargo test test_name
Feature flag issues:
# Check feature dependencies in Cargo.toml
[features]
default = ["all-compression"]
all-compression = ["lz4", "snap", "flate2"]
benchmarks = [] # NOT in default
Dependency issues:
# Clean and rebuild
cargo clean
cargo build
Below 90%:
All tests pass
cargo test --all-features
Benchmarks run
cargo bench --features=benchmarks
Documentation builds
cargo doc --no-deps --all-features
Examples work
cargo run --example basic_usage
Update CHANGELOG.md
## [0.1.0] - 2025-10-21
### Added
- Initial release
- Cassandra 5.0 SSTable parsing
- All CQL types supported
Update version
# Cargo.toml
[package]
version = "0.1.0"
# Tag version
git tag -a v0.1.0 -m "Release v0.1.0"
git push origin v0.1.0
# Create GitHub release
gh release create v0.1.0 \
--title "v0.1.0 - Initial Release" \
--notes-file RELEASE_NOTES.md \
--draft # Remove --draft when ready
Milestone M1 (Core Reading Library):
Milestone M6 (Performance & Release):
# Quick check before push
cargo fmt --all
cargo clippy --package cqlite-core --lib --all-features -- -D warnings
cargo test --package cqlite-core --lib
# If all pass:
git push origin feature/my-branch
# Check CI logs
gh run view --log
# Reproduce locally
cargo test --package cqlite-core --lib --features=all-compression
# Fix and push
git commit --amend
git push --force-with-lease origin feature/my-branch
# Generate coverage report
cargo tarpaulin --out Html
# Open report
open tarpaulin-report.html
# Identify uncovered code
# Add tests
# Re-run coverage
# .git/hooks/pre-commit
#!/bin/bash
set -e
echo "Running pre-commit checks..."
# Format
cargo fmt --all -- --check
# Clippy
cargo clippy --package cqlite-core --lib --all-features -- -D warnings
# Tests
cargo test --package cqlite-core --lib
echo "Pre-commit checks passed!"
# .git/hooks/pre-push
#!/bin/bash
set -e
echo "Running pre-push validation..."
# Full validation
./scripts/ci/validate-cleanup.sh
echo "Pre-push validation passed!"
Possible causes:
Solution:
# Run in Docker matching CI environment
docker run --rm -v $(pwd):/workspace -w /workspace rust:latest \
cargo test --all-features
Cause: Different Rust versions
Solution:
# Check Rust version
rustc --version
# Use same as CI (check .github/workflows/rust.yml)
rustup install 1.70.0
rustup default 1.70.0
Cause: Non-deterministic code or flaky tests
Solution:
Validate locally before pushing
Fix clippy warnings immediately
Keep PRs small
Write meaningful commit messages
Monitor CI actively
After validation passes:
.github/workflows/rust.yml - CI configurationscripts/ci/validate-cleanup.sh - Validation scriptxiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience