Files
Administrator 24b4d90e98
Some checks failed
V2 CI/CD Pipeline / Pre-Flight Checks (push) Has been cancelled
V2 CI/CD Pipeline / Build & Dependencies (push) Has been cancelled
V2 CI/CD Pipeline / Code Quality & Linting (push) Has been cancelled
V2 CI/CD Pipeline / Unit Tests (100% Coverage Required) (push) Has been cancelled
V2 CI/CD Pipeline / Integration Tests (push) Has been cancelled
V2 CI/CD Pipeline / Performance Benchmarks (push) Has been cancelled
V2 CI/CD Pipeline / Decimal Precision Validation (push) Has been cancelled
V2 CI/CD Pipeline / Modularity Validation (push) Has been cancelled
V2 CI/CD Pipeline / Final Validation Summary (push) Has been cancelled
ci: add comprehensive CI/CD pipeline with 100% coverage enforcement
Created complete CI/CD infrastructure for V2 development:

GitHub Actions Pipeline (.github/workflows/v2-ci.yml):
- Pre-flight checks (branch naming, commit messages)
- Build & dependency validation
- Code quality with 40+ linters (golangci-lint)
- Unit tests with MANDATORY 100% coverage enforcement
- Integration tests with timeout management
- Performance benchmarks (parser < 5ms, detection < 10ms, e2e < 50ms)
- Decimal precision validation
- Modularity validation (component independence)
- Final validation summary with PR comments

Code Quality (.golangci.yml):
- 40+ enabled linters for comprehensive checks
- Cyclomatic complexity limits (max 15)
- Magic number detection
- Security scanning (gosec)
- Style checking with MEV/DEX terminology
- Test file exclusions for appropriate linters

Build Automation (Makefile):
- build, test, test-coverage with 100% enforcement
- lint, fmt, vet, security targets
- deps-download, deps-verify, deps-tidy, deps-check
- validate (full CI/CD locally)
- bench (performance benchmarks)
- check-modularity, check-circular
- Color-coded output for better UX

Git Optimization (.gitattributes):
- LF normalization for cross-platform consistency
- Binary file handling
- Diff settings for Go files
- Merge strategies
- Export-ignore for archives

Git Hooks (.git-hooks/):
- pre-commit: format, tests, vet, secret detection, go.mod tidy
- commit-msg: message format validation
- README with installation instructions
- install-git-hooks.sh script for easy setup

Documentation (docs/planning/05_CI_CD_SETUP.md):
- Complete pipeline architecture diagram
- Local development workflow
- GitHub Actions job descriptions
- Performance optimizations (caching, parallel execution)
- Failure handling and debugging
- Branch protection rules
- Deployment process
- Best practices and troubleshooting

Performance Targets:
- Pipeline duration: < 15 minutes
- Test coverage: 100% (enforced, non-negotiable)
- Parser latency: < 5ms
- Arbitrage detection: < 10ms
- End-to-end: < 50ms

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 14:40:08 +01:00
..

Git Hooks for MEV Bot V2

This directory contains Git hooks to ensure code quality and consistency.

Installation

Run these commands from the repository root:

# Make hooks executable
chmod +x .git-hooks/*

# Install pre-commit hook
ln -sf ../../.git-hooks/pre-commit .git/hooks/pre-commit

# Install commit-msg hook
ln -sf ../../.git-hooks/commit-msg .git/hooks/commit-msg

Or use the provided installation script:

./scripts/install-git-hooks.sh

Available Hooks

pre-commit

Runs before each commit and performs:

  1. Branch Name Validation - Ensures correct naming convention
  2. Merge Conflict Detection - Prevents committing conflict markers
  3. Secret Detection - Scans for passwords, API keys, tokens
  4. Dependency Management - Auto-tidies go.mod and go.sum
  5. Code Formatting - Auto-formats Go code with gofmt
  6. Quick Tests - Runs tests on changed packages
  7. Go Vet - Runs static analysis
  8. File Size Check - Warns about large files

commit-msg

Validates commit message format:

Required Format:

type(scope): description

Optional body explaining the change

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>

Valid Types:

  • feat - New feature
  • fix - Bug fix
  • perf - Performance improvement
  • refactor - Code refactoring
  • test - Tests
  • docs - Documentation
  • build - Build system
  • ci - CI/CD

Example:

feat(parsers): add UniswapV2 parser with event validation

- Implements ParseLog() for Swap events
- Adds token extraction from pool cache
- Includes comprehensive validation rules
- Achieves 100% test coverage

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>

Bypassing Hooks (Emergency Only)

If you absolutely must bypass hooks:

git commit --no-verify -m "emergency fix"

⚠️ Warning: Only use in emergencies. CI/CD will still enforce all checks.

Troubleshooting

Hook not executing

  1. Check if hook is executable:

    ls -l .git/hooks/pre-commit
    
  2. If not, make it executable:

    chmod +x .git/hooks/pre-commit
    

Hook failing unexpectedly

  1. Run the hook manually to see errors:

    .git/hooks/pre-commit
    
  2. Check that all required tools are installed:

    which gofmt
    which go
    

Disabling hooks temporarily

# Disable all hooks
git config core.hooksPath /dev/null

# Re-enable hooks
git config --unset core.hooksPath

Best Practices

  1. Never bypass hooks unless absolutely necessary
  2. Fix issues instead of bypassing
  3. Keep hooks fast - they run on every commit
  4. Test hooks locally before committing to shared repository
  5. Document any new hooks added to this directory

Performance

Hooks are designed to be fast:

  • Pre-commit: Typically < 5 seconds
  • Commit-msg: < 1 second

If hooks are slow, consider:

  1. Only testing changed packages (already implemented)
  2. Using --short flag for tests (already implemented)
  3. Running full tests in CI/CD instead

Maintenance

Review and update hooks periodically:

  1. Add new checks as project evolves
  2. Remove obsolete checks
  3. Optimize performance
  4. Keep documentation up to date